Pacman
 
Загрузка...
Поиск...
Не найдено
Класс CommonBuilder

#include <GameBuilders.h>

Граф наследования:CommonBuilder:
IGameBuilder ComplexBuilder SimpleBuilder

Открытые члены

 CommonBuilder (float width, float height, float room_size)
 
void create_context (float static_objects_ratio, float dynamic_objects_ratio, int players) override
 Создает контекст для игры
 
void create_state (IStateManager &state_manager, const sf::VideoMode &mode, const std::string &window_title) override
 Cоздаем состояние GameState, используя имя, режим окна и сслыку на менеджер состояний
 
void set_all_to_state () override
 Созданный лабиринт и контекст назначаем созданному состоянию игры GameState.
 
std::unique_ptr< GameStateget_game () override
 Получить результат строителя.
 
- Открытые члены унаследованные от IGameBuilder
virtual void create_rooms ()=0
 
virtual void set_rooms_sides ()=0
 

Защищенные данные

float m_width
 
float m_height
 
float m_room_size
 
std::vector< std::vector< Room * > > m_rooms
 
GameContext m_context
 
std::unique_ptr< GameStatem_game_state
 

Подробное описание

создаем два конкретных строителя. Общие части выносим в CommonBuilder

Методы

◆ create_context()

void CommonBuilder::create_context ( float static_objects_ratio,
float dynamic_objects_ratio,
int players )
overridevirtual

Создает контекст для игры

Всегда в рандомное место располагаем пакмана. В качестве параметров передаем players, когда players = 2, создаем еще одного пакмана в рандомном месте. Дальше располагаем врагов в соотношении dynamic_objects_ratio, задаваемое в config.h, также в рандомные места. В оставшиеся свободные комнаты располагаем еду.

в рандомное место располагаем пакмана

располагаем врагов рандомно

располагаем еду на оставшиеся места

в рандомное место под едой располагаем скример

Замещает IGameBuilder.

◆ create_state()

void CommonBuilder::create_state ( IStateManager & state_manager,
const sf::VideoMode & mode,
const std::string & window_title )
overridevirtual

Cоздаем состояние GameState, используя имя, режим окна и сслыку на менеджер состояний

Замещает IGameBuilder.

◆ get_game()

std::unique_ptr< GameState > CommonBuilder::get_game ( )
overridevirtual

Получить результат строителя.

Замещает IGameBuilder.

◆ set_all_to_state()

void CommonBuilder::set_all_to_state ( )
overridevirtual

Созданный лабиринт и контекст назначаем созданному состоянию игры GameState.

назначаем лабиринт

Замещает IGameBuilder.


Объявления и описания членов классов находятся в файлах: