Игра "Морской бой"



© 2005 П.А. Петрошенко, Г.А. Корнеев, А.А. Шалыто

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Проектная документация
Applet (online)
Исходные тексты

Аннотация

Предлагаемая программная документация описывает пример использования объектно-ориентированного программирования с явным выделением состояний при разработке классического варианта игры "Морской бой". При этом не преследовалась цель выбора оптимального алгоритма игры Роботом.

Документация состоит из диаграммы классов, структурных схем классов, схем связей и графов переходов автоматов, которые строились на этапе проектирования программы и корректировались в процессе ее реализации.

Автоматы реализованы в виде методов классов, пять из них автоматные. Подробное документирование выполнено только для автоматных классов, а тексты программ приведены для всех классов и программы в целом.

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