CContextManager | |
CGameBuilderDirector | |
CGameContext | Контекст игры. Тут хранится состояние всего того, что происходит в лабиринте |
▼CIDrawable | Общий интерфейс для отрисовываемых сущностей и объектов |
CButton | |
CChooseButton | |
▼CIPreparable | |
▼CIEntity | IEntity любая сущность, которая может быть помощена в лабиринт |
▼CIDynamicEntity | Динамические сущности, наследник IEntity -> может выполнять какие-то действия |
CEnemy | Конкретный наследник Enemy - враг. Если пакман наткнется хотя бы на одного врага, то он умрет -> уровень провален |
▼CIStaticEntity | Статические сущности, наследник IEntity -> неперемещаемые объекты, с которыми будет взаимодействовать Пакман Чтобы скопировать статические сущности, применяем паттерн Prototype. Для этого создает возможность клонирования |
CFood | Наследник IStaticEntity - еда |
CSwamp | |
CPacman | |
▼CIRoomSide | |
CPass | проход, который знает о двух комнатах, которые он связывает |
CWall | стена, которая хранит в себе информацию о том в какой комнате находится |
CMaze | |
CMenu | |
CRoom | |
▼CIGameBuilder | |
▼CCommonBuilder | |
CComplexBuilder | |
CSimpleBuilder | |
▼CIGameEvent | Абстрактрый класс для различных игровых событий |
CDeleteStaticEntity | Удаление еды |
CLostGame | |
CPacmanLoseLifeEvent | Событие: потеря жизни у Пакманов. Всего три жизни, когда они кончились, то игра провалена В ресурсах храним пакмана |
CScreamerCompositeEvent | Совмещение двум событий: удаление еды и скример В ресурсах храним сущность, которую хотим удалить |
CScreamerEvent | Скример |
CSwampEvent | |
CWinGame | |
▼CIObserver | Паттерн Observer. Общий интерфейс для наблюдателей |
CScoreCount | Наблюдатель - счетчик еды. При съедании еды посылается уведомление и наблюдатель увеличивает счетчик для конкретного игрока |
▼CISelectCommand | |
▼CChangeStateCommand | |
CExitCommand | |
CGameCommand | |
▼CIState | |
CExitState | Состояние, которое завершает игры. Для этого в do_step всегда возвращает false -> так Application поймет, что надо завершить работу и выйти из бесконечного цикла делегирования своей работы состояниям |
CGameState | Взаимодействие врага с объектами лабиринта, что порождает игровые события |
CSelectState | SelectState - состояние, при котором происходит выбор уровня и выход из игры |
▼CIStateManager | |
CApplication | |
▼CIVisitable | |
CIDynamicEntity | Динамические сущности, наследник IEntity -> может выполнять какие-то действия |
CIStaticEntity | Статические сущности, наследник IEntity -> неперемещаемые объекты, с которыми будет взаимодействовать Пакман Чтобы скопировать статические сущности, применяем паттерн Prototype. Для этого создает возможность клонирования |
▼CIVisitor | Паттерн VISITOR для взаимодействия пакмана с объектами игры. Создаем две абстрации: IVisitor (посетитель) |
CPacman | |
▼CIWindowKeeper | |
CGameState | Взаимодействие врага с объектами лабиринта, что порождает игровые события |
CSelectState | SelectState - состояние, при котором происходит выбор уровня и выход из игры |
CMenuGame | |
CMyAssets_one | загрузка текстур, звука, шрифта |
▼CMyTexture | |
CBackgroundTexture | |
CEnemyTexture | |
CFoodTexture | |
CPacmanTexture | |
CPacmanTexture2 | |
CThemeColors | Менеджер для загрузки цветов через паттер Singletone С помощью set_theme() устанавливается тема приложения: светлая или темная Изначально светлая тема |
CThemeManager | |