駒を取る手を生成 [詳細]
#include <capture_.h>
Static Public メソッド | |
template<Player P> | |
static void | generate (const NumEffectState &state, Square target, Action &action) |
template<Player P> | |
static void | escapeByCapture (const NumEffectState &state, Square target, Piece piece, Action &action) |
template<Player P> | |
static void | generate1 (const NumEffectState &state, Square target, Action &action) |
取る手を1手だけ作る |
駒を取る手を生成
capture_.h の 17 行で定義されています。
void osl::move_generator::Capture< Action >::escapeByCapture | ( | const NumEffectState & | state, | |
Square | target, | |||
Piece | piece, | |||
Action & | action | |||
) | [static] |
target | 取る駒の位置 (can be empty) | |
piece | この駒以外で取る before 2009/12/20 pinを考慮していなかった |
capture_.tcc の 45 行で定義されています。
参照先 osl::NumEffectState::effectSetAt(), osl::Piece::number(), osl::NumEffectState::piecesOnBoard(), と osl::PieceMask::reset().
void osl::move_generator::Capture< Action >::generate | ( | const NumEffectState & | state, | |
Square | target, | |||
Action & | action | |||
) | [static] |
target | 取る駒の位置 (can be empty) |
capture_.tcc の 35 行で定義されています。
参照先 osl::NumEffectState::effectSetAt(), osl::Square::isOnBoard(), と osl::NumEffectState::piecesOnBoard().
void osl::move_generator::Capture< Action >::generate1 | ( | const NumEffectState & | state, | |
Square | target, | |||
Action & | action | |||
) | [static] |
取る手を1手だけ作る
target | 取る駒の位置 (can be empty) |
capture_.tcc の 58 行で定義されています。
参照先 osl::NumEffectState::findCheapAttack(), osl::NumEffectState::findCheapAttackNotBy(), osl::Piece::isPiece(), osl::SimpleState::pieceAt(), と osl::NumEffectState::pinOrOpen().