Система управления текстовой игрой "Завалинка". Программирование с явным выделением состояний



(C) 2003 г. В.В.Веденеев, П.С.Соловьев

Санкт-Петербургский государственный институт точной механики и оптики (технический университет)

Отсюда можно скачать полный текст документации в формате pdf (265 кб)

Аннотация

Для алгоритмизации и программирования задач логического управления А.А.Шалыто была предложена SWITCH-технология, которая применительно к событийным программам была развита им совместно с Н.И.Туккелем. Подробно ознакомиться с этой технологией и с конкретными примерами ее использования можно на сайтах http://is.ifmo.ru и http://www.softcraft.ru.

Эта технология удобна для задач управления техническими объектами. В работе эта технология применяется для задачи управления текстовой игрой.

Разрабатывается игра "Завалинка", создаваемая в рамках системы IRC (Internet Relay Chat). Ранее аналогичная игра была реализована авторами без использования SWITCH-технологии (игра "Викторина", сервер irc.wom.ru:6667, канал #womend). Целью работы является централизация логики управления в программном коде и повышение его читаемости, а также создание документации, соответствующей проекту. При описании логики управления используется конечный автомат.

Для реализации выбран язык Perl, предназначенный для задач, связанных с обработкой текстов. Отметим, что в этом языке отсутствует аналог конструкции SWITCH, и поэтому конечный автомат реализован формально и изоморфно с помощью конструкций if - else.

Для обработки текстов в Perl используются регулярные выражения, реализованные также с помощью конечных автоматов. Программы на языке Perl работают в операционных системах Windows и Linux и, вообще говоря, платформонезависимы.

Рабочая версия игры размещена на сервере irc.wom.ru:6667, канал #zavalinka.

С авторами можно связаться по адресу: neximus@nm.ru, lanore@narod.ru