X-Git-Url: https://ruin.nu/git/?p=icfp05.git;a=blobdiff_plain;f=botsrc%2Fbot.h;h=ee236ee1e0519056ad9d70cb0aef978d0538775b;hp=731a106a4a1dbcc847ee41f2fd65da03c1ac96dd;hb=6dcb23cff9df56ada5c065398d08730ee02c9c5a;hpb=85382b67313583308195ceb0339437fa608c849e diff --git a/botsrc/bot.h b/botsrc/bot.h index 731a106..ee236ee 100644 --- a/botsrc/bot.h +++ b/botsrc/bot.h @@ -65,7 +65,8 @@ struct SPInfo{ }; -struct SPGoal{ +class SPGoal{ + public: virtual ~SPGoal(){} virtual int operator()(const SPInfo* node) const = 0; }; @@ -99,16 +100,18 @@ class Bot { int _smell; }; -struct SimpleSPGoal : public SPGoal{ +class SimpleSPGoal : public SPGoal{ std::string _to; SimpleSPGoal(std::string to); + public: int operator()(const SPInfo* node) const; }; -struct FindPlayer : SPGoal{ +class FindPlayer : SPGoal{ int _limit; const __gnu_cxx::hash_map& _players; PlayerType _type; + public: FindPlayer(const __gnu_cxx::hash_map& players, PlayerType type, int limit = 0); int operator()(const SPInfo* node) const; };