Skip to content

Latest commit

 

History

History
29 lines (24 loc) · 2.99 KB

4 analysis classes.md

File metadata and controls

29 lines (24 loc) · 2.99 KB

4. Классы на уровне анализа

Задание

Выделяю классы на уровне анализа (затем будут выбираться на уровне проектирования и реализации).

Результат

Источниками для классов стали: Техническое задание, Предыдущий опыт, Обсуждение с заказчиками и потенциальными пользователями Для Storage так же Литература по ОО-проектированию.

  • Warrior - Воин основное действующие лицо игры, которое выполняет действия с окружающими объектами.
  • NPC - ИИ отыгрывающий противника.
  • Shop - Магазин - выполняет обмен из хранилища игры предметов, на заработанные игроком деньги.
  • Money - Деньги - требуются для экономики игры.
  • Outfit - Одежда и оружие - Позволяет увеличивать хар-ки игрока.
  • Owner - Собственник(оружия и одежды) - по сути тип поля у одежды и оружия, которое указывает на то владеет им магазин или конкретный игрок.
  • Timer - Таймер - Ведет учет времени проведенного и игре и при необходимости ее прерывает.
  • Battle - Битва - Передача информации об ударе и защите от каждого из игроков - Техническое задание, Предыдущий опыт, Обсуждение с заказчиками и потенциальными пользователями.
  • BattleResult - Итог боя - отчет.
  • PersonalRoom - Личный кабинет - отчет по конкретному игроку и возможность перехода в магазин и комнату одежды.
  • Storage - Хранилище состояний - Сохраняет информацию о результате боев, текущем бое, собственности и прошедшем времени таймера.
  • Logger - Для логирования работы программы.
  • ErrorHandler - Для обработки ошибок выбрасываемых из различных модулей.

P.S. То что убрал

  • Room - Место хранения(оружия и одежды) - может быть заменено собственником, т.к других комнат не предусматривается в данный момент.
    Почему: Убираю его, придерживаясь принципа YAGNI.

  • GUI - Вся обработка кликов в GUI.
    Почему: буду реализовывать через CLI.