17#include <unordered_map>
23 std::unordered_map<gameboard::PieceColor, std::unique_ptr<MoveEvaluatorBase>>
36 std::shared_ptr<SpaceInfoProviderBase> game_board,
37 std::unordered_map<gameboard::PieceColor, PlayerSpec> player_specs,
40 std::shared_ptr<GameReporterInterface> game_reporter,
41 bool report_during_game =
true,
Constants, typedefs, and simple structs used by gameboard::GameBoard.
std::unordered_map< gameboard::PieceColor, PlayerSpec > player_specs_
gameboard::Move GetValidMove(const gameboard::MoveCollection &available_moves)
std::shared_ptr< GameReporterInterface > game_reporter_
gameboard::PieceColor whose_turn_
void PlayerTurn(const gameboard::MoveCollection &available_moves)
void SetWinner(gameboard::PieceColor color)
std::optional< int > stop_signal_received_
std::optional< int > stop_signal_received()
std::unordered_map< gameboard::PieceColor, std::unique_ptr< MoveEvaluatorBase > > move_evaluators_
std::atomic_bool stop_requested_
std::vector< gameboard::ExecutedMove > move_log_
std::string GenerateGameID()
std::shared_ptr< SpaceInfoProviderBase > game_board_
void RequestStop(int signal)
GameSummary GenerateGameSummary()
Defines GamePiece and supporting constants and free functions.
A container for multiple gameboard::Move objects.
A gameboard::BoardSpace pair (start and end).