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

модель игрового поля, хранит массив ячеек Cell. Подробнее...

#include <Game.hpp>

Граф связей класса Field:
Collaboration graph

Открытые типы

typedef std::pair< Index, IndexPosition
 координаты на поле Подробнее...
 

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

 Field (Index horz, Index vert)
 задать размеры поля по горизонтали и вертикали
 
Index xsize () const
 получить размер по горизонтали
 
Index ysize () const
 получить размер по вертикали
 
Cell operator() (Index x, Index y) const
 получить клетку по координатам, бросает исключение для плохих x, y.
 
Celloperator() (Index x, Index y)
 получить клетку по координатам, бросает исключение для плохих x, y.
 
Cell operator[] (const Position &p) const
 получить клетку по координатам, бросает исключение для плохих координат
 
Celloperator[] (const Position &p)
 получить клетку по координатам, бросает исключение для плохих координат
 
template<class Visitor >
void scan (Visitor visitor) const
 пройтись по полю, visitor принимает параметры (dx, dy, cell) Подробнее...
 

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

Index xsize_
 
Index ysize_
 
std::vector< Cellcells
 

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

модель игрового поля, хранит массив ячеек Cell.

Определения типов

typedef std::pair<Index, Index> Field::Position

координаты на поле

Работа с ними опирается на "оборачивающую" арифметику в дополнительном коде (переполнения и преобразование отрицательных к беззнаковому типу).

Методы

template<class Visitor >
void Field::scan ( Visitor  visitor) const
inline

пройтись по полю, visitor принимает параметры (dx, dy, cell)

В начале перебора: dx == 0 и dy == 0; затем передаются смещения в клетках от предыдущей переданной клетки.

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


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