X-Git-Url: https://git.ucc.asn.au/?p=progcomp2012.git;a=blobdiff_plain;f=judge%2Fmanager%2Fgame.h;h=5a5f8a633c3ceeb728e5cb17288ee8822a1dfe70;hp=aebda9dfba671ec5f445ee2c1a6c9365fbb59044;hb=5f9adddd695f2664a0d690b59a779e40b51ade3d;hpb=e1153eebe8cfd0c881cef2ff8fca63f130e736b3 diff --git a/judge/manager/game.h b/judge/manager/game.h index aebda9d..5a5f8a6 100644 --- a/judge/manager/game.h +++ b/judge/manager/game.h @@ -4,6 +4,7 @@ #include "stratego.h" #include "ai_controller.h" #include "human_controller.h" +#include "network_controller.h" #include @@ -14,8 +15,8 @@ class Game { public: - Game(const char * redPath, const char * bluePath, const bool enableGraphics, double newStallTime = 1.0, const bool allowIllegal=false, FILE * newLog = NULL, const Piece::Colour & newRevealed = Piece::BOTH, int maxTurns = 5000, const bool printBoard = false, double newTimeoutTime = 2.0); - Game(const char * fromFile, const bool enableGraphics, double newStallTime = 1.0, const bool allowIllegal=false, FILE * newLog = NULL, const Piece::Colour & newRevealed = Piece::BOTH, int maxTurns = 5000, const bool printBoard = false, double newTimeoutTime = 2.0); + Game(const char * redPath, const char * bluePath, const bool enableGraphics, double newStallTime = 1.0, const bool allowIllegal=false, FILE * newLog = NULL, const Piece::Colour & newRevealed = Piece::BOTH, int maxTurns = 5000, const bool printBoard = false, double newTimeoutTime = 2.0, const char * newImageOutput = ""); + Game(const char * fromFile, const bool enableGraphics, double newStallTime = 1.0, const bool allowIllegal=false, FILE * newLog = NULL, const Piece::Colour & newRevealed = Piece::BOTH, int maxTurns = 5000, const bool printBoard = false, double newTimeoutTime = 2.0, const char * newImageOutput = ""); virtual ~Game(); @@ -23,6 +24,7 @@ class Game void Wait(double wait); Piece::Colour Setup(const char * redName, const char * blueName); + MovementResult CheckVictoryAttrition(); MovementResult Play(); void PrintEndMessage(const MovementResult & result); @@ -36,6 +38,9 @@ class Game static Game * theGame; static int Tokenise(std::vector & buffer, std::string & str, char split = ' '); //Helper - Split a string into tokens + + private: + void MakeControllers(const char * redPath, const char * bluePath); //Create a controller based off a path public: int logMessage(const char * format, ...); FILE * GetLogFile() const {return log;} @@ -68,6 +73,7 @@ class Game private: double timeoutTime; + std::string imageOutput; }; @@ -88,6 +94,7 @@ class FileController : public Controller }; +std::string itostr(int i); #endif //MAIN_H