BBC BASIC 49 karakter ASCII
Filesize Tokenised 44 byte
I.n:F.i=0TOn:RECTANGLE0,0,1189>>i/2+.5,841>>i/2N.
Jauh lebih pendek dari sebelumnya! Saya selalu lupa tentang operator bitshift di BBC BASIC untuk windows karena mereka tidak tersedia di komputer lama saya saat itu.
BBC BASIC 63 karakter ASCII
File Tokenised berukuran 58 byte
Juru bahasa Dowload di 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.
Menggunakan pengindeksan nol, yang saya sukai. Jadi 0 menghasilkan kertas untuk A0, 1 menghasilkan A0 dibagi menjadi sepasang A1s, dll.
Kita perlu bergantian antara membagi dua koordinat X dan Y, tetapi melakukan hal itu dalam sebuah array akan membutuhkan biaya terlalu banyak byte. Sebagai gantinya saya menggunakan fakta bahwa BBC basic memiliki blok variabel integer statis A%..Z%
masing-masing 4 byte yang disimpan dalam memori yang berdekatan. Saya menyimpan nilai X dan Y di A%
dan C%
dan mengakses menggunakan pointer untuk %B
dimodifikasi oleh nilai d, yang bergantian antara 4
dan -4
.
Tidak disatukan
A%=841
C%=1189
d=4
INPUTn
FORi=0TOn
RECTANGLE0,0,C%,A%
d!^B%/=2
d=-d
NEXT
Keluaran
f[2]
seharusnyaA0
dengan garis horizontal membaginya? yaitu, bukankahf[2]
dalam kasus uji sebenarnyaf[3]
?