Construa um programa ou função que receba entrada na forma de
<width>, <height>, <color1>, <color2>
e gera uma saída tal que a primeira linha alterna entre pixels de cor <color1>
e <color2>
com um período de <height>
. Para cada linha a seguir, o período será <height> - <row number>
. Observe que <color1>
sempre começa a linha.
Saída de amostra
Entrada 120, 6, #000000, #FFFF00
:
Entrada 80, 50, #000000, #FFFF00
:
(A saída da amostra foi dimensionada para maior clareza)
Isso é código-golfe , então a menor entrada válida em bytes vence.
code-golf
graphical-output
image-processing
caird coinheringaahing
fonte
fonte
Respostas:
JavaScript (ES6), 177 bytes
Produz uma imagem SVG compatível com HTML5.
fonte
Excel VBA, 129 bytes
Função de janela imediata VBE anônima que leva a entrada do intervalo
[A1:D1]
e as saídas para o intervalo[A2].Resize([B1],[A1])
Resultado
Saída para entrada
160, 90, 0xBDD7EE, 0xDDEBF7
:fonte
Tcl / Tk, 143
147150151Retorna a imagem que pode ser testada, colocando-a em um
canvas
widget, escrevendo em um arquivo, pode estar na área de transferência, etc.Código para teste
fonte
Mathematica, 52 bytes
Entrada de amostra:
fonte
C (gcc) ,
155143 bytesImprime um PixMap portátil (.ppm) em stdout.
Experimente online!
Resultado
80, 50, #ad00df, #f17e18
(Imagem convertida e redimensionada.)
fonte
~0
vez de-1
?1
s,~0
seria mais portátil que-1
.MATL ,
343229 bytes-3 bytes graças a Luis Mendo
Experimente no MATL Online
fonte
Java 8, 321 + 42 = 363 bytes
Saídas para um arquivo PNG chamado
a
(sem extensão).Código circundante usado para executar o lambda: Experimente online!
Ungolfed
Resultado
Entradas:
80, 50, 0xFF00FF, 0xFFFF00
.fonte
SOGL V0.12 , 83 bytes
Experimente aqui!
O SOGL foi criado no Processing. Então, aproveitei esse uso
→
- execute como JavaScript. Poderia facilmente ter muitos bytes a menos (pelo menos 30) se o SOGL tivesse feito alguma coisa para gráficos.Strings não compactadas:
Explicação:
fonte
SmileBASIC, 84 bytes
A cor de um pixel em
(x,height-y)
é[color1,color2][x/y & 1]
fonte
Python 2 ,
123101 bytesExperimente online!
Imprime um .ppm para saída como na resposta de Jonathan .
fonte
'%d '*3%
é mais curto que'%d %d %d'%
.JavaScript (ES6) + HTML5, 138 bytes
A função é emitida operando no
<canvas id=c>
.A partir do canto inferior direito da tela, o
for
loop aninhado itera para a esquerda e para cima e verifica a condiçãox/(h-y)%2<1
do pixel emx,y
. Se a condição fortrue
, ela colorirá esse pixel comcolor1
, caso contráriocolor2
.fonte