C++ Joueur Client
 All Classes Namespaces Functions Variables
checker.hpp
1 #ifndef GAMES_CHECKERS_CHECKER_H
2 #define GAMES_CHECKERS_CHECKER_H
3 
4 // Checker
5 // A checker on the game board.
6 
7 // DO NOT MODIFY THIS FILE
8 // Never try to directly create an instance of this class, or modify its member variables.
9 // Instead, you should only be reading its variables and calling its functions.
10 
11 #include <vector>
12 #include <queue>
13 #include <deque>
14 #include <unordered_map>
15 #include <string>
16 #include <initializer_list>
17 
18 #include "../../joueur/src/any.hpp"
19 
20 #include "game_object.hpp"
21 
22 #include "impl/checkers_fwd.hpp"
23 
24 // <<-- Creer-Merge: includes -->> - Code you add between this comment and the end comment will be preserved between Creer re-runs.
25 // you can add additional #includes here
26 // <<-- /Creer-Merge: includes -->>
27 
28 namespace cpp_client
29 {
30 
31 namespace checkers
32 {
33 
37 class Checker : public Game_object
38 {
39 public:
40 
44  const bool& kinged;
45 
49  const Player& owner;
50 
54  const int& x;
55 
59  const int& y;
60 
61  // <<-- Creer-Merge: member variables -->> - Code you add between this comment and the end comment will be preserved between Creer re-runs.
62  // You can add additional member variables here. None of them will be tracked or updated by the server.
63  // <<-- /Creer-Merge: member variables -->>
64 
65 
69  bool is_mine();
70 
76  Checker move(int x, int y);
77 
78 
79  // <<-- Creer-Merge: methods -->> - Code you add between this comment and the end comment will be preserved between Creer re-runs.
80  // You can add additional methods here.
81  // <<-- /Creer-Merge: methods -->>
82 
83  ~Checker_();
84 
85  // ####################
86  // Don't edit these!
87  // ####################
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;
98  // ####################
99  // Don't edit these!
100  // ####################
101 };
102 
103 } // checkers
104 
105 } // cpp_client
106 
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