X-Git-Url: https://git.ucc.asn.au/?p=progcomp2012.git;a=blobdiff_plain;f=manager%2Fai_controller.h;fp=manager%2Fai_controller.h;h=005043eaf6b86020efdf6266b7965f2eb5b9d485;hp=0000000000000000000000000000000000000000;hb=4a3c0478160e7e9b637a12e7cf22f8da61b66ad2;hpb=53a666903d770b14969f542d6548e267e5017b31 diff --git a/manager/ai_controller.h b/manager/ai_controller.h new file mode 100644 index 0000000..005043e --- /dev/null +++ b/manager/ai_controller.h @@ -0,0 +1,30 @@ +#ifndef AI_CONTROLLER_H +#define AI_CONTROLLER_H + +#include "controller.h" +#include "program.h" + +/** + * Class to control an AI program playing Stratego + * Inherits mostly from Program + */ +class AI_Controller : public Controller, private Program +{ + public: + AI_Controller(const Piece::Colour & newColour, const char * executablePath, const double newTimeout = 2.0) : Controller(newColour), Program(executablePath), timeout(newTimeout) {} + virtual ~AI_Controller() {} + + + + virtual MovementResult QuerySetup(const char * opponentName,std::string setup[]); + virtual MovementResult QueryMove(std::string & buffer); + + virtual void Message(const char * message) {Program::SendMessage(message);} + + + private: + const double timeout; //Timeout in seconds for messages from the AI Program + +}; + +#endif //AI_CONTROLLER_H