SADT-Диаграмма к проекту «Морской бой»




Рис.1. Общая диаграмма

 

На рис.1 изображена контекстная диаграмма проекта «Морской бой». Если рассматривать данный проект, как целостную систему, то можно указать внешние компоненты, обеспечивающие его функционирование.

К таковым относятся:

1. Координаты – клетка, выбранная непосредственно реальным игроком.

2. Координаты «кораблей» - расположение «кораблей» на игровом поле, выбранное реальным игроком.

3. Псевдоним – идентификатор игрока, позволяющий вести статистику.

Результатом работы системы является указание победителя и создание статистической записи.

Участниками процесса являются виртуальный и реальный игроки, причём действия последнего контролируются определенными ограничениями, продиктованными правилами игры.

Рис.2. Подсистемы

На рис.2 показаны подсистемы разрабатываемого проекта. Наличие каждой из указанных подсистем обязательно для функционирования программы. Каждая подсистема выполняет конкретную функцию:

1. Заполнить игровое поле – сформировать массив координат для каждого игрока в соответствии с их указаниями и правилами игры, а также автоматически задать координаты при участии в игре виртуального игрока.

2. Сделать ход – определить очередность ходов и по принятым координатам выполнить определённые изменения массива координат игрока и противника, передав эти изменения на запись.

3. Записать результат и передать управление – определить последствия хода, записать изменения и указать, чьим будет следующий ход. Также данная подсистема определяет конец партии и передаёт результаты в статистику.

4. Выбрать координаты – автоматическая генерация координат для «выстрела» виртуального игрока и проверка правильности координат, заданных реальным игроком.

5. Заполнить форму статистики – сформировать запись об игроке с указанием длительности и результатов партии.

Рис.3. Заполнение поля

На рис.3 показана схема заполнения игрового поля «кораблями». Она включает в себя следующие блоки:

Автоматическое создание массива координат – генерация координат «кораблей» для виртуального игрока, которая производится на основе алгоритма с элементами случайного выбора, благодаря чему размещения почти не повторяются.

Проверка координат – проверка координат, заданных реальным игроком, на соответствия правилам игры. Этот блок не даёт игроку выходить за границы игрового поля, ставить «корабли» вплотную друг к другу и начинать партию с неполным набором «кораблей».

Заполнение массива координат – создание массива координат для каждого игрока с выделением пустых клеток и «зоны отчуждения» вокруг «кораблей». В дальнейшем на основе сравнения этого массива с ходами игрока определяются результаты партии.

 

 

Рис.4. Ход игрока

На рис.4. изображена схема определения координат следующего хода. В неё входят три функциональных блока:

1. Первым делом определяется игрок, которому принадлежит следующий ход. Каждому игроку соответствует идентификатор, который передаётся в метод проверки координат.

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

3. Определение результата хода – по сути своей и есть сам ход, в который входит выбор клетки и определение её типа (пуста/занята), а также типа корабля (ранен/убит), если клетка занята.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: