All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Functions
osl::move_generator::escape Namespace Reference

Functions

template<Player P, class Action , Ptype Type>
bool generateDrop (const NumEffectState &state, Square to, Action &action)
 Tの駒をtoに打つ手を生成する. 生成できたらtrueを返す. More...
 
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 More...
 

Function Documentation

template<Player P, class Action , bool CheapOnly>
void osl::move_generator::escape::blockByMoveOne ( const NumEffectState &  state,
Square  pos,
Action &  action 
)

安い駒でposへ移動する手を生成する. 自殺手も生成している. TODO: あんまりなif文 PAWN,LANCE mask, それ以外maskでOK

Definition at line 53 of file escape_.tcc.

References osl::BISHOP, osl::Piece::EMPTY(), osl::GOLD, osl::KNIGHT, osl::LANCE, osl::PAWN, osl::ROOK, and osl::SILVER.

template<Player P, class Action , Ptype Type>
bool osl::move_generator::escape::generateDrop ( const NumEffectState &  state,
Square  to,
Action &  action 
)

Tの駒をtoに打つ手を生成する. 生成できたらtrueを返す.

Definition at line 20 of file escape_.tcc.

References osl::PtypePlayerTraits< T, P >::canDropTo(), osl::PAWN, and osl::Square::x().

template<Player P, class Action , bool CheapOnly>
void osl::move_generator::escape::generateDropAll ( const NumEffectState &  state,
Square  to,
Action &  action 
)

Definition at line 35 of file escape_.tcc.