Меньше трехсот строк листинга. Я их помню намного лучше, чем отрывки из «Евгения Онегина» или «Бородино», какие требовалось зубрить на литературе. То есть их тоже любой образованный человек процитировать способен, но фрагментарно, а тут я сел и воспроизвел. Руки-то помнят!
Глядя, как мои пальцы мелькают над клавиатурой, Ким наверняка рисковал превратиться в персонажа из аниме за счет безумно расширившихся глаз. Палюсь со страшной силой, но я не могу иначе. Разработка и игры — моя страсть. Наглядно видеть, как твой код оживает на экране — эйфория лучше, чем секс. Хотя против последнего я тоже ничего не имею.
Поехали!
10 CLS: RANDOM: DIM X(100), Y(100)
20 PRINT @ 20, «MEGA-SNAKE»;
…
260 PRINT @ 466, «GAME OVER! SCORE: »; TAILLENGTH × 10
270 GOTO 270
Готово! Набранный счет равен длине хвоста, умноженной на 10.
Ну, попробуем запустить? Как там это делалось? Работайте, молодые мозги! Думай, голова, я тебе шапку куплю! Шапка мне и в самом деле бы не помешала, учитывая, какой дубак иногда случается по утрам в солнечной Калифорнии. Вспомнил! RUN!
Ввел команду на исполнение кода и…
?SN ERROR IN 150
READY
Ошибка в 150 строке. Нашел! Вместо PRINT я набрал PRNT, самая банальная опечатка, пропущенная буква. Пальцы не поспели за мыслью. Подсветки синтаксиса ведь нет! Вот и не заметил сразу. Еще одна мегаполезная вещь, за какую все программисты мира сбросятся мне на памятник из бронзы, а то и чистого золота, когда реализую. На TRS-80, правда, не получится. Тут экран монохромный. Эх… с болью в сердце вспоминаю логотип с цветным надкушенным яблочком на коробках с крадеными компами. Знаю, что правильно поступил, не став связываться с криминалом, а то бы еще в соучастники угодил. Но как же мучительно больно от осознания уплывших перспектив!
— Всё хорошо. Если код запустился с первого раза и без ошибок, то возникает повод задуматься, что программист сделал не так, — пояснил я Киму. — Сейчас исправлю опечатку и… — ступор. А как мне ее исправить? На Корветах я просто подводил курсор к нужной части программы, стирал неправильное и печатал как надо. А тут, гадство, нет курсора! Не изобрели! Правильный ответ, как всегда, в RTFM, но мануалов и нет.
А что, если набрать всю строку целиком? Начиная с номера? Не заменит ли новый код неправильный? Вообще, стиль оформления кода, требующий обязательной нумерации строчек — дикий архаизм! Мне кажется, что даже в 1982-м сей подход устарел! Но в отечественных Корветах мы тоже нумеровали строки и потому шоком для меня диалект Бейсика из каменного века не стал. Мне стоит подумать про транспайлер — программу, что возьмет нормальный код на продвинутом современном диалекте Бейсика и превратит в оформленный по стандартам эпохи мезозоя. Несложно будет автоматически нумера строк проставить. Или вообще Ктулху в щупальца этот бейсик, начать транслировать код из Питона? Можно, но как-то пока незачем.