2007-07-28 15:23:15 +00:00
|
|
|
#ifndef CGAMESTATE_H
|
|
|
|
#define CGAMESTATE_H
|
|
|
|
|
2007-08-29 12:18:31 +00:00
|
|
|
class CHeroInstance;
|
|
|
|
class CTownInstance;
|
2007-08-27 14:15:03 +00:00
|
|
|
class CCallback;
|
2007-08-29 12:18:31 +00:00
|
|
|
|
2007-07-28 15:23:15 +00:00
|
|
|
struct PlayerState
|
|
|
|
{
|
2007-08-04 19:01:22 +00:00
|
|
|
public:
|
2007-07-28 15:23:15 +00:00
|
|
|
int color;
|
2007-08-30 10:11:53 +00:00
|
|
|
std::vector<std::vector<std::vector<char> > >fogOfWarMap; //true - visible, false - hidden
|
2007-07-28 15:23:15 +00:00
|
|
|
std::vector<int> resources;
|
2007-08-29 12:18:31 +00:00
|
|
|
std::vector<CHeroInstance *> heroes;
|
|
|
|
std::vector<CTownInstance *> towns;
|
2007-07-28 23:01:25 +00:00
|
|
|
};
|
2007-07-28 15:23:15 +00:00
|
|
|
|
|
|
|
class CGameState
|
|
|
|
{
|
2007-08-04 19:01:22 +00:00
|
|
|
int currentPlayer;
|
2007-07-28 23:01:25 +00:00
|
|
|
std::map<int,PlayerState> players; //color <-> playerstate
|
2007-08-27 14:15:03 +00:00
|
|
|
public:
|
|
|
|
friend CCallback;
|
|
|
|
friend int _tmain(int argc, _TCHAR* argv[]);
|
2007-09-14 13:11:10 +00:00
|
|
|
friend void initGameState(CGameInfo * cgi);
|
2007-09-05 15:56:35 +00:00
|
|
|
friend void CAmbarCendamo::deh3m();
|
2007-08-27 14:15:03 +00:00
|
|
|
CCallback * cb; //for communication between PlayerInterface/AI and GameState
|
2007-07-28 23:01:25 +00:00
|
|
|
};
|
2007-07-28 15:23:15 +00:00
|
|
|
|
2007-09-14 13:11:10 +00:00
|
|
|
#endif //CGAMESTATE_H
|