CMatch.hh
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef CMATCH_HH_
00018 # define CMATCH_HH_
00019
00020 # include "CBall.hh"
00021 # include "CField.hh"
00022 # include "Constants.hh"
00023 # include "CPlayer.hh"
00024 # include "CTeam.hh"
00025 # include "Match.hh"
00026
00027 class CRules;
00028
00033 class CMatch : public Match<CPlayer>
00034 {
00035 friend class Api;
00036
00037 public:
00038 CMatch(CRules* r, const MsgInitGame* m);
00039 virtual ~CMatch();
00040
00041 virtual CField* getField();
00042 virtual CTeam* getTeam(int team_id);
00043
00044
00045 virtual void serialize(std::ostream& os) const;
00046 virtual void unserialize(std::istream& is);
00047
00048 friend std::ostream& operator<< (std::ostream& os, const CMatch& m);
00049
00050 private:
00051
00052 void msgInitHalf(const MsgInitHalf* m);
00053 void msgPlayTurn(const MsgNewTurn* m);
00054 void msgEndTurn(const MsgEndTurn* m);
00055 void msgTimer(const MsgTimer* m);
00056 void msgTurnOver(const MsgTurnOver* m);
00057 void msgMoveTurnMarker(const MsgMoveTurnMarker* m);
00058 void msgResult(const MsgResult* m);
00059 void msgBlockResult(const MsgBlockResult* m);
00060 void msgBlockDice(const MsgBlockDice* m);
00061 void msgFollow(const MsgFollow* m);
00062 void msgBlockPush(const MsgBlockPush* m);
00063
00064 CRules* r_;
00065 };
00066
00067 # include "CMatch.hxx"
00068
00069 #endif