8 board = vector<vector<char>>(6, vector<char>(7,
' '));
16 if (col < 0 || col >=
columns)
return false;
19 for (
int r =
rows - 1; r >= 0; --r) {
20 if (
board[r][col] ==
' ') {
34 for (
int r = 0; r <
rows; ++r) {
35 for (
int c = 0; c + 3 <
columns; ++c) {
36 if (
board[r][c] == sym &&
board[r][c + 1] == sym &&
board[r][c + 2] == sym &&
board[r][c + 3] == sym)
41 for (
int c = 0; c <
columns; ++c) {
42 for (
int r = 0; r + 3 <
rows; ++r) {
43 if (
board[r][c] == sym &&
board[r + 1][c] == sym &&
board[r + 2][c] == sym &&
board[r + 3][c] == sym)
48 for (
int r = 0; r + 3 <
rows; ++r) {
49 for (
int c = 0; c + 3 <
columns; ++c) {
50 if (
board[r][c] == sym &&
board[r + 1][c + 1] == sym &&
board[r + 2][c + 2] == sym &&
board[r + 3][c + 3] == sym)
55 for (
int r = 3; r <
rows; ++r) {
56 for (
int c = 0; c + 3 <
columns; ++c) {
57 if (
board[r][c] == sym &&
board[r - 1][c + 1] == sym &&
board[r - 2][c + 2] == sym &&
board[r - 3][c + 3] == sym)
66 for (
int r = 0; r <
rows; ++r)
67 for (
int c = 0; c <
columns; ++c)
68 if (
board[r][c] ==
' ')
int n_moves
Definition BoardGame_Classes.h:45
int rows
Definition BoardGame_Classes.h:42
Board(int rows, int columns)
Definition BoardGame_Classes.h:51
vector< vector< char > > board
Definition BoardGame_Classes.h:44
int columns
Definition BoardGame_Classes.h:43
bool update_board(Move< char > *m) override
Update the board with a new move.
Definition FourBoard.h:12
bool game_is_over(Player< char > *p) override
Check if the game is over.
Definition FourBoard.h:75
bool is_win(Player< char > *p) override
Check if a player has won.
Definition FourBoard.h:30
bool is_lose(Player< char > *p) override
Check if a player has lost.
Definition FourBoard.h:73
FourBoard()
Definition FourBoard.h:7
bool is_draw(Player< char > *p) override
Check if the game ended in a draw.
Definition FourBoard.h:64
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
Base template for all players (human or AI).
Definition BoardGame_Classes.h:126
T get_symbol() const
Get the player's symbol.
Definition BoardGame_Classes.h:150