|
Xiangiqgame
AI engine for Xiangqi
|
#include <game.hpp>

Public Member Functions | |
| Game (std::shared_ptr< SpaceInfoProviderBase > game_board, std::unordered_map< gameboard::PieceColor, PlayerSpec > player_specs, std::unordered_map< gameboard::PieceColor, std::unique_ptr< MoveEvaluatorBase > > move_evaluators, std::shared_ptr< GameReporterInterface > game_reporter, bool report_during_game=true, gameboard::PieceColor whose_turn=gameboard::PieceColor::kRed) | |
| GameSummary | Play () |
| void | RequestStop (int signal) |
| std::optional< int > | stop_signal_received () |
Private Member Functions | |
| std::string | GenerateGameID () |
| gameboard::Move | GetValidMove (const gameboard::MoveCollection &available_moves) |
| void | PlayerTurn (const gameboard::MoveCollection &available_moves) |
| void | ChangeWhoseTurn () |
| void | SetWinner (gameboard::PieceColor color) |
| GameSummary | GenerateGameSummary () |
Private Attributes | |
| std::shared_ptr< SpaceInfoProviderBase > | game_board_ |
| std::unordered_map< gameboard::PieceColor, PlayerSpec > | player_specs_ |
| std::unordered_map< gameboard::PieceColor, std::unique_ptr< MoveEvaluatorBase > > | move_evaluators_ |
| GameState | game_state_ |
| std::shared_ptr< GameReporterInterface > | game_reporter_ |
| gameboard::PieceColor | whose_turn_ |
| std::vector< gameboard::ExecutedMove > | move_log_ |
| bool | report_during_game_ |
| std::string | game_id_ |
| std::atomic_bool | stop_requested_ |
| std::optional< int > | stop_signal_received_ |
| game::Game::Game | ( | std::shared_ptr< SpaceInfoProviderBase > | game_board, |
| std::unordered_map< gameboard::PieceColor, PlayerSpec > | player_specs, | ||
| std::unordered_map< gameboard::PieceColor, std::unique_ptr< MoveEvaluatorBase > > | move_evaluators, | ||
| std::shared_ptr< GameReporterInterface > | game_reporter, | ||
| bool | report_during_game = true, |
||
| gameboard::PieceColor | whose_turn = gameboard::PieceColor::kRed |
||
| ) |
|
private |
|
private |
| GameSummary game::Game::Play | ( | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |