The dev goes on
[vic.git] / src / game_container.h
blob8e81b517055d73fba0e23b4be23ce654be21ea3a
1 #ifndef GAME_CONTAINER_H
2 #define GAME_CONTAINER_H
4 #include "game.h"
5 #include "player.h"
6 #include "game_rules.h"
7 #include <list>
9 /* This is a TURN-BASED game container */
10 class GameContainer
12 protected:
13 Game* game;
14 std::list<Player*>* players;
15 IGameRules* rules;
16 bool started;
17 bool ended;
19 public:
20 GameContainer (Game* game, IGameRules* rules);
21 virtual ~GameContainer ();
23 int addPlayer (Player* player);
24 void start ();
26 bool gameEnded () const;
28 protected:
29 int doPlayerTurn (Player* player);
30 int onTurnBegin (Player* player);
31 int onTurnEnd (Player* player);
34 #endif /* GAME_CONTAINER_H */