8 * Class to control a player for Stratego
15 Controller(const Piece::Colour & newColour, const char * newName = "no-name") : colour(newColour), name(newName) {}
16 virtual ~Controller() {}
18 MovementResult Setup(const char * opponentName);
20 MovementResult MakeMove(std::string & buffer);
24 void Message(std::string & buffer) {Message(buffer.c_str());}
25 virtual void Message(const char * string) = 0;
27 virtual MovementResult QuerySetup(const char * opponentName, std::string setup[]) = 0;
28 virtual MovementResult QueryMove(std::string & buffer) = 0;
29 virtual bool Valid() const {return true;}
31 const Piece::Colour colour;