打歩詰の判定. [詳細]
#include <pawnDropCheckmate.h>
Static Public メソッド | |
| template<class State > | |
| static bool | canEscape (const State &state, Position kingPosition, Direction dir, Position dropAt) |
| kingPosition に居る alt(P)の玉が dir 方向に逃げられるか. | |
| template<class State > | |
| static bool | escape7 (const State &state, Position kingPosition, Position to) |
| 王が前以外に移動可能か | |
| static bool | isMember (const NumEffectState &state, Ptype ptype, Position from, Position to) |
打歩詰の判定.
| P | 指手(攻撃)側 |
pawnDropCheckmate.h の 23 行で定義されています。
| bool osl::move_classifier::PawnDropCheckmate< P >::canEscape | ( | const State & | state, | |
| Position | kingPosition, | |||
| Direction | dir, | |||
| Position | dropAt | |||
| ) | [inline, static] |
kingPosition に居る alt(P)の玉が dir 方向に逃げられるか.
pawnDropCheckmate.h の 70 行で定義されています。
参照先 osl::Board_Table, osl::Piece::EMPTY(), osl::BoardTable::getOffset(), osl::BoardTable::getShortOffsetNotKnight(), osl::Position::isEdge(), osl::Piece::isOnBoardByOwner(), osl::Piece::owner(), osl::Piece::position(), と target.
参照元 osl::move_classifier::PawnDropCheckmate< P >::escape7().
| bool osl::move_classifier::PawnDropCheckmate< P >::escape7 | ( | const State & | state, | |
| Position | kingPosition, | |||
| Position | to | |||
| ) | [inline, static] |
王が前以外に移動可能か
pawnDropCheckmate.h の 103 行で定義されています。
参照先 osl::move_classifier::PawnDropCheckmate< P >::canEscape(), osl::D, osl::DL, osl::DR, osl::L, osl::R, osl::UL, と osl::UR.
参照元 osl::move_classifier::PawnDropCheckmate< P >::isMember().
| static bool osl::move_classifier::PawnDropCheckmate< P >::isMember | ( | const NumEffectState & | state, | |
| Ptype | ptype, | |||
| Position | from, | |||
| Position | to | |||
| ) | [inline, static] |
1.6.3