const BoardTable Board_Table
Offset32Base< 8, 9 > Offset32
bool hasLongMove(Ptype ptype) const
遅くて良い?
const mask_t allEffectAt(Player P, Square target) const
GeneralMask< mask_int_t > mask_t
const PtypeTable Ptype_Table
const Piece pieceOf(int num) const
const Piece findAttackAt(Player attack, Square target) const
return a piece s.t.
Ptype oldPtype() const
移動前のPtype, i.e., 成る手だった場合成る前
const Piece pieceOnBoard(Square sq) const
Ptype capturePtype() const
Move newFrom(Square new_from) const
const Offset getShortOffsetNotKnight(Offset32 offset32) const
Longの利きの可能性のあるoffsetの場合は, 反復に使う offsetを Knight以外のShortの利きのoffsetの場合はそれ自身を返す.
const Square from() const
bool isAlmostValidMove(Move move) const
合法手かどうかを簡単に検査する.局面に依存するチェックのみ. ルール上指せない手である可能性がある場合は,isValidMove を用いる.
const Square square() const
static bool isValidMoveByRule(Move move, bool show_error)
盤面以外の部分の反則のチェック
const Move newCapture(Piece capture) const
static const Move attack(const NumEffectState &state, Move check_move)
Ptype unpromote(Ptype ptype)
ptypeがpromote後の型の時に,promote前の型を返す. promoteしていない型の時はそのまま返す