#include <checkmateIfCapture.h>
構成 | |
struct | CallDefense |
Static Public メソッド | |
static bool | effectiveAttack (NumEffectState &state, Move move, int depth) |
move を指した後,alt(move.player())が取ると詰みかどうか. | |
static bool | cannotCapture (NumEffectState &state, Square last_to, int depth) |
手番の側がSquare の駒を取っても詰みがないか.
| |
static bool | effectiveAttackCandidate0 (const NumEffectState &state, Move move) |
depth==0でeffectiveAttackになる可能性がなければfalse |
checkmateIfCapture.h の 13 行で定義されています。
bool osl::checkmate::CheckmateIfCapture::cannotCapture | ( | NumEffectState & | state, | |
Square | last_to, | |||
int | depth | |||
) | [static] |
手番の側がSquare の駒を取っても詰みがないか.
depth | 0 なら ImmediateCheckmate のみ,2なら3手詰. |
checkmateIfCapture.cc の 133 行で定義されています。
参照先 osl::alt(), osl::NumEffectState::countEffect(), osl::move_generator::capture::generate(), osl::NumEffectState::hasEffectByPiece(), osl::checkmate::FixedDepthSearcher::hasEscapeByMoveOfTurn(), osl::NumEffectState::inCheck(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::SimpleState::kingSquare(), osl::SimpleState::pieceOnBoard(), と osl::SimpleState::turn().
参照元 osl::checkmate::CheckmateIfCapture::CallDefense::operator()().
bool osl::checkmate::CheckmateIfCapture::effectiveAttack | ( | NumEffectState & | state, | |
Move | move, | |||
int | depth | |||
) | [static] |
move を指した後,alt(move.player())が取ると詰みかどうか.
depth | 0 なら ImmediateCheckmate のみ,2なら3手詰. |
checkmateIfCapture.cc の 120 行で定義されています。
参照先 effectiveAttackCandidate0(), osl::NumEffectState::makeUnmakeMove(), osl::Move::player(), と osl::SimpleState::turn().
参照元 osl::move_probability::CheckmateIfCapture::hasSafeCapture(), と osl::rating::CheckmateIfCapture::match().
bool osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0 | ( | const NumEffectState & | state, | |
Move | move | |||
) | [static] |
depth==0でeffectiveAttackになる可能性がなければfalse
checkmateIfCapture.cc の 21 行で定義されています。
参照先 osl::alt(), osl::Board_Table, osl::Piece::canMoveOn(), osl::captured(), osl::Move::capturePtype(), osl::NumEffectState::countEffect(), osl::NumEffectState::effectSetAt(), osl::Move::from(), osl::NumEffectState::hasEffectAt(), osl::NumEffectState::hasEffectByPiece(), osl::NumEffectState::hasEffectByPtypeStrict(), osl::NumEffectState::hasEffectNotBy(), osl::SimpleState::hasPieceOnStand(), osl::NumEffectState::inCheck(), osl::Move::isCapture(), osl::Move::isDrop(), osl::Piece::isEdge(), osl::Piece::isEmpty(), osl::Square::isNeighboring8(), osl::Piece::isOnBoardByOwner(), osl::NumEffectState::king8Info(), osl::SimpleState::kingSquare(), osl::KNIGHT, osl::NumEffectState::longEffectAt(), osl::BoardTable::nextSquare(), osl::SimpleState::pieceAt(), osl::SimpleState::pieceOf(), osl::SimpleState::pieceOnBoard(), osl::NumEffectState::piecesOnBoard(), osl::Piece::ptypeO(), osl::Piece::square(), osl::Move::to(), osl::SimpleState::turn(), osl::unpromote(), osl::UUL, と osl::UUR.
参照元 effectiveAttack(), と osl::rating::CheckmateIfCapture::match().