3 #ifndef OSL_MOVE_CLASSIFIER_KING_OPEN_MOVE_H 4 #define OSL_MOVE_CLASSIFIER_KING_OPEN_MOVE_H 11 namespace move_classifier
49 return isMemberMain<true>(state, ptype, from, to, exceptFor);
52 template <
bool hasException>
64 static const bool drop_suitable =
false;
65 static const bool result_if_drop =
false;
PieceMask pinOrOpen(Player king) const
const PtypeO PTYPEO_EDGE __attribute__((unused))
const Piece pieceAt(Square sq) const
static bool isMemberMain(const NumEffectState &state, Ptype ptype, Square from, Square to, Square exceptFor)
static bool isMember(const NumEffectState &state, Ptype, Square from, Square to)
king が59 rookが51->61の時,差は OFFSET -8 -> U OFFSET +8 -> D とはなるので,一直線のような気がする....
Square kingSquare() const
static bool isPieceNum(int num)
Direction getShort8(Square from, Square to) const
Pの王をopen checkにする手でないことをチェック.
Direction getShort8Unsafe(Square from, Square to) const
8方向にいない場合も適当なものを返す.
static bool isMember(const NumEffectState &state, Ptype ptype, Square from, Square to, Square exceptFor)
const BoardTable Board_Table