Zmeika
простая аркадная игра
|
модель игрового поля, хранит массив ячеек Cell. Подробнее...
#include <Game.hpp>
Открытые типы | |
typedef std::pair< Index, Index > | Position |
координаты на поле Подробнее... | |
Открытые члены | |
Field (Index horz, Index vert) | |
задать размеры поля по горизонтали и вертикали | |
Index | xsize () const |
получить размер по горизонтали | |
Index | ysize () const |
получить размер по вертикали | |
Cell | operator() (Index x, Index y) const |
получить клетку по координатам, бросает исключение для плохих x, y. | |
Cell & | operator() (Index x, Index y) |
получить клетку по координатам, бросает исключение для плохих x, y. | |
Cell | operator[] (const Position &p) const |
получить клетку по координатам, бросает исключение для плохих координат | |
Cell & | operator[] (const Position &p) |
получить клетку по координатам, бросает исключение для плохих координат | |
template<class Visitor > | |
void | scan (Visitor visitor) const |
пройтись по полю, visitor принимает параметры (dx, dy, cell) Подробнее... | |
Закрытые данные | |
Index | xsize_ |
Index | ysize_ |
std::vector< Cell > | cells |
модель игрового поля, хранит массив ячеек Cell.
typedef std::pair<Index, Index> Field::Position |
координаты на поле
Работа с ними опирается на "оборачивающую" арифметику в дополнительном коде (переполнения и преобразование отрицательных к беззнаковому типу).
|
inline |
пройтись по полю, visitor принимает параметры (dx, dy, cell)
В начале перебора: dx == 0 и dy == 0; затем передаются смещения в клетках от предыдущей переданной клетки.