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