Go to the documentation of this file.
16 void show(std::ostream& os,
int name_width,
const range_t& range,
17 const std::vector<double>& weights)
const
19 showTopN(os, name_width, range, weights, 3);
26 const int progress8 = env.
progress.value()/2;
27 return index*8 + progress8;
35 void show(std::ostream& os,
int name_width,
const range_t& range,
36 const std::vector<double>& weights)
const
38 showTopN(os, name_width, range, weights, 3);
44 const int progress8 = env.
progress.value()/2;
48 return index*8 + progress8;
57 for (
int p=0; p<8; ++p)
60 void show(std::ostream& os,
int name_width,
const range_t& range,
61 const std::vector<double>& weights)
const
63 showAll(os, name_width, range, weights);
67 if (! (*
this)[0].match(state, move, env))
69 const int progress8 = env.
progress.value()/2;
78 void show(std::ostream& os,
int name_width,
const range_t& range,
79 const std::vector<double>& weights)
const
81 showTopN(os, name_width, range, weights, 3);
99 const int progress8 = env.
progress.value()/2;
100 return index*8 + progress8;
109 const std::vector<double>& weights)
const
111 showAll(os, name_width, range, weights);
119 assert((*
this)[index].match(state, move, env));
const Piece findCheapAttack(Player P, Square square) const
constexpr Player alt(Player player)
mutually exclusive set of features
const Move lastMove(size_t last=1) const
int findMatch(const NumEffectState &state, Move move, const RatingEnv &env) const
std::pair< int, int > range_t
bool hasEffectIf(PtypeO ptypeo, Square attacker, Square target) const
attackerにptypeoの駒がいると仮定した場合にtargetに利きがあるかどうか を stateをupdateしないで確かめる.
bool effectiveInCheck() const
bool effectiveInCheck() const
bool inCheck(Player P) const
Pの玉が王手状態
void showAll(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
Ptype oldPtype() const
移動前のPtype, i.e., 成る手だった場合成る前
int findMatch(const NumEffectState &state, Move move, const RatingEnv &env) const
void show(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
PtypeO ptypeO() const
移動後のPtype, i.e., 成る手だった場合成った後
static int index(const NumEffectState &state, Square position, const RatingEnv &env)
bool isNormal() const
INVALID でも PASS でもない.
const Square from() const
void show(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
void show(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
bool effectiveInCheck() const
void show(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights) const
void showTopN(std::ostream &os, int name_width, const range_t &range, const std::vector< double > &weights, int n) const
bool effectiveInCheck() const
int findMatch(const NumEffectState &state, Move move, const RatingEnv &env) const
int findMatch(const NumEffectState &state, Move move, const RatingEnv &env) const