関数 | |
template<Player P, class Action , Ptype Type> | |
bool | generateDrop (const NumEffectState &state, Square to, Action &action) |
Tの駒をtoに打つ手を生成する. 生成できたらtrueを返す.. | |
template<Player P, class Action , bool CheapOnly> | |
void | generateDropAll (const NumEffectState &state, Square to, Action &action) |
template<Player P, class Action , bool CheapOnly> | |
void | blockByMoveOne (const NumEffectState &state, Square pos, Action &action) |
安い駒でposへ移動する手を生成する. 自殺手も生成している. TODO: あんまりなif文 PAWN,LANCE mask, それ以外maskでOK |
void osl::move_generator::escape::blockByMoveOne | ( | const NumEffectState & | state, | |
Square | pos, | |||
Action & | action | |||
) |
安い駒でposへ移動する手を生成する. 自殺手も生成している. TODO: あんまりなif文 PAWN,LANCE mask, それ以外maskでOK
escape_.tcc の 52 行で定義されています。
参照先 osl::BISHOP, osl::NumEffectState::effectSetAt(), osl::Piece::EMPTY(), osl::GOLD, osl::KNIGHT, osl::LANCE, osl::PAWN, osl::SimpleState::pieceOf(), osl::NumEffectState::piecesOnBoard(), osl::ROOK, osl::PieceMask::selectBit(), と osl::SILVER.
bool osl::move_generator::escape::generateDrop | ( | const NumEffectState & | state, | |
Square | to, | |||
Action & | action | |||
) |
Tの駒をtoに打つ手を生成する. 生成できたらtrueを返す..
escape_.tcc の 19 行で定義されています。
参照先 osl::SimpleState::isPawnMaskSet(), osl::PAWN, と osl::Square::x().
void osl::move_generator::escape::generateDropAll | ( | const NumEffectState & | state, | |
Square | to, | |||
Action & | action | |||
) |
escape_.tcc の 34 行で定義されています。