+
+
+ void Message(std::string & buffer) {Message(buffer.c_str());}
+ virtual void Message(const char * string) = 0;
+
+ virtual MovementResult QuerySetup(const char * opponentName, std::string setup[]) = 0;
+ virtual MovementResult QueryMove(std::string & buffer) = 0;
+ virtual bool Valid() const {return true;}
+
+ const Piece::Colour colour;
+
+ std::string name;