Zmeika
простая аркадная игра
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Страницы
Класс ZmeikaGame

класс представляющий модель игры "Змейка". Подробнее...

#include <Game.hpp>

Граф наследования:ZmeikaGame:
Inheritance graph
Граф связей класса ZmeikaGame:
Collaboration graph

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

void up ()
 змея будет двигаться вверх
 
void down ()
 змея будет двигаться вниз
 
void left ()
 змея будет двигаться влево
 
void right ()
 змея будет двигаться вправо
 
bool step (double t)
 выполнить следующий шаг, если с предыдущего прошло достаточно времени Подробнее...
 
void start ()
 начать новую игру
 
bool warpSnake (const Field::Position &new_head)
 телепортировать голову змеи Подробнее...
 

Открытые атрибуты

double last_time
 временнАя метка последнего кадра (секунды)
 
Field field
 собственно игровое поле
 
NumberPresenter level
 текущий уровень
 
NumberPresenterDecrementable score
 текущие очки игрока
 

Закрытые члены

void readLevels ()
 прочитать описания уровней
 
void newRabbit (Cell rabbitType)
 поставить нового кролика
 
void selectLevel (Index next_level)
 выбрать уровень
 
bool movedInto (const Cell)
 реакция змеи на движение в клетку с заданным содержимым Подробнее...
 

Закрытые данные

Score level_score
 премиальные за уровень
 
Score move_score [Cell_Types]
 очки за движение в ту или иную клетку (по её коду Cell)
 
double time_step
 текущая скорость змеи определяется задержкой между кадрами (секунды)
 
std::vector< Levellevels
 набор уровней
 
Index steps
 пройденные шаги
 
Snake snake
 состояние змеи
 

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

класс представляющий модель игры "Змейка".

Методы

bool ZmeikaGame::movedInto ( const Cell  movement)
private

реакция змеи на движение в клетку с заданным содержимым

Возвращает
true если произошло столкновение (останов змеи)

Граф вызовов:

Граф вызова функции:

bool ZmeikaGame::step ( double  t)

выполнить следующий шаг, если с предыдущего прошло достаточно времени

Время введено в класс ZmeikaGame, поскольку оно является элементом описания уровня. Может быть, следовало бы полностью делегировать учёт времени наследнику.

Аргументы
tтекущее время в секундах
Возвращает
true в случае столкновения

Граф вызовов:

Граф вызова функции:

bool ZmeikaGame::warpSnake ( const Field::Position new_head)
inline

телепортировать голову змеи

Возвращает
true если произошло столкновение (останов змеи)

Граф вызовов:

Граф вызова функции:


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