#include <immediateCheckmate.h>
Static Public メソッド | |
| template<Player P, bool setBestMove> | |
| static bool | slowHasCheckmateMoveDirPiece (NumEffectState const &state, Position target, King8Info mask, Direction d, Position pos, Piece p, Ptype ptype, Move &bestMove) |
| template<Player P, bool setBestMove> | |
| static bool | hasCheckmateMoveDirPiece (NumEffectState const &state, Position target, King8Info mask, Direction d, Position pos, Piece p, Move &bestMove) |
| template<Player P, bool setBestMove> | |
| static bool | hasCheckmateMoveDir (NumEffectState const &state, Position target, King8Info mask, Direction d, Move &bestMove) |
| template<Player P, bool setBestMove> | |
| static bool | hasCheckmateMove (NumEffectState const &state, Position target, King8Info mask, Move &bestMove) |
| template<Player P> | |
| static bool | hasCheckmateMove (NumEffectState const &state) |
| 一手詰めがある局面かどうか判定(move). | |
| template<Player P> | |
| static bool | hasCheckmateMove (NumEffectState const &state, King8Info) |
| template<Player P> | |
| static bool | hasCheckmateMove (NumEffectState const &state, Move &bestMove) |
| 一手詰めがある局面かどうか判定(move). | |
| template<Player P> | |
| static bool | hasCheckmateMove (NumEffectState const &state, King8Info canMoveMask, Position king, Move &bestMove) |
| static bool | hasCheckmateMove (Player pl, NumEffectState const &state) |
| static bool | hasCheckmateMove (Player pl, NumEffectState const &state, Move &bestMove) |
Static Private メソッド | |
| template<Player P, bool setBestMove> | |
| static bool | hasCheckmateDrop (NumEffectState const &state, Position target, King8Info mask, Move &bestMove) |
immediateCheckmate.h の 13 行で定義されています。
| bool osl::checkmate::ImmediateCheckmate::hasCheckmateMove | ( | Player | pl, | |
| NumEffectState const & | state, | |||
| Move & | bestMove | |||
| ) | [static] |
immediateCheckmate.cc の 44 行で定義されています。
参照先 osl::BLACK.
| bool osl::checkmate::ImmediateCheckmate::hasCheckmateMove | ( | Player | pl, | |
| NumEffectState const & | state | |||
| ) | [static] |
immediateCheckmate.cc の 35 行で定義されています。
参照先 osl::BLACK.
| template bool osl::checkmate::ImmediateCheckmate::hasCheckmateMove< WHITE > | ( | NumEffectState const & | state, | |
| King8Info | canMoveMask, | |||
| Position | king, | |||
| Move & | bestMove | |||
| ) | [inline, static] |
immediateCheckmate.tcc の 421 行で定義されています。
| template bool osl::checkmate::ImmediateCheckmate::hasCheckmateMove< WHITE > | ( | NumEffectState const & | state, | |
| Move & | bestMove | |||
| ) | [inline, static] |
一手詰めがある局面かどうか判定(move).
手番の側に王手がかかっている場合は除く 長い利きによる王手は生成しない. pinされている駒の利きがないために詰みになる例も扱わない.
| P(template) | - 攻撃側(手番側)のプレイヤー | |
| state | - 局面 | |
| best_move | - ある場合に詰めの手を返す |
immediateCheckmate.tcc の 434 行で定義されています。
参照先 target.
| bool osl::checkmate::ImmediateCheckmate::hasCheckmateMove | ( | NumEffectState const & | state, | |
| King8Info | canMoveMask | |||
| ) | [inline, static] |
immediateCheckmate.tcc の 396 行で定義されています。
参照先 osl::Position::isOnBoard(), と target.
| template bool osl::checkmate::ImmediateCheckmate::hasCheckmateMove< WHITE > | ( | NumEffectState const & | state | ) | [inline, static] |
一手詰めがある局面かどうか判定(move).
手番の側に王手がかかっている場合は除く 長い利きによる王手は生成しない. pinされている駒の利きがないために詰みになる例も扱わない.
| P(template) | - 攻撃側(手番側)のプレイヤー | |
| state | - 局面 |
immediateCheckmate.tcc の 410 行で定義されています。
参照先 osl::Position::isOnBoard(), と target.
| bool osl::checkmate::ImmediateCheckmate::hasCheckmateMove | ( | NumEffectState const & | state, | |
| Position | target, | |||
| King8Info | mask, | |||
| Move & | bestMove | |||
| ) | [inline, static] |
immediateCheckmate.tcc の 381 行で定義されています。
| bool osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece | ( | NumEffectState const & | state, | |
| Position | target, | |||
| King8Info | mask, | |||
| Direction | d, | |||
| Position | pos, | |||
| Piece | p, | |||
| Move & | bestMove | |||
| ) | [inline, static] |
immediateCheckmate.tcc の 326 行で定義されています。
参照先 osl::BLACK, osl::Board_Table, osl::Position::canPromote(), osl::canPromote(), osl::DIRECTION_INVALID_VALUE, osl::EMPTY_NUM, osl::BoardTable::getShort8Unsafe(), osl::checkmate::Immediate_Checkmate_Table, osl::inverse(), osl::isMajorBasic(), osl::checkmate::ImmediateCheckmateTable::noEffectMask(), osl::Piece::number(), osl::PAWN, osl::Piece::position(), osl::promote(), osl::Piece::ptype(), と osl::checkmate::King8Info::value.
| bool osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece | ( | NumEffectState const & | state, | |
| Position | target, | |||
| King8Info | mask, | |||
| Direction | d, | |||
| Position | pos, | |||
| Piece | p, | |||
| Ptype | ptype, | |||
| Move & | bestMove | |||
| ) | [inline, static] |
immediateCheckmate.tcc の 212 行で定義されています。
参照先 osl::Board_Table, osl::BoardTable::getOffset(), osl::checkmate::Immediate_Checkmate_Table, osl::BoardTable::isBetween(), osl::Piece::isEmpty(), osl::checkmate::ImmediateCheckmateTable::noEffectMask(), osl::Piece::number(), osl::Position::position, osl::Piece::position(), osl::PROOK, osl::Piece::ptype(), osl::checkmate::King8Info::value, osl::Position::x(), と osl::Position::y().
1.6.3