«MK-61s»: ещё приложения

Может показаться, что я занялся другими проектами и совсем забыл про ретроконсоль «МК-61s». Это совершенно не так.

Моё молчание отчасти объясняется тем, что почти все токены я сейчас трачу на попытку сделать нормальную арифметику для «ПикоКалка» — хочется, чтобы сишный тип double вёл себя там, как в стандартном Си и при этом все операции с ним выполнялись быстро, а это непросто.

Тем не менее и другими вещами я тоже занимаюсь, в частности в коллекции «МК-61s» появились ещё три приложения, созданных с разными целями.

На экране калькулятора МК-61 отображаются ячейки таблицы с числовыми значениями, формулами и итоговой суммой.
Приложение для работы с таблицами на экране «ПикоКалка»

Первое — это приложение для работы с таблицами. Попытка ответить на вопрос: «А для чего я мог бы использовать эту ретроконсоль в реальной жизни?». Я участвую в проекте создания этой ретроконсоли для собственного развлечения, но иногда в команде возникает вопрос: а могло бы это пригодиться кому-то для чего-то полезного, помимо ностальгии?

На мой взгляд ответ получился удачным, на «ПикоКалке» приложением даже приятно пользоваться — из-за полноценной клавиатуры и большого экрана.

Формулы записываются в привычной для «МК-61» обратной польской записи. Например, чтобы перемножить количество из A2 и цену из B2, нужно ввести A2 В↑ B2 ×. На картинке два предмета по 125 дают 250. Меняешь количество или цену — зависимые ячейки пересчитываются. Формулу можно скопировать или протянуть вниз, относительные ссылки при этом сдвигаются.

Ссылку не обязательно набирать: можно выбрать нужную ячейку прямо в таблице. Есть и фиксация строки или столбца знаком доллара, как в больших электронных таблицах. Циклическая ссылка показывает ошибку, но не мешает считать независимые ячейки.

Экран консоли МК-61с с интерфейсом игры «Гонка»
Игра «Погоня», написанная с применением расширенных команд калькулятора

Следующая программа — игра «Погоня», написанная на языке калькулятора «МК-61» с расширенными командами.

Я давно хотел понять нельзя ли сделать на калькуляторе динамическую игру хоть с какой-то изометрией. Не скажу, что получилось очень здорово, но играть можно. Управление традиционное для калькулятора — переключение режимов «Г», «ГРД» и «Р».

На всю гонку даётся три жизни, проехать нужно двадцать участков. Машина может занимать пять положений. За столкновение со стеной или соперником отнимается жизнь, после удара есть короткая передышка, когда повторный урон не наносится.

Даже в динамике не очень очевидно, что происходит на экране, но ориентироваться помогает нижняя метка: она указывает свободный путь, к которому надо подрулить. Графика тут довольно условная, зато её мог бы осилить обычный сегментный экран «Электроники».

Экран консоли МК-61с с интерфейсом игры «Лодраннер»
Игра «Лодраннер», опять-таки написанная с применением расширенных команд калькулятора

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

У «МК-61s» есть скриптовый язык, который называется «M61», у него простой и относительно бедный синтаксис, но его плюс в том, что он как клей может скреплять между собой несколько разных программ. Логику опроса клавиатуры я вывел именно туда — ввёл новую конструкцию, запускающую указанные подпрограммы, при нажатии и отпускании клавиш. Эти подпрограммы меняют содержимое регистров калькулятора, таким образом сообщая программе что нажато на клавиатуре.

Смысл игры — собрать по три клада на каждом из трёх уровней. На первом мешает один враг, дальше их два. Они бегают сами, умеют пользоваться лестницами и вполне могут поймать, пока разглядываешь экран.

От преследователя можно уйти, прожигая пол слева или справа. Герой через такую дырку падает на этаж ниже, а враг застревает. Через четыре секунды пол восстанавливается, и пойманный враг возвращается к месту старта. Бесконечно дырявить всё вокруг нельзя: одновременно открыт только один прожиг, лестницы и нижний этаж защищены.

Комментарии 1