XOBoardConfig
Перечисление задающее размеры поля
Definition XOGame.h:67
@ XO_BOARDX
Размер поля по оси X.
Definition XOGame.h:69
@ XO_BOARDY
Размер поля по оси Y.
Definition XOGame.h:71
XORetCode
Перечисление задающее коды возвраща для XOGame::make_move.
Definition XOGame.h:90
@ XO_EBUSY
ОШИБКА: Клетка занята
Definition XOGame.h:102
@ XO_DRAW
Ничья
Definition XOGame.h:98
@ XO_CONTINUE
Игра продолжается
Definition XOGame.h:92
@ XO_WINX
Крестики выиграли
Definition XOGame.h:94
@ XO_ESIDE
ОШИБКА: Ход другого игрока
Definition XOGame.h:100
@ XO_WINO
Нолики выиграли
Definition XOGame.h:96
XOPlayerSide
Перечисление задающее типы владения
Definition XOGame.h:78
@ XO_PLAYERX
Игрок - крестики
Definition XOGame.h:84
@ XO_PLAYER_INVALID
Игрок - неопределён, или поле не занято
Definition XOGame.h:82
@ XO_PLAYERO
Игрок - нолики
Definition XOGame.h:80
XOGame * new_XOGame(size_t _GameID)
Создаёт указатель на новую полностью инициализированную игру с переданным _GameID По завершению испол...
int8_t x
Координата X.
Definition XOGame.h:116
int8_t y
Координата Y.
Definition XOGame.h:118
int8_t side
Сторона
Definition XOGame.h:120
const uint8_t turn
Текущий ход начиная с 0.
Definition XOGame.h:166
const XOCell log[XO_BOARDX *XO_BOARDY]
Лог ходов
Definition XOGame.h:162
const size_t id
Идентификатор игры
Definition XOGame.h:154
const XOCell board[XO_BOARDX][XO_BOARDY]
Игровое поле
Definition XOGame.h:160
XORetCode(*const make_move)(XOGame *_Game, int _CellX, int _CellY, XOPlayerSide _PlayerSide)
Сделать ход.
Definition XOGame.h:156
uint8_t padding[2]
Выравнивающие байты, абсолютно не нужны, но Яндекс.АлисаAI настояла - { 0 } Если вы решите изменить т...
Definition XOGame.h:171
void(*const destruct)(XOGame *_Game)
Деструктор, освобождает память выделенную под объект, дальнейший free(game) == SIGSEGV.
Definition XOGame.h:158
const XOCell winners[XO_BOARDX]
Выигравшие клетки. По-умолчанию - { 0 }.
Definition XOGame.h:164