1fac88d382093425d76b6b7723aa31032bda8d76
[progcomp2012.git] / manager / controller.h
1 #ifndef CONTROLLER_H
2 #define CONTROLLER_H
3
4 #include "stratego.h"
5 #include "program.h"
6
7 /**
8  * Class to control an AI program for a game of Stratego
9  * Inherits most features from the Program class
10  */
11
12 class Controller : public Program
13 {
14         public:
15                 Controller(const Piece::Colour & newColour, const char * executablePath) : Program(executablePath), colour(newColour) {}
16                 virtual ~Controller() {}
17
18                 MovementResult Setup(const char * opponentName); //Requests the AI program for the initial positioning of its pieces.
19
20                 MovementResult MakeMove(std::string & buffer); //Queries the AI program for a response to the state of Board::theBoard
21
22                 const Piece::Colour colour; //Colour identifying the side of the AI program.
23
24
25 };
26
27 #endif //CONTROLLER_H
28
29

UCC git Repository :: git.ucc.asn.au