#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, Position last_to, int depth) |
手番の側がPosition の駒を取っても詰みがないか.
| |
static bool | effectiveAttackCandidate0 (const NumEffectState &state, Move move) |
depth==0でeffectiveAttackになる可能性がなければfalse |
checkmateIfCapture.h の 13 行で定義されています。
bool osl::checkmate::CheckmateIfCapture::cannotCapture | ( | NumEffectState & | state, | |
Position | last_to, | |||
int | depth | |||
) | [static] |
手番の側がPosition の駒を取っても詰みがないか.
depth | 0 なら ImmediateCheckmate のみ,2なら3手詰. |
checkmateIfCapture.cc の 132 行で定義されています。
参照先 osl::alt(), osl::move_generator::capture::generate(), osl::checkmate::FixedDepthSearcher::hasEscapeByMoveOfTurn(), osl::checkmate::ProofDisproof::isCheckmateSuccess(), osl::KING, と moves.
参照元 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 の 119 行で定義されています。
bool osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0 | ( | const NumEffectState & | state, | |
Move | move | |||
) | [static] |
depth==0でeffectiveAttackになる可能性がなければfalse
checkmateIfCapture.cc の 28 行で定義されています。
参照先 osl::alt(), osl::Board_Table, osl::Piece::canMoveOn(), osl::captured(), osl::Move::capturePtype(), osl::checkmate::King8Info::dropCandidate(), osl::Move::from(), osl::move_generator::addeffect8::hasEffect(), osl::Move::isDrop(), osl::Piece::isEdge(), osl::Piece::isEmpty(), osl::Neighboring8::isNeighboring8(), osl::KNIGHT, osl::checkmate::King8Info::liberty(), osl::checkmate::King8Info::moveCandidate2(), osl::BoardTable::nextPosition(), osl::Piece::position(), osl::PTYPE_EMPTY, osl::Piece::ptypeO(), osl::Move::to(), osl::unpromote(), osl::UUL, と osl::UUR.
参照元 effectiveAttack(), と osl::rating::CheckmateIfCapture::match().