BBC BASIC 49 caracteres ASCII
Tamanho do arquivo tokenizado 44 bytes
I.n:F.i=0TOn:RECTANGLE0,0,1189>>i/2+.5,841>>i/2N.
Muito mais curto do que antes! Eu sempre esqueço os operadores de deslocamento de bits do BBC BASIC para Windows, pois eles não estavam disponíveis no meu computador antigo naquela época.
BBC BASIC 63 caracteres ASCII
Tamanho do arquivo tokenizado 58 bytes
Intérprete Dowload em http://www.bbcbasic.co.uk/bbcwin/download.html
A%=841C%=1189d=4I.n:F.i=0TOn:RECTANGLE0,0,C%,A%:d!^B%/=2d=-d:N.
Usa indexação zero, o que eu prefiro. Assim, 0 gera o papel para A0, 1 gera A0 dividido em um par de A1s, etc.
É necessário alternar entre as coordenadas X e Y pela metade, mas fazer isso em uma matriz custaria muitos bytes. Em vez disso, uso o fato de que o BBC basic possui um bloco de variáveis inteiras estáticas A%..Z%
de 4 bytes, cada um armazenado na memória contígua. I armazenar os valores de X e Y em A%
e C%
e de acesso utilizando o ponteiro para %B
modificado pelo valor de d, o qual alterna entre 4
e -4
.
Ungolfed
A%=841
C%=1189
d=4
INPUTn
FORi=0TOn
RECTANGLE0,0,C%,A%
d!^B%/=2
d=-d
NEXT
Resultado
f[2]
ser umA0
com uma linha horizontal dividindo-o? ou seja, não estáf[2]
realmente no caso de testef[3]
?