17 assert(state.
turn() != attacker);
31 if (result.get(ptype) < max.
get(ptype))
Ptype unpromote(Ptype ptype)
ptypeがpromote後の型の時に,promote前の型を返す. promoteしていない型の時はそのまま返す ...
int max(Player p, int v1, int v2)
constexpr Player alt(Player player)
bool inUnblockableCheck(Player target) const
target の王に合駒可能でない王手がかかっているかどうか.
unsigned int get(Ptype type) const
static const PieceStand attack(const PieceStand prev, Move move, const PieceStand max)
static void addMonopolizedPieces(const SimpleState &state, Player player, const PieceStand max, PieceStand &out)
alt(player) が持っていない種類の持駒を playerが持っていたら out に独占分を加算する. ...
Ptype capturePtype() const
static const PieceStand defense(const CheckMoveList &moves, const NumEffectState &state, PieceStand max)
constexpr bool isPiece(Ptype ptype)
ptypeが空白やEDGEでないかのチェック
PtypeO captured(PtypeO ptypeO)
unpromoteすると共に,ownerを反転する.
static const PieceStand leaf(const NumEffectState &state, Player attacker, const PieceStand max)