Skip to content

Ф08 представлять механику в виде структуры

nergal-perm edited this page Mar 21, 2021 · 1 revision

Описание

Эта функциональность вряд ли будет описана с помощью OBA (Object Behavior Analysis), т.к. в ходе нее не происходит взаимодействия клиентов с движком, она лишь обеспечивает возможность хранить и использовать информацию о механике игры одинаковым образом для всех игр на основе движка. То есть, по сути эта функциональность заключается в поддержке особого формата описания / хранения в памяти информации о структуре игры.

Требования

ID Название Изменения и комментарии
Т01 Игроки могут предпринимать действия, специфичные для каждой игры Перенести в Ф о Действиях?
Т02 Действия могут изменять, а могут и не изменять состояние игры Перенести в Ф о Действиях?
Т03 Механизм обработки действий должен быть единым Перенести в Ф о Действиях?
Т04 Ход игрока должен состоять из одного или нескольких последовательных действий
Т05 Игра может продолжаться фиксированное (заранее заданное) количество ходов
Т06 Игроки должны делать свои ходы по очереди Скорее процесс игры
Т07 Структура игры должна рассчитывать очередность хода игроков Скорее процесс игры
Т08 Ход игрока может включать действия и других игроков
Т09 Игра может продолжаться до победы одного из игроков Скорее процесс игры

Варианты использования (скрипты)

Ф08-С01 Создание простой походовой игры

  • Предусловия: не создана (структура игры)
  • Постусловия: заполнена (структура игры)
Инициатор Действие Участник Услуга Требования
Автор Предоставляет список доступных действий Структура сохранить список действий Т04
Автор Предоставляет список ходов Структура сохранить список ходов, связать с действиями Т04, Т08
Автор Сообщает тип организации ходов Структура сохранить тип организации ходов Т05

Тестовые сценарии

Открытые вопросы:

  • Есть ли у Структуры игры какое-то состояние, позволяющие понять, что она полностью заполнена и валидна? Каковы правила проверки структуры на полноту и корректность?
  • Вообще непонятно, каким образом проверить итоговую Структуру. Вроде бы можно заполнить ее какими-то примитивными действиями и "запустить" игру. Залогировать выполнение каждого действия и таким образом понять, в правильной ли последовательности они пройдены? Но для того, чтобы "прогнать" тестовые действия, нужно связать структуру с игроками и организовать какую-то инфраструктуру для игры.
Clone this wiki locally