関数 | |
template<Player P> | |
bool | blockingVerticalAttack (NumEffectState const &state, Square pos) |
template<Player P> | |
bool | blockingDiagonalAttack (NumEffectState const &state, Square pos, Square target, King8Info canMoveMask) |
template<Player P, bool canDrop, bool setBestMove> | |
bool | hasKnightCheckmate (NumEffectState const &state, Square target, Square pos, King8Info canMoveMask, Move &bestMove, mask_t mask1) |
template<Player P, bool setBestMove> | |
bool | hasCheckmateMoveKnight (NumEffectState const &state, Square target, King8Info canMoveMask, Move &bestMove) |
template<Player P, bool setBestMove> | |
bool | slowCheckDrop (NumEffectState const &state, Square target, Ptype ptype, King8Info canMoveMask, Move &bestMove) |
bool osl::checkmate::detail::blockingDiagonalAttack | ( | NumEffectState const & | state, | |
Square | pos, | |||
Square | target, | |||
King8Info | canMoveMask | |||
) |
immediateCheckmate.tcc の 54 行で定義されています。
参照先 osl::alt(), osl::Board_Table, osl::Piece::canMoveOn(), osl::NumEffectState::countEffect(), osl::NumEffectState::effectSetAt(), osl::PieceMask::getMask(), osl::BoardTable::getShort8OffsetUnsafe(), osl::Piece::isEmpty(), osl::Square::isOnBoard(), osl::SimpleState::pieceAt(), osl::SimpleState::pieceOf(), osl::NumEffectState::piecesOnBoard(), osl::Piece::square(), と osl::checkmate::King8Info::uint64Value().
bool osl::checkmate::detail::blockingVerticalAttack | ( | NumEffectState const & | state, | |
Square | pos | |||
) |
immediateCheckmate.tcc の 19 行で定義されています。
参照先 osl::alt(), osl::Piece::canMoveOn(), osl::NumEffectState::countEffect(), osl::NumEffectState::effectSetAt(), osl::PieceMask::getMask(), osl::Piece::isEmpty(), osl::Square::isOnBoard(), osl::Square::isU(), osl::SimpleState::pieceAt(), osl::SimpleState::pieceOf(), osl::NumEffectState::piecesOnBoard(), と osl::Piece::square().
bool osl::checkmate::detail::hasCheckmateMoveKnight | ( | NumEffectState const & | state, | |
Square | target, | |||
King8Info | canMoveMask, | |||
Move & | bestMove | |||
) |
bool osl::checkmate::detail::hasKnightCheckmate | ( | NumEffectState const & | state, | |
Square | target, | |||
Square | pos, | |||
King8Info | canMoveMask, | |||
Move & | bestMove, | |||
mask_t | mask1 | |||
) |
bool osl::checkmate::detail::slowCheckDrop | ( | NumEffectState const & | state, | |
Square | target, | |||
Ptype | ptype, | |||
King8Info | canMoveMask, | |||
Move & | bestMove | |||
) |
immediateCheckmate.tcc の 148 行で定義されています。
参照先 osl::checkmate::ImmediateCheckmateTable::blockingMask(), osl::Board_Table, osl::NumEffectState::effectSetAt(), osl::PieceMask::getMask(), osl::BoardTable::getOffset(), osl::checkmate::Immediate_Checkmate_Table, osl::BoardTable::isBetween(), osl::SimpleState::pieceOf(), osl::NumEffectState::piecesOnBoard(), osl::checkmate::ImmediateCheckmateTable::ptypeDropMask(), osl::Piece::square(), osl::misc::BitOp::takeOneBit(), と osl::checkmate::King8Info::uint64Value().