Pacman
 
Загрузка...
Поиск...
Не найдено
Иерархия классов
Иерархия классов.
[уровень детализации 12345]
 CContextManager
 CGameBuilderDirector
 CGameContextКонтекст игры. Тут хранится состояние всего того, что происходит в лабиринте
 CIDrawableОбщий интерфейс для отрисовываемых сущностей и объектов
 CButton
 CChooseButton
 CIPreparable
 CIEntityIEntity любая сущность, которая может быть помощена в лабиринт
 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Взаимодействие врага с объектами лабиринта, что порождает игровые события
 CSelectStateSelectState - состояние, при котором происходит выбор уровня и выход из игры
 CIStateManager
 CApplication
 CIVisitable
 CIDynamicEntityДинамические сущности, наследник IEntity -> может выполнять какие-то действия
 CIStaticEntityСтатические сущности, наследник IEntity -> неперемещаемые объекты, с которыми будет взаимодействовать Пакман Чтобы скопировать статические сущности, применяем паттерн Prototype. Для этого создает возможность клонирования
 CIVisitorПаттерн VISITOR для взаимодействия пакмана с объектами игры. Создаем две абстрации: IVisitor (посетитель)
 CPacman
 CIWindowKeeper
 CGameStateВзаимодействие врага с объектами лабиринта, что порождает игровые события
 CSelectStateSelectState - состояние, при котором происходит выбор уровня и выход из игры
 CMenuGame
 CMyAssets_oneзагрузка текстур, звука, шрифта
 CMyTexture
 CBackgroundTexture
 CEnemyTexture
 CFoodTexture
 CPacmanTexture
 CPacmanTexture2
 CThemeColorsМенеджер для загрузки цветов через паттер Singletone С помощью set_theme() устанавливается тема приложения: светлая или темная Изначально светлая тема
 CThemeManager