7 for (
auto& r :
board) fill(r.begin(), r.end(), 0);
12 if (x < 0 || x >= 3 || y < 0 || y >= 3 ||
board[x][y] != 0)
19 for (
int i = 0; i < 3; i++) {
31 if (c == 0)
return false;
Board(int rows, int columns)
Definition BoardGame_Classes.h:51
vector< vector< int > > board
Definition BoardGame_Classes.h:44
Represents a single move in a board game.
Definition BoardGame_Classes.h:100
T get_symbol() const
Get the move symbol.
Definition BoardGame_Classes.h:116
int get_y() const
Get column index.
Definition BoardGame_Classes.h:113
int get_x() const
Get row index.
Definition BoardGame_Classes.h:110
bool is_lose(Player< int > *p) override
Check if a player has lost.
Definition Numerical_Board.h:35
bool game_is_over(Player< int > *p) override
Check if the game is over.
Definition Numerical_Board.h:37
Numerical_Board()
Definition Numerical_Board.h:6
bool is_draw(Player< int > *p) override
Check if the game ended in a draw.
Definition Numerical_Board.h:28
bool is_win(Player< int > *p) override
Check if a player has won.
Definition Numerical_Board.h:18
bool update_board(Move< int > *m) override
Update the board with a new move.
Definition Numerical_Board.h:10
Base template for all players (human or AI).
Definition BoardGame_Classes.h:126