};
-struct SPGoal{
- virtual ~SPGoal(){}
- virtual int operator()(const SPInfo* node) const = 0;
+class SPGoal{
+ public:
+ virtual ~SPGoal(){}
+ virtual int operator()(const SPInfo* node) const = 0;
};
class Bot {
void buildGraph();
void updateWorld();
virtual std::string turn() = 0;
+ virtual void preGamePreparations(){};
void move(std::string location);
void getPlayers();
std::list<std::string> shortestPath(const std::string& from, PlayerType type, const SPGoal& goal, bool reverse = false);
int _smell;
};
-struct SimpleSPGoal : public SPGoal{
+class SimpleSPGoal : public SPGoal{
std::string _to;
+ public:
SimpleSPGoal(std::string to);
int operator()(const SPInfo* node) const;
};
-struct FindPlayer : SPGoal{
+class FindPlayer : public SPGoal{
int _limit;
const __gnu_cxx::hash_map<std::string, Player>& _players;
PlayerType _type;
+ public:
FindPlayer(const __gnu_cxx::hash_map<std::string, Player>& players, PlayerType type, int limit = 0);
int operator()(const SPInfo* node) const;
};