X-Git-Url: https://git.ucc.asn.au/?p=progcomp2013.git;a=blobdiff_plain;f=agents%2Fsilverfish%2Fsilverfish.h;h=fe0111d70d402df18bf29d5f984418bc1ac768cf;hp=dc5b26a532b2344c66637fd9b7a581fb428fe3dc;hb=7a6c3dd98ba430b9bcdf95b7a92100cb7c0a1bbe;hpb=7518ec8d771e731d6ffbbe00b275b7e3c4b23301 diff --git a/agents/silverfish/silverfish.h b/agents/silverfish/silverfish.h index dc5b26a..fe0111d 100644 --- a/agents/silverfish/silverfish.h +++ b/agents/silverfish/silverfish.h @@ -6,14 +6,32 @@ class Silver : public Agent { public: - Silver(const std::string & colour); - Silver(const std::string & colour, const std::map & new_values); + Silver(const std::string & colour, int max_depth=2;); + Silver(const std::string & colour, const std::map & new_values, int max_depth=2;); virtual ~Silver() {} virtual Square & Select(); virtual Square & Move(); - + std::map values; + int max_depth; + int depth; + +}; + +class Move +{ + public: + Move(Piece * new_p, Square & new_s, double new_score) : p(new_p), s(new_s), score(new_score) {} + virtual ~Move() {} + Move(const Move & cpy) : p(cpy.p), s(cpy.s), score(cpy.score) {} + + Piece * p; + Square & s; + double score; + + bool operator>(const Move & m) const {return score > m.score;} + bool operator<(const Move & m) const {return score < m.score;} };