1 #ifndef GAMES_CHESS_GAME_H
2 #define GAMES_CHESS_GAME_H
14 #include <unordered_map>
16 #include <initializer_list>
18 #include "../../joueur/src/any.hpp"
21 #include "../../joueur/src/base_game.hpp"
22 #include "impl/chess_fwd.hpp"
45 class Game :
public Base_game
52 const std::string&
fen;
90 Game_(std::initializer_list<std::pair<std::string, Any&&>> init);
92 virtual void resize(
const std::string& name, std::size_t size)
override;
93 virtual void change_vec_values(
const std::string& name, std::vector<std::pair<std::size_t, Any>>& values)
override;
94 virtual void remove_key(
const std::string& name, Any& key)
override;
95 virtual std::unique_ptr<Any> add_key_value(
const std::string& name, Any& key, Any& value)
override;
96 virtual bool is_map(
const std::string& name)
override;
97 virtual void rebind_by_name(Any* to_change,
const std::string& member, std::shared_ptr<Base_object> ref)
override;
108 #endif // GAMES_CHESS_GAME_H
const std::vector< std::string > & history
The list of [known] moves that have occurred in the game, in Universal Chess Interface (UCI) format...
Definition: game.hpp:62
const std::string & fen
Forsyth-Edwards Notation (fen), a notation that describes the game board state.
Definition: game.hpp:52
const std::unordered_map< std::string, Game_object > & game_objects
A mapping of every game object's ID to the actual game object. Primarily used by the server and clien...
Definition: game.hpp:57
The traditional 8x8 chess board with pieces.
Definition: game.hpp:45
const std::string & session
A unique identifier for the game instance that is being played.
Definition: game.hpp:72
const std::vector< Player > & players
List of all the players in the game.
Definition: game.hpp:67