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