00001
00002
00003 #ifndef _KING8GROUP_H
00004 #define _KING8GROUP_H
00005
00006 #include "osl/rating/group.h"
00007 #include "osl/rating/feature/king8.h"
00008
00009 namespace osl
00010 {
00011 namespace rating
00012 {
00013 struct AttackKing8Group : public Group
00014 {
00015 AttackKing8Group();
00016 void show(std::ostream& os, int name_width, const range_t& range,
00017 const vector<double>& weights) const
00018 {
00019 showTopN(os, name_width, range, weights, 3);
00020 }
00021 int findMatch(const NumEffectState& state, Move m, const RatingEnv&) const;
00022 bool effectiveInCheck() const { return true; }
00023 };
00024
00025 struct DefenseKing8Group : public Group
00026 {
00027 DefenseKing8Group();
00028 void show(std::ostream& os, int name_width, const range_t& range,
00029 const vector<double>& weights) const
00030 {
00031 showTopN(os, name_width, range, weights, 3);
00032 }
00033 int findMatch(const NumEffectState& state, Move m, const RatingEnv&) const;
00034 };
00035 }
00036 }
00037
00038 #endif
00039
00040
00041
00042