Sadt-диаграмма к проекту «морской бой»

Sadt-диаграмма к проекту «морской бой»

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

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

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

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

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

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

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

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

Sadt-диаграмма к проекту «морской бой»

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

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

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

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

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

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

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

Sadt-диаграмма к проекту «морской бой»

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

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

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

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

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

Sadt-диаграмма к проекту «морской бой»

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

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

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

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

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

Сквозной пример в Process Modeler Часть3 DFD


Похожие статьи.

Понравилась статья? Поделиться с друзьями: