Ретро Бит - Seva Soth. Страница 58


О книге
вызвался воспылавший энтузиазмом Ким.

— Нет, не надо, мистер Конг нам одолжит свой предохранитель.

И правда, зачем мотаться в Радиорубку и еще раз сталкиваться с неприятным Стивом, когда у нас здесь и сейчас огромная толпа добровольных доноров. Достав сгоревшую деталь, отыскал аналогичную по номиналу в корпусе Донки Конга. Все равно у бедолаги гориллы плата разломана и как ее чинить — я не знаю.

Еще десять минут возни и попытка номер два. По крайней мере, зеленый огонек на верхней грани кирпича БП сообщил, что питалово появилось. Я щелкнул ручкой включения ТВ и нажал на совсем неинтуитивно расположенную кнопку запуска компьютера — внизу сзади на корпусе-клавиатуре. Пришлось ее немного поискать.

Экран телевизора расцвёл помехами и почернел, возникла надпись:

MEMORY SIZE?

В каком смысле — размер памяти? Да макаронный монстр его знает, сколько там? Мне что, корпус вскрывать? Или перебором? Что за угадайка? А девичью фамилию матери Криса им не назвать? Я ее помню, Гарсия.

Ввел «4KB», ответом стало

?SN ERROR

А если в байтах: 4096?

RADIO SHACK LEVEL II BASIC

READY

ДА! ДА! ДА! Я сделал это! Рядом восхищенно ахнул Ким.

Я супергерой, и у меня есть супер-рука,

Этой рукой я ломаю почту и пароли VK,

Удаляю ссылки из сети, да кстати,

Я обладаю суперпрокачанным навыком телепатии!

И как мне с этим жить? Начал с простого.

PRINT «HELLO WORLD»

И допотопный бейкик поздоровался с миром, как я и просил. Восхищенный астматический вздох Кима, больше напоминающий всхлип, стал мне наградой.

— Дружище, ты приносишь мне удачу! — хлопнул помощника по плечу. — Давай запилим игру!

Вероятно, слишком самонадеянно вот так вот сесть за древний слабый компьютер и сразу нырнуть с головой в разработку. Но на что я вообще тогда собираюсь рассчитывать, если не смогу вот так просто взять и войти в Мордор? То есть в геймдев.

По-хорошему, сначала следовало разобраться с блоком расширения и магнитофоном, чтобы иметь возможность сохранить код. Но тут бы мануалы сначала почитать. Только сам Император и Бог-машина знают, какие сложности возникнут с их подключением. А нужный код у меня уже в голове!

Когда-то в далеком будущем, являясь простым российским школьником, я впервые сел за учебный советский ЭВМ «Корвет» на отечественном клоне процессора Интел 8080. И после первых нескольких уроков с PRINT «ПРИВЕТ МИР» учитель информатики дал нам задание написать простую игру. Не всем, безусловно, а талантливым ребятам, загоревшимся интересом к компьютерам. Таким, как я или во все глаза пялящийся на священнодействие Ким.

На создание и отладку кода на бейсике для простейшей игрушки у меня тогда ушла, наверное, неделя. Никакой графики, сплошь текстовые элементы. Я в тот раз написал давно уже всему миру известную змейку, ту самую игру с телефонов Нокия, на тот момент еще не начавших покорять мир. Никакой графики, сплошь текстовые элементы: хвост змеи из букв «o», звездочка, изображающая яблоко. Стирание кончика хвоста, печатью поверх него пробела. Термин ASCII я узнал намного позднее.

Примитивный математический просчет коллизий. Неделю провозившись с кодом, будучи зеленым школьником, я запомнил его наизусть навсегда. ПЕРВАЯ ИГРА, написанная мной самостоятельно! Учитель только идею и подсказал, до остального я сам допёр, благо мне, как отличнику, разрешили зависать в компьютерном классе после уроков.

Меньше трехсот строк листинга. Я их помню намного лучше, чем отрывки из «Евгения Онегина» или «Бородино», какие требовалось зубрить на литературе. То есть их тоже любой образованный человек процитировать способен, но фрагментарно, а тут я сел и воспроизвел. Руки-то помнят!

Глядя, как мои пальцы мелькают над клавиатурой, Ким наверняка рисковал превратиться в персонажа из аниме за счет безумно расширившихся глаз. Палюсь со страшной силой, но я не могу иначе. Разработка и игры — моя страсть. Наглядно видеть, как твой код оживает на экране — эйфория лучше, чем секс. Хотя против последнего я тоже ничего не имею.

Поехали!

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-м сей подход устарел! Но в отечественных Корветах мы тоже нумеровали строки и потому шоком для меня диалект Бейсика из каменного века не стал. Мне стоит подумать про транспайлер — программу, что возьмет нормальный код на продвинутом современном диалекте Бейсика и превратит в оформленный по стандартам эпохи мезозоя. Несложно будет автоматически нумера строк проставить. Или вообще Ктулху в щупальца этот бейсик, начать транслировать код из Питона? Можно, но как-то пока незачем.

И не стоит ли мне идею транспайлера запатентовать? И подсветку тоже! И вообще кучу идей! Как-то патентный троллинг грязная штука, но способен принести кучу денег, какие я потом пущу на добрые дела. Например, на развитие опенсорса. Разрешу свободное использование

Перейти на страницу: