+++ /dev/null
-#ifndef MAIN_H
-#define MAIN_H
-
-#include "stratego.h"
-#include "ai_controller.h"
-#include "human_controller.h"
-
-
-
-/**
- * Class to manage the game
- */
-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);
- 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);
- virtual ~Game();
-
-
-
- void Wait(double wait);
-
- Piece::Colour Setup(const char * redName, const char * blueName);
- MovementResult Play();
- void PrintEndMessage(const MovementResult & result);
-
-
- static void HandleBrokenPipe(int signal);
- void ReadUserCommand();
-
- const Piece::Colour Turn() const {return turn;}
- void ForceTurn(const Piece::Colour & newTurn) {turn = newTurn;}
- int TurnCount() const {return turnCount;}
-
- static Game * theGame;
- public:
- int logMessage(const char * format, ...);
- FILE * GetLogFile() const {return log;}
- Controller * red;
- Controller * blue;
- private:
- Piece::Colour turn;
-
- public:
- Board theBoard;
- private:
- const bool graphicsEnabled;
- double stallTime;
- public:
- const bool allowIllegalMoves;
-
- private:
- FILE * log;
-
- public:
- const Piece::Colour reveal;
- int turnCount;
-
- static bool gameCreated;
-
- FILE * input;
-
- int maxTurns;
- const bool printBoard;
-
-};
-
-class FileController : public Controller
-{
- public:
- 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 MovementResult QuerySetup(const char * opponentName, std::string setup[]);
- virtual MovementResult QueryMove(std::string & buffer);
- virtual bool Valid() const {return file != NULL;}
-
- private:
- FILE * file;
-
-
-};
-
-
-
-#endif //MAIN_H