1 #ifndef GAMES_CHECKERS_CHECKER_H
2 #define GAMES_CHECKERS_CHECKER_H
14 #include <unordered_map>
16 #include <initializer_list>
18 #include "../../joueur/src/any.hpp"
20 #include "game_object.hpp"
22 #include "impl/checkers_fwd.hpp"
89 Checker_(std::initializer_list<std::pair<std::string, Any&&>> init);
90 Checker_() : Checker_({}){}
91 virtual void resize(
const std::string& name, std::size_t size)
override;
92 virtual void change_vec_values(
const std::string& name, std::vector<std::pair<std::size_t, Any>>& values)
override;
93 virtual void remove_key(
const std::string& name, Any& key)
override;
94 virtual std::unique_ptr<Any> add_key_value(
const std::string& name, Any& key, Any& value)
override;
95 virtual bool is_map(
const std::string& name)
override;
96 virtual void rebind_by_name(Any* to_change,
const std::string& member, std::shared_ptr<Base_object> ref)
override;
107 #endif // GAMES_CHECKERS_CHECKER_H
const bool & kinged
If the checker has been kinged and can move backwards.
Definition: checker.hpp:44
Checker move(int x, int y)
moves the checker from its current location to the given (x, y).
An object in the game. The most basic class that all game classes should inherit from automatically...
Definition: game_object.hpp:37
bool is_mine()
returns if the checker is owned by your player or not.
const int & x
The x coordinate of the checker.
Definition: checker.hpp:54
A checker on the game board.
Definition: checker.hpp:37
A player in this game. Every AI controls one player.
Definition: player.hpp:37
const Player & owner
The player that controls this Checker.
Definition: checker.hpp:49
const int & y
The y coordinate of the checker.
Definition: checker.hpp:59