21 for (
int p=0; p<8; ++p)
22 push_back(
new PinAttack(
true, self, target));
23 for (
int p=0; p<8; ++p)
24 push_back(
new PinAttack(
false, self, target));
28 void show(std::ostream& os,
int name_width,
const range_t& range,
29 const std::vector<double>& weights)
const
31 showTopN(os, name_width, range, weights, 3);
35 const int progress8 = env.
progress.value()/2;
37 if (attack_index >= 0)
38 return attack_index*8 + progress8;
40 if (defense_index >= 0)
41 return defense_index*8 + progress8;
52 for (
int p=0; p<8; ++p)
56 void show(std::ostream& os,
int name_width,
const range_t& range,
57 const std::vector<double>& weights)
const
59 showTopN(os, name_width, range, weights, 3);
74 const int progress8 = env.
progress.value()/2;
75 return s*8 + progress8;
const mask_t getMask(int num) const
int getIndex(Ptype) const
mask_t getMaskLow(Ptype ptype) const
mutually exclusive set of features
void showTopN(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights, int n) const
static int index(const NumEffectState &state, Move move, const RatingEnv &, bool attack, Piece p)
std::pair< int, int > range_t
const PtypeTable Ptype_Table
void show(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
int findMatch(const NumEffectState &, Move move, const RatingEnv &env) const
void show(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
int findMatch(const NumEffectState &state, Move move, const RatingEnv &env) const