Did something, apparently
[progcomp2013.git] / agents / silverfish / agent.h
1 /**
2  * agent++ : A Sample agent for UCC::Progcomp2013
3  * @file agent.h
4  * @purpose Declaration of Agent class
5  */
6
7 #ifndef _AGENT_H
8 #define _AGENT_H
9
10 #include <iostream>
11 #include <sstream>
12 #include "qchess.h" // Declarations of Board, Piece and Square classes; see also qchess.cpp
13
14 /**
15  * @class Agent
16  * @purpose Class that represents an agent which will play qchess
17  */
18 class Agent
19 {
20         public:
21                 Agent(const std::string & colour); // initialise with colour
22                 virtual ~Agent(); // destructor
23
24                 void Run(std::istream & in, std::ostream & out); // agent run loop, specify input and output streams
25                 
26                 virtual Square & Select(); // select a square (default: random square containing one of my pieces)
27                 virtual Square & Move(); // select a move (default: random valid move for selected piece)
28
29         
30         protected:
31                 const Piece::Colour colour; // colour of the agent; do not change it
32                 Board board; // board, see qchess.h
33                 Piece * selected; // last piece chosen by Agent::Select, see qchess.h
34                 
35 };
36
37 #endif //_AGENT_H
38
39 //EOF

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