summaryrefslogtreecommitdiff
path: root/server/game.h
diff options
context:
space:
mode:
authorVegard Storheil Eriksen <zyp@jvnv.net>2010-11-15 12:28:19 +0100
committerVegard Storheil Eriksen <zyp@jvnv.net>2010-11-15 12:28:19 +0100
commitb2527a9eaa7082c50ce6230e79df88edbced9abb (patch)
treeee6ab3ddc487600690f16b48137a97c72c396218 /server/game.h
parent2c6d82abe3c82041991066ca84ac067771756818 (diff)
Implement server program flow around GameStart.
Diffstat (limited to 'server/game.h')
-rw-r--r--server/game.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/server/game.h b/server/game.h
index f2f64ac..00da0bc 100644
--- a/server/game.h
+++ b/server/game.h
@@ -1,13 +1,32 @@
#ifndef GAME_H
#define GAME_H
+#include <boost/shared_ptr.hpp>
+#include <boost/enable_shared_from_this.hpp>
+
+#include <vector>
+
#include "player.h"
-class Game {
- private:
-
+class Game : public boost::enable_shared_from_this<Game> {
public:
+ typedef boost::shared_ptr<Game> p;
+
+ static p create(Player::p player_1, Player::p player_2, Player::p player_3, Player::p player_4);
+
+ private:
+ std::vector<Player::p> players;
+
+ int waiting_players;
+
Game(Player::p player_1, Player::p player_2, Player::p player_3, Player::p player_4);
+
+ //! Handle Ready message from player.
+ void handle_ready();
+
+ //! Start the game.
+ void start();
+
};
#endif