NeurOX 1.0.0 dev-in-progress
Экосистема многопользовательской игры классические крестики-нолики с ИИ
Загрузка...
Поиск...
Не найдено
Структура XOGame

#include <XOGame.h>

Граф связей класса XOGame:

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

const size_t id
 Идентификатор игры
 
XORetCode(*const make_move )(XOGame *_Game, int _CellX, int _CellY, XOPlayerSide _PlayerSide)
 Сделать ход.
 
void(*const destruct )(XOGame *_Game)
 Деструктор, освобождает память выделенную под объект, дальнейший free(game) == SIGSEGV.
 
const XOCell board [XO_BOARDX][XO_BOARDY]
 Игровое поле
 
const XOCell log [XO_BOARDX *XO_BOARDY]
 Лог ходов
 
const XOCell winners [XO_BOARDX]
 Выигравшие клетки. По-умолчанию - { 0 }.
 
const uint8_t turn
 Текущий ход начиная с 0.
 
uint8_t padding [2]
 Выравнивающие байты, абсолютно не нужны, но Яндекс.АлисаAI настояла - { 0 } Если вы решите изменить тип полей в XOCell выравнивание придётся пересматривать
 

Данные класса

◆ board

const XOCell XOGame::board[XO_BOARDX][XO_BOARDY]

Игровое поле

◆ destruct

void(*const XOGame::destruct) (XOGame *_Game)

Деструктор, освобождает память выделенную под объект, дальнейший free(game) == SIGSEGV.

◆ id

const size_t XOGame::id

Идентификатор игры

◆ log

const XOCell XOGame::log[XO_BOARDX *XO_BOARDY]

Лог ходов

◆ make_move

XORetCode(*const XOGame::make_move) (XOGame *_Game, int _CellX, int _CellY, XOPlayerSide _PlayerSide)

Сделать ход.

◆ padding

uint8_t XOGame::padding[2]

Выравнивающие байты, абсолютно не нужны, но Яндекс.АлисаAI настояла - { 0 } Если вы решите изменить тип полей в XOCell выравнивание придётся пересматривать

◆ turn

const uint8_t XOGame::turn

Текущий ход начиная с 0.

◆ winners

const XOCell XOGame::winners[XO_BOARDX]

Выигравшие клетки. По-умолчанию - { 0 }.


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