X-Git-Url: https://git.ucc.asn.au/?p=progcomp2012.git;a=blobdiff_plain;f=judge%2Fmanager%2Fgame.h;h=ce83545bc301eb198d159d9cdd5d08355ad13d8f;hp=cc79e656bd278be678ebc1b4467c314836eb9551;hb=97f72faa7d6fa846d7acaff49abd1a3b34bda6d6;hpb=48216daa641008e0de21c5522d6e958a38b02093 diff --git a/judge/manager/game.h b/judge/manager/game.h index cc79e65..ce83545 100644 --- a/judge/manager/game.h +++ b/judge/manager/game.h @@ -15,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, bool server=false, bool client=false); - 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(); @@ -38,8 +38,12 @@ 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, ...); + static void PrintResults(const MovementResult & result, std::string & buffer); FILE * GetLogFile() const {return log;} Controller * red; Controller * blue; @@ -70,6 +74,7 @@ class Game private: double timeoutTime; + std::string imageOutput; }; @@ -79,7 +84,7 @@ class FileController : public Controller FileController(const Piece::Colour & newColour, FILE * newFile) : Controller(newColour, "file"), file(newFile) {} virtual ~FileController() {} - virtual void Message(const char * string) {} //Don't send messages + virtual bool Message(const char * string) {return true;} //Don't send messages virtual MovementResult QuerySetup(const char * opponentName, std::string setup[]); virtual MovementResult QueryMove(std::string & buffer); virtual bool Valid() const {return file != NULL;} @@ -90,6 +95,7 @@ class FileController : public Controller }; +std::string itostr(int i); #endif //MAIN_H