40 if (
match(state, move, env, p))
PtypeO ptypeO() const
移動後のPtype, i.e., 成る手だった場合成った後
const Square from() const
int countEffect(Player player, Square target) const
利きの数を数える.
bool hasEffectByPiece(Piece attack, Square target) const
駒attack が target に利きを持つか (旧hasEffectToと統合)
bool hasEffectIf(PtypeO ptypeo, Square attacker, Square target) const
attackerにptypeoの駒がいると仮定した場合にtargetに利きがあるかどうか を stateをupdateしないで確かめる.
const mask_t getMask(int num) const
const Square square() const
int getIndex(Ptype) const
const char * getCsaName(Ptype ptype) const
mask_t getMaskLow(Ptype ptype) const
const Piece pieceOnBoard(Square sq) const
const Piece pieceOf(int num) const
bool match(const NumEffectState &, Move move, const RatingEnv &env) const
const std::string & name() const
bool match(const NumEffectState &state, Move move, const RatingEnv &, Piece p) const
static int index(const NumEffectState &state, Move move, const RatingEnv &env, bool attack)
PinAttack(bool a, Ptype s, Ptype t)
static const std::string name(bool attack, Ptype self, Ptype target)
bool match(const NumEffectState &state, Move move, const RatingEnv &env) const
static int index(const NumEffectState &state, Move move, const RatingEnv &, bool attack, Piece p)
const PtypeTable Ptype_Table
constexpr Player alt(Player player)