top of page

 Отрывок из книги "Давайте поиграем! Разные игры".

      Осенью 1989 года отец автора, преподаватель по радиоэлектронике в училище, принес домой списанный БЗ-34 (с датой изготовления, указанная на дне, – 08.1985) и книгу, тоже списанную, «Пять вечером с микрокалькулятором» (авторы Данилов И.Д., Славин Г.В., 1988). С этого момента автор (13 лет) увлекся калькулятором, который условно можно назвать ПМК (программируемый микрокалькулятор). Увлекся всерьез и, как оказалось, надолго. Позднее отец по настоятельной просьбе в 1992 году приобрел новый МК-52, а мать принесла с работы еще один списанный МК-56.

    Автор увлекался, как не трудно догадаться, в первую очередь играми (всякие сложные инженерные программы его вообще не интересовали), но в первую очередь даже не самими играми, и даже не составлением программ, а самым интересным – придумыванием новых идей, которые затем уже воплощались в виде игр на ПМК…

    Такие игры как «Посадка на Луну», «Гонки», «Кооперативное кафе», «Лунолет-Д», «Охота на скалеода», «Вечный календарь» и другие навсегда у автора запечатлелись в памяти на всю жизнь, а подшивки журнала «Техника-молодежи» с описанием игр до сих пор бережно хранит в своей библиотеке (весьма огромной, к слову).

    К концу 1990-х годов популярность ПМК пошла на явный спад, а после того как у автора сломались все три калькулятора, он их тоже отложил в сторону. Однако, в октябре 2013 года произошло первое эпохальное событие – для смартфонов на базе Android появился эмулятор этих калькуляторов. Удивительно, но эмулятор на смартфоне эмулируют прежние калькуляторы один к одному, то есть на все 100% (то есть даже не прописанные команды, такие как, например, появление «ЗГГОГ»), причем сразу в двух вариантах: «МК-54» (БЗ-34, МК-56) и «МК-61» (МК-52). Есть чему радоваться!

 

    …Разработчик эмулятора – Станислав Боруцкий (stanislavb@gmail.com); эмуляция реализована на основе проекта «emu145» Феликса Лазарева (http://code.google.com/p/emu145), который не поленился и с помощью мощного электронного микроскопа полностью выяснил архитектуру процессора ПМК; подробная история о проекте – http://zx-pk.ru/threads/15073-emulyator-(ne-simulyator)-mikrokalkulyatorov-rasshiryayushchegosya-ryada-b3-34-mk61.html).

Пользуясь случаем, обоим скажем: «Спасибо!»

 

       Итак, снова появилась возможность играть на этих калькуляторах, и, значит, снова появилась возможность разрабатывать программы на них. Здорово! Но возникает резонный вопрос: зачем нам эти игры сегодня, и тем более в этой книге? Дело в том, что ряд игр этой книги («Охота на лис», «Быки и коровы», «Чёт-нечёт», «Ледовое побоище» и другие) как раз реализованы на калькуляторах, а раз так, то и сегодня с помощью эмулятора можно снова в них сыграть. По этой причине в книге приведены и сами программы для этих игр. Сам автор получает огромное удовольствие, периодически играя на смартфоне. Пользуясь случаем, автор помимо приведенных игр решил привести и другие интересные игры на ПМК, в первую очередь свои разработки, стараясь не просто выложить программы, но заодно и показать, как они реализованы, так как комментарии весьма облегчают понимание принципов программирования, и вполне возможно, что кто-то из современной молодежи, прочитав комментарии, захочет и сам программировать!

    Заметим, что эмулятор под Андроид имеет два очень важных достоинства перед настоящим ПМК:

      – Возможность не только работы в реальном времени ПМК (весьма медленным, кстати), но и в «мгновенном». Автор для интереса проверил разницу по времени (организовал простой цикл через FL0), и, как оказалось, «мгновенная» скорость превышает скорость ПМК примерно в 14-15 раз. Это даже не хорошо, а просто замечательно! Ведь эта «мгновенная» работа позволяет резко сократить как время самой игры, так и откладку программ, что очень удобно (так, отладка одной экономической программы «Кауфстен» у автора занимала порою несколько часов, и это являлось когда-то главной проблемой по усовершенствованию программы).

      – Возможность сохранить в памяти смартфона до 100 программ, но при этом в отличие от ПМК сохраняются не только память программ (шаги), но и память данных (регистры), положение переключателя Р-ГРД-Г, вид ПМК (МК-54 или МК-61) и даже начальный шаг старта программы. Всё это весьма и весьма экономит время.

     Можно сделать даже печальный вывод, что после появления эмулятора интерес работы на настоящем ПМК пропал – слишком много на ПМК тратится времени как на загрузку программ, как на записи данных в регистры, так и на саму игру.

     30 мая 2016 года произошло второе эпохальное событие – программист Вадим Хохлов (г. Херсон, Украина) существенно улучшил эмулятор Станислава Боруцкого. Что за улучшения?

     1. Был устранен главный недостаток – теперь в эмуляторе появилась возможность сохранять программы в виде отдельных файлов (в формате «*.pmk») на внешнюю память (например, на флэшку) и тем самым появилась возможность передавать программы другим людям (через интернет). Согласимся, что это очень удобно.

       2. В эмуляторе появилась возможность импортировать не только саму программу, но и ее описание в формате «html», так что теперь не надо каждый раз держать при себе книгу или тетрадь с правилами.

   3. В эмуляторе появилось руководство пользователя с подробнейшим описанием языка программирования калькулятора. Что примечательно, там же есть и все недокументированные возможности ПМК (они подготовлены настоящим «асом» программирования Сергеем Анваровым; автор предполагает, что никто в мире лучше не знает все возможности ПМК, чем Сергей Анваров; подробнее об Анварове сказано в главе «Программа «Морской бой»; пользуясь случаем, заодно скажем Анварову: «Спасибо!»).

   4. В эмуляторе появилась возможность импорта текста программ. Например, теперь программы с сайта «http://lordbss.pp.ru/pmk.html» (самый полный сборник игровых программ) можно ввести, просто скопировав текст, а не в ручную вводя каждую команду.

     5. Наконец, появилась возможность выхода из режима эмуляции и просмотреть на текущий момент все регистры памяти и регистры стека, а после просмотра вернуться обратно в режим эмуляции.

    6. И много всяких «мелочей», такие как: копирование содержимого регистра Х в буфер обмена, возможность одновременного отображения на дисплее регистров Х и Y; и так далее.

Пользуясь случаем, автор выражает Вадиму огромное: "СПАСИБО!"

 

     …Страничка, на которой можно ознакомиться, как создавался эмулятор Вадима, следующая:

http://4pda.to/forum/index.php?showtopic=748847.

   

   Вадим Хохлов аккуратно собирает программы на ПМК на следующей страничке: https://github.com/xvadim/pmk61-programms.

     Оба эмулятора (Боруцкого и Хохлова) легко скачать на «Play Маркет» или на сайте https://chramov1.wixsite.com/rasnie-igri.

Затронув о ПМК, нельзя не отметить несколько сайтов, на которых можно найти множество самых интересных и разнообразных программ для этих калькуляторов. Например, следующие.

 

1. Сайт Кузниченко Е.В.: http://lordbss.pp.ru/pmk.html.

2. Сайт Сергея Тарасова: http://arbinada.com/pmk.

3. Сайт, на котором можно скачать эмуляторы для ПМК и номера журналов "Техника молодежи" и "Наука и жизнь".http://www.emulator3000.org/rus-c3.htm.

 

     Что еще сказать? Удивительно, но оказалось, что даже сегодня программирование на калькуляторах, у которых очень ограниченный объем памяти и отсутствует графический дисплей, весьма увлекателен. Но почему? Оказывается, малый объем программ, как ни странно, является большим плюсом в области программирования – человек, чтобы уложиться в малый объем, вынужден не просто программировать, а искать всё новые и новые способы по сокращению длины программы (а, значит, и время работы самой программы), и порою эти способы поражают своими нестандартными подходами! Вот эта особенность в калькуляторах, пожалуй, является даже самой интересной с точки зрения программирования. С другой стороны – малый объем программы является лучшей гарантией того, что игра не будет долгой и утомительной.

 

    ...У средневековых алхимиков была пословица: «Лишь при ограниченности ресурсов раскрывается настоящий талант». Эта пословица весьма точно подходит к разработчикам игр на ПМК!

 

     И здесь трудно не привести цитату из книги «Игры и развлечения. Книга 2» (составитель Л.М.Фирсова, 1990).

 

    …Нередко ограниченные возможности ПМК заставляют программистов идти на всяческие ухищрения, чтобы «втиснуть» выбранный алгоритм в более чем скромную память машины. Он должен в совершенстве владеть полным арсеналом не только стандартных, но и искусственных приемов, таких, как использование кодов команд в качестве адресов переходов, работа со «сверхчислами» (числа, порядок которых превышает 100), нештатное применение команд, связанных с образованием чисел (десятичная точка и ввод порядка), манипуляции пе­реключателем углов (градусы-грады-радианы) для ввода информации с пульта во время работы по программе, использование операторов цикла вместо команд сравнения и так далее. Разумеется, он еще и обязан преобразовывать алгоритм к максимально лако­ничному виду. Такая работа дает большое удовлетворение, а ее результат повергает в изумление тех, кто презрительно относится к «игрушечному компьютеру».

 

     Современное молодое поколение XXI века, рожденное при интернете и ноутбуках, всё сказанное посчитает скорее чудачеством, чем серьезным увлечением, но поколению 1980-х годов это есть факт. К сожалению, поколению XXI века увлечение программированием на этих калькуляторах, судя по всему, уже не понять (автор настоящей книги в этом убедился на своих племянниках). А жаль. Если подытожить, то можно сделать такой вывод:

 

    …Те, кому посчастливилось программировать на этих калькуляторах, полюбили их на всю жизнь и не забудут уже никогда. Те же, кому не посчастливилось, уже не полюбят их (за редчайшим исключением).

 

     Автор попытался привести в этой книге не просто игры, а показать максимальное разнообразие игр на ПМК:

- динамические (то есть игры в режиме реального времени: «Учебный полет», «Тренировка памяти»);

- с видеоизображением («Охота на медведя»);

- игры на одном ПМК для двух человек («Танковая баталия», «Ледовое побоище», «Ночной бой»);

- логические («Быки и коровы», «Охота на лис», «Калах», «Ним с одной кучей»);

- вероятностные («Свинья»);

- и так далее.

 

     Большинство игр печатается впервые – это тоже важно. Все предложенные ниже программы можно скачать на сайтах автора http://davaite-poigraem.1c-umi.ru, https://chramov1.wixsite.com/rasnie-igri или же на:

- http://4pda.to/forum/index.php?showtopic=748847;

- https://xvadim.github.io/xbasoft/pmk/pmk.html#links.

 

     
   





 

bottom of page