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

Classes

class  GoldKingAction
 promote不可能な足の短い駒による利きの生成用 Functor More...
 
class  ShortPieceAction
 promote可能な足の短い駒による利きの生成用 Functor More...
 
class  LongPieceAction
 足の長い駒による利きの生成用 Functor More...
 

Functions

template<Player P, Ptype T, class Action , bool isPromote>
void generateMove (const NumEffectState &state, Square from, Square target, NearMask nearMask, Action &action)
 
template<Player P, Ptype T, class Action >
void generateLongMoveDirectNoPromote (const NumEffectState &state, Square from, Square target, NearMask nearMask, Action &action)
 
template<Player P, Ptype T, class Action >
void generateLongMoveDirectCanPromote (const NumEffectState &state, Square from, Square target, NearMask nearMask, Action &action)
 
template<bool isAttackToKing>
bool isEmptyOrAdditional (const NumEffectState &state, Square from, Square to, int &count)
 
template<Player P, Ptype T, class Action , bool canPromote, bool isAttackToKing>
void generateLongMove (const NumEffectState &state, Square from, Square target, NearMask nearMask, Action &action, int piece_num)
 
template<Player P, Ptype T, class Action , bool isLong, bool isAttackToKing>
void generateDrop (const NumEffectState &state, Square target, NearMask nearMask, Action &action)
 

Function Documentation

template<Player P, Ptype T, class Action , bool isLong, bool isAttackToKing>
void osl::move_generator::without_effect::generateDrop ( const NumEffectState &  state,
Square  target,
NearMask  nearMask,
Action &  action 
)

二歩の禁止

Definition at line 293 of file addEffect_.tcc.

References osl::Board_Table, osl::Piece::isEdge(), osl::isLong(), and osl::PAWN.

template<Player P, Ptype T, class Action , bool canPromote, bool isAttackToKing>
void osl::move_generator::without_effect::generateLongMove ( const NumEffectState &  state,
Square  from,
Square  target,
NearMask  nearMask,
Action &  action,
int  piece_num 
)
template<Player P, Ptype T, class Action >
void osl::move_generator::without_effect::generateLongMoveDirectCanPromote ( const NumEffectState &  state,
Square  from,
Square  target,
NearMask  nearMask,
Action &  action 
)
template<Player P, Ptype T, class Action >
void osl::move_generator::without_effect::generateLongMoveDirectNoPromote ( const NumEffectState &  state,
Square  from,
Square  target,
NearMask  nearMask,
Action &  action 
)
template<Player P, Ptype T, class Action , bool isPromote>
void osl::move_generator::without_effect::generateMove ( const NumEffectState &  state,
Square  from,
Square  target,
NearMask  nearMask,
Action &  action 
)
Parameters
P(template)- 攻撃側のプレイヤー
T(template)- 攻撃側の駒の種類
state- 局面
from- 攻撃しようとする駒の位置
target- 攻撃しようとするマス すでに攻撃しようとするマスに利きがある場合は何もしない? 当然ながら,自分で動いてもとの位置に利きをつけるなどは考えない

Definition at line 25 of file addEffect_.tcc.

References osl::move_generator::Add_Effect_Table, osl::Board_Table, osl::Square::canPromote(), osl::move_generator::AddEffectTable::getNearMask(), osl::move_generator::AddEffectTable::getNearMaskWithPromote(), and target.

template<bool isAttackToKing>
bool osl::move_generator::without_effect::isEmptyOrAdditional ( const NumEffectState &  state,
Square  from,
Square  to,
int &  count 
)