Электронная библиотека

Хакер


Хакер

Компьютерные игры без компьютеров

Xakep, номер #007, стр. 007-070-3


Синусоидальный руль

Попробуй решить такую задачу: перед тобой калькулятор, в процессе вычислений реагирующий только на нажатие кнопки "С/С" и непрерывно выводящий всю прогоняемую через него информацию на дисплей (выглядит это как жуткое мелькание цифр). Тебе нужно создать для этого калькулятора игру, идущую в режиме реального времени. Есть какие-нибудь соображения?

Ладно, даю подсказку. Калькулятор может вести вычисления угловых величин в градусах, радианах или градах (это когда прямой угол равен 100 градусам; говорят, придумано специально для армейских старшин, чтобы с точкой кипения воды не путали), причем переключать с одного режима на другой можно прямо в процессе вычислений. Усек идею? Молодец! А для тех, кто в танке, растолкую подробно.

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

А как быть с выводом информации? Тоже просто. Нужно повторить вывод соответствующих цифр на дисплей не менее трех раз (то есть вставить в программу три пустых оператора), тогда человеческий глаз успевает рассмотреть их. В классических аркадах, скажем, в гонках с препятствиями, выводилась комбинация нулей, единиц и двоек. Нули обозначали свободную дорогу, единицы ямы и камни, а двойки - машины соперников, и нужно было описанным способом между ними лавировать.

В более сложных аркадах, типа управления парусной яхтой, выводилась ее скорость (два знака), курс (еще два знака), скорость ветра (два знака) и его направление (последние два знака). И вот за считанные секунды нужно было считать восьмизначное число, сообразить, какие его цифры что означают, и дать нужную команду. Пожалуй, эти калькуляторные аркады были посложнее современных.

Единство и борьба противоположностей

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

Надо сказать, администрация Клуба прекрасно ориентировалась в требованиях текущего момента, поэтому такую классово чуждую игру выпустить не могла, пришлось подвергнуть ее значительным доработкам. На дворе стоял уже 1986-й год, стране было велено повернуться лицом к сельскому хозяйству, поэтому игра называлась "Урожай". Моделировалось в ней управление колхозом, причем довольно точно, с засухами, нашествием грызунов, расхитителями социалистической собственности и всем прочим. А еще через год, когда наши правители озаботились кооперативной деятельностью, эта же игра была преобразована в "Кооперативное кафе" (вот она, предшественница мелкопрозовского "Пица Тайкуна"!).

Назад на стр. 007-070-2  Содержание  Вперед на стр. 007-070-4