X-Git-Url: https://ruin.nu/git/?p=icfp05.git;a=blobdiff_plain;f=bot%2Fbot.h;h=731a106a4a1dbcc847ee41f2fd65da03c1ac96dd;hp=72d2d6bd7a88888bd3f9367dc3c783beac2c435b;hb=d7d9942fc9d1066670e166182e36791dfbf035d7;hpb=bce3d3b3c8b9f91f27000149fbd04f3a7f14800e diff --git a/bot/bot.h b/bot/bot.h index 72d2d6b..731a106 100644 --- a/bot/bot.h +++ b/bot/bot.h @@ -101,13 +101,16 @@ class Bot { struct SimpleSPGoal : public SPGoal{ std::string _to; - SimpleSPGoal(std::string to):_to(to){}; - ~SimpleSPGoal(){} - int operator()(const SPInfo* node) const{ - if (node->name == _to) - return 1; - return 0; - } + SimpleSPGoal(std::string to); + int operator()(const SPInfo* node) const; +}; + +struct FindPlayer : SPGoal{ + int _limit; + const __gnu_cxx::hash_map& _players; + PlayerType _type; + FindPlayer(const __gnu_cxx::hash_map& players, PlayerType type, int limit = 0); + int operator()(const SPInfo* node) const; }; #endif