В статье «Играем в «ZOO» (см. «М-К» № 5 за 1990 г.) вы познакомились с интересной компьютерной игрой. События в ней разворачиваются в трех лабиринтах, которые программа «ZOO» называет этажами. Еще шесть лабиринтов (этажей) закодированы в таблице 1. Продолжить увлекательное соревнование с компьютером поможет программа для самостоятельного построения этажей.
Введите коды таблицы 2 в ОЗУ компьютера, запишите их на магнитофон и запустите с адреса 8000Н. Теперь у вас есть инструмент, при помощи которого можно составлять бесконечное разнообразие лабиринтов-этажей.
Нажмите клавишу (помощь), и на экране появится краткое описание команд, которыми предстоит пользоваться. Возникает оно и всякий раз при запуске программы.
Что же представляет собой программа-«строитель»? Работает она совместно с программой «ZOO», хотя запустить компьютер можно и без последней. Как уже было сказано, после запуска на экране появляется описание команд. Прочитав его, нажмите клавишу <ВК>, и вы увидите первый этаж «зоопарка». В левом верхнем углу расположится курсор, внизу справа — надпись «АДРЕС: ХХХХ» (ХХХХ — шестнадцатеричное число, обозначающее адрес ОЗУ, где заканчивается область размещения данного этажа), и, наконец, внизу слева — слово «КОМАНДА»: приглашающее к началу «строительства». Можете смело приступать к работе, причем не бойтесь ошибочных действий. Если ваша команда испортит лабиринт, хранящийся в ОЗУ компьютера, на экране появится запрос «СОХРАНИТЬ ЭТАЖ (Д/Н)?». И только когда вы нажмете клавишу <Д>, этаж с экрана будет переписан в память компьютера. При нажатии любой другой клавиши в ОЗУ ничего не изменится. Например, вы поупражнялись в управлении курсором и рисовании различных элементов этажей и вовсе не собираетесь сохранять в программе «ZOO» то, что получилось на экране, а хотите выйти в Монитор. Нажмите клавишу <М> и увидите запрос «СОХРАНИТЬ ЭТАЖ (Д/Н)?», то есть компьютер спрашивает, записать ли в ОЗУ то, что сейчас изображено на экране на место прежнего этажа, или нет? Нажимаете любую клавишу и выходите в Монитор, а в ОЗУ ничего не меняется. Если же внесенные в этаж изменения вы захотите сохранить, нажмите <Д>, и картинка с экрана будет переписана в программу «ZOO». Только после этого вы выйдете в Монитор.
Таблица 1
Следующая команда «Э» (этаж). С ее помощью можно выбирать лабиринт для редактирования. После нажатия клавиши <Э> появляется запрос, сохранить ли текущий этаж, и после ответа возникает запрос «НОМЕР ЭТАЖА». Наберите на клавиатуре десятичный номер (при этом можно пользоваться «забоем») и нажмите <ВК>. На экран будет выведен этаж с указанным порядковым номером.
Сменить этаж можно и другим способом. Нажимают на клавишу <Д> (дальше, и на экран выводится этаж с номером, на 1 больше текущего. При такой смене также появляется запрос «СОХРАНИТЬ ЭТАЖ (Д/Н)?».
По команде «З» (записать) картинка с экрана переписывается в специальный буфер с номером 0. Данная команда нужна, если хотят сохранить промежуточный результат редактирования, например, чтобы выбрать лучший из двух вариантов этажа.
Вызвать на экран вариант из буфера можно командой «В» (вызвать). Кстати о буферах. Их в программе два: нулевой, в который записывается информация по команде «З» или «С» (о ней речь позже), и первый — для сохранения этажа при выполнении команды «П». Следовательно, в процессе «строительства» этажа имеется возможность сохранить три его варианта — первоначальный и два в буферах.
Высвечивают первоначальный вид этажа командой «С» (старый). Учтите, что этаж с экрана будет переписан в нулевой буфер, о чем свидетельствует сообщение «ИСПОЛНЕНО. <ВК>».
Поясним теперь, что происходит по команде «Б» (буфер). Если вы сохранили в буфере какой-либо этаж, а затем перешли к этажу с другим номером, то признак записи в буфер обнуляется, и при попытке вызвать из него этаж на экране появляется мигающая надпись «БУФЕР ПУСТ». Однако при необходимости можно восстановить признак записи в буфер командой «Б», например, чтобы поменять местами два этажа.
И последнее — об адресе, который указывается внизу справа. Он соответствует адресу последнего байта в записи этажа, изображенного на экране. Если вы захотите добавить новый этаж, вам надо знать, где теперь заканчивается программа, чтобы записать ее на магнитофон после выхода в Монитор.
Программа редактора для «ZOO» рассчитана на ОЗУ 32 К. Для 48 К в ячейке 8002Н надо записать код 7FH. Отметим, что программа сама устанавливает русский регистр для ввода команд и латинский при выходе в Монитор, поэтому регистры переключать не нужно. На ошибочные команды программа отвечает двухтональным звуковым сигналом.
В. ЗВЕРКОВ