Zbuduj program lub funkcję, która przyjmuje dane wejściowe w postaci
<width>, <height>, <color1>, <color2>
i generuje dane wyjściowe w taki sposób, że pierwszy wiersz zmienia się między pikselami koloru <color1>
i <color2>
okresem <height>
. Dla każdego następnego wiersza okres wynosi <height> - <row number>
. Zauważ, że <color1>
zawsze zaczyna się rząd.
Przykładowe dane wyjściowe
Wejście 120, 6, #000000, #FFFF00
:
Wejście 80, 50, #000000, #FFFF00
:
(Dane wyjściowe próbki zostały skalowane dla przejrzystości)
To jest golf golfowy , więc wygrywa najkrótszy prawidłowy wpis w bajtach.
code-golf
graphical-output
image-processing
Cairney Coheringaahing
źródło
źródło
Odpowiedzi:
JavaScript (ES6), 177 bajtów
Wysyła obraz SVG zgodny z HTML5.
źródło
Excel VBA, 129 bajtów
Anonimowa funkcja bezpośredniego okna VBE, która przenosi dane wejściowe z zakresu
[A1:D1]
i wyjścia do zakresu[A2].Resize([B1],[A1])
Wynik
Dane wyjściowe dla danych wejściowych
160, 90, 0xBDD7EE, 0xDDEBF7
:źródło
Tcl / Tk, 143
147150151Zwraca obraz, który można przetestować, umieszczając go w
canvas
widżecie, zapisując w pliku, może znajdować się w schowku itp.Kod do testowania
źródło
Mathematica, 52 bajty
Przykładowe dane wejściowe:
źródło
C (gcc) ,
155143 bajtówDrukuje Portable PixMap (.ppm) na standardowe wyjście.
Wypróbuj online!
Wynik
80, 50, #ad00df, #f17e18
(Obraz przekonwertowany i zmieniony rozmiar.)
źródło
~0
zamiast-1
?1
s,~0
byłby bardziej przenośny niż-1
.MATL ,
343229 bajtów-3 bajty dzięki Luisowi Mendo
Wypróbuj w MATL Online
źródło
Java 8, 321 + 42 = 363 bajtów
Dane wyjściowe do pliku PNG o nazwie
a
(bez rozszerzenia).Otaczający kod używany do uruchomienia lambda: Wypróbuj online!
Nie golfił
Wynik
Wejścia:
80, 50, 0xFF00FF, 0xFFFF00
.źródło
SOGL V0.12 , 83 bajty
Wypróbuj tutaj!
SOGL powstał w przetwarzaniu. Więc skorzystałem z tego używając
→
- wykonaj jako JavaScript. Łatwo może być o wiele bajtów mniej (co najmniej 30), jeśli SOGL stworzył coś dla grafiki.Nieskompresowane ciągi:
Wyjaśnienie:
źródło
SmileBASIC, 84 bajtów
Kolor piksela w
(x,height-y)
to[color1,color2][x/y & 1]
źródło
Python 2 ,
123101 bajtówWypróbuj online!
Drukuje .ppm na wyjście, jak w odpowiedzi Jonathana .
źródło
'%d '*3%
jest krótszy niż'%d %d %d'%
.JavaScript (ES6) + HTML5, 138 bajtów
Funkcja jest uruchamiana za pomocą
<canvas id=c>
.Zaczynając od prawego dolnego rogu obszaru roboczego, zagnieżdżona
for
pętla wykonuje iterację w lewo iw górę i sprawdza stanx/(h-y)%2<1
piksela wx,y
. Jeśli jest to warunektrue
, koloruje ten piksel za pomocącolor1
, w przeciwnym raziecolor2
.źródło