#ifndef Wagnis_Player_h #define Wagnis_Player_h #include "WagnisPrereqs.h" #include "Wagnis.h" #include "OrxonoxPrereqs.h" #include "core/CoreIncludes.h" #include "core/XMLPort.h" #include "WagnisProvince.h" #include "WagnisGameboard.h" #include #include #include "infos/HumanPlayer.h" #include #include namespace orxonox { class WagnisPlayer : public HumanPlayer, public Tickable { public: WagnisPlayer(Context*); virtual ~WagnisPlayer(); void tick(float); void playerTurn(); bool checkMove(MoveType); void setTroops(WagnisProvince*); void attack(WagnisProvince*,WagnisProvince*); void moveTroops(WagnisProvince*,WagnisProvince*); std::string toString(); void setActive(bool); bool isActive() const; void resetProvinceSelection(); Wagnis* master; GameStage gameStage; bool province_selection_changed; int Player_ID; WagnisGameboard* gameBoard; WagnisProvince* origin_province; WagnisProvince* target_province; int reinforcements; std::vector AlreadyChecked; bool isNeighbour(WagnisProvince*, WagnisProvince*); bool existPath(WagnisProvince*, WagnisProvince*); bool contains(std::vector, int); int dice(); int best3(int, int, int); int best2(int, int); int second3(int, int, int); int second2(int, int); private: bool is_active; }; } #endif