SoftCraft
разноликое программирование

Отправная точка
Программирование
Windows API
Автоматы
Нейроинформатика
Парадигмы
Параллелизм
Проектирование
Теория
Техника кодирования
Трансляторы
Прочие вопросы

Разное

Беллетристика
Брюзжалки
Цели и задачи
Об авторе


Компьютерная игра "Космонавт"

Статья опубликована в журнале "Компьютерные инструменты в образовании". 2004. № 4, с. 75-84.

© 2004 г.А. В. Беляев, Д. И. Суясов, А. А. Шалыто

Отсюда можно скачать текст статьи в формате pdf (~243 кб)

Аннотация

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

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

Предложенный подход делает понятие "состояние" конструктивным, так как обычно состояния на указанные типы не разделяются, а под состояниями понимаются значения ячеек памяти, число которых огромно.

Предложенное решение весьма близко к подходу, развиваемому при построении гибридных динамических систем. В работе обоснован выбор основных вычислительных алгоритмов, использованных в игре. Программа написана на языке Java. Этот язык прост в использовании и изучении. Он полностью объектно-ориентированный и платформенно-независим.