BBC BASIC 49 caractères ASCII
Taille de fichier Tokenized 44 octets
I.n:F.i=0TOn:RECTANGLE0,0,1189>>i/2+.5,841>>i/2N.
Beaucoup plus court qu'avant! J'oublie toujours les opérateurs de décalage de bits dans BBC BASIC pour Windows car ils n'étaient pas disponibles sur mon ancien ordinateur à l'époque.
BBC BASIC 63 caractères ASCII
Taille de fichier Tokenized 58 octets
Interprète de téléchargement sur 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.
Utilise l'indexation zéro, ce que je préfère. Ainsi, 0 sort le papier pour A0, 1 sorties A0 divisé en une paire de A1, etc.
Il est nécessaire d'alterner entre diviser par deux les coordonnées X et Y, mais cela dans un tableau aurait coûté trop d'octets. Au lieu de cela, j'utilise le fait que BBC basic a un bloc de variables entières statiques A%..Z%
de 4 octets chacune stockées dans la mémoire contiguë. Je stocke les valeurs X et Y dans A%
et C%
et j'accède en utilisant le pointeur à %B
modifié par la valeur de d, qui alterne entre 4
et -4
.
Non golfé
A%=841
C%=1189
d=4
INPUTn
FORi=0TOn
RECTANGLE0,0,C%,A%
d!^B%/=2
d=-d
NEXT
Production
f[2]
être unA0
avec une ligne horizontale qui le divise? c'est-à-dire, n'est-ce pas le casf[2]
dans le testf[3]
?