BBC BASIC 49 символов ASCII
Токенизированный размер файла 44 байта
I.n:F.i=0TOn:RECTANGLE0,0,1189>>i/2+.5,841>>i/2N.
Гораздо короче чем раньше! Я всегда забываю об операциях битового сдвига в BBC BASIC для окон, поскольку они не были доступны на моем старом компьютере в те времена.
BBC BASIC 63 символов ASCII
Токенизированный размер файла 58 байт
Скачать переводчик на 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.
Использует нулевую индексацию, которую я предпочитаю. Таким образом, 0 выводит бумагу для А0, 1 выводит А0, разделенную на пару А1 и т. Д.
Необходимо чередовать деление пополам координат X и Y, но выполнение этого в массиве будет стоить слишком много байтов. Вместо этого я использую тот факт, что BBC basic имеет блок статических целочисленных переменных A%..Z%
по 4 байта, каждая из которых хранится в непрерывной памяти. Я сохраняю значения X и Y в A%
и C%
и получаю доступ, используя указатель на %B
измененное значение d, которое чередуется между 4
и -4
.
Ungolfed
A%=841
C%=1189
d=4
INPUTn
FORi=0TOn
RECTANGLE0,0,C%,A%
d!^B%/=2
d=-d
NEXT
Выход
f[2]
бытьA0
с горизонтальной линией, разделяющей его? то есть, неf[2]
в тестовом случае на самом делеf[3]
?