Создайте программу или функцию, которая принимает данные в форме
<width>, <height>, <color1>, <color2>
и генерирует вывод так, что первая строка чередуется между пикселями цвета <color1>
и <color2>
с периодом <height>
. Для каждой последующей строки период должен быть <height> - <row number>
. Обратите внимание, что <color1>
всегда начинается строка.
Пример вывода
Вход 120, 6, #000000, #FFFF00
:
Вход 80, 50, #000000, #FFFF00
:
(Пример вывода был масштабирован для ясности)
Это код-гольф , поэтому выигрывает самая короткая действительная запись в байтах.
Ответы:
JavaScript (ES6), 177 байт
Выводит HTML5-совместимое изображение SVG.
источник
Excel VBA, 129 байт
Функция анонимного непосредственного окна VBE, которая принимает входной сигнал из диапазона
[A1:D1]
и выводит его в диапазон[A2].Resize([B1],[A1])
Вывод
Выход для ввода
160, 90, 0xBDD7EE, 0xDDEBF7
:источник
Tcl / Tk, 143
147150151Возвращает изображение, которое можно протестировать, поместив его в
canvas
виджет, записав в файл, может быть в буфер обмена и т. Д.Код для тестирования
источник
Mathematica, 52 байта
Пример ввода:
источник
C (gcc) ,
155143 байтаПечатает портативный PixMap (.ppm) в стандартный вывод.
Попробуйте онлайн!
Вывод
80, 50, #ad00df, #f17e18
(Изображение преобразовано и изменено в размере.)
источник
~0
вместо-1
?1
s,~0
она будет более переносимой, чем-1
.MATL ,
343229 байт-3 байта благодаря Луису Мендо
Попробуйте это на MATL Online
источник
Java 8, 321 + 42 = 363 байта
Вывод в файл PNG с именем
a
(без расширения).Окружающий код, используемый для запуска лямбды: попробуйте онлайн!
Ungolfed
Результат
Входы:
80, 50, 0xFF00FF, 0xFFFF00
.источник
SOGL V0.12 , 83 байта
Попробуй здесь!
SOGL был сделан в Processing .. Так что я воспользовался тем, что использовал
→
- execute as JavaScript. Может быть на много байт меньше (не менее 30), если бы в SOGL было что-то для графики.Несжатые строки:
Объяснение:
источник
SmileBASIC, 84 байта
Цвет пиксела в
(x,height-y)
IS[color1,color2][x/y & 1]
источник
Python 2 ,
123101 байтПопробуйте онлайн!
Печатает .ppm для вывода, как в ответе Джонатана .
источник
'%d '*3%
короче чем'%d %d %d'%
.JavaScript (ES6) + HTML5, 138 байт
Функция выводится, работая на
<canvas id=c>
.Начиная с нижнего правого края холста, вложенный
for
цикл повторяется влево и вверх и проверяет условиеx/(h-y)%2<1
для пикселя в точкеx,y
. Если условие выполненоtrue
, он окрашивает этот пиксельcolor1
, иначеcolor2
.источник