All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | List of all members
osl::move_generator::AddEffect< P, isAttackToKing > Class Template Reference

利きがないstateで使えるAddEffect. More...

#include <addEffect_.h>

Public Member Functions

template<class Action >
void generateKing (const NumEffectState &state, Square target, Action &action, NearMask nearMask)
 
template<class Action >
void generateGold (const NumEffectState &state, Square target, Action &action, NearMask nearMask)
 
template<class Action >
void generate (const NumEffectState &state, Square target, Action &action)
 

Static Public Member Functions

template<class Action >
static void generateKing (const NumEffectState &state, Square target, Action &action, NearMask nearMask)
 promoteとは関係ないやつ More...
 
template<class Action >
static void generateGold (const NumEffectState &state, Square target, Action &action, NearMask nearMask)
 
template<class Action >
static void generate (const NumEffectState &state, Square target, Action &action)
 対象とするマスに利きを付ける手を生成する More...
 
static void generate (const NumEffectState &state, Square target, MoveVector &out)
 

Detailed Description

template<Player P, bool isAttackToKing = false>
class osl::move_generator::AddEffect< P, isAttackToKing >

利きがないstateで使えるAddEffect.

isAttackToKingがtrueの場合はKINGによる王手は自殺手なので生成しない 自分の手が自殺手かどうかのチェックをするか? isAttackToKing がfalseの時は,影利き,追加利きも生成する 扱う影利き,追加利きは間に駒が1個まで isAttackToKingがfalseの時は,影利き,追加利きかつopen attackを重複生成してしまうことがある. アルゴリズム:

Definition at line 67 of file addEffect_.h.

Member Function Documentation

template<Player P, bool isAttackToKing = false>
template<class Action >
static void osl::move_generator::AddEffect< P, isAttackToKing >::generate ( const NumEffectState &  state,
Square  target,
Action &  action 
)
static

対象とするマスに利きを付ける手を生成する

Parameters
P(template)- 手番のプレイヤー
state- 対象とする局面
target- 利きをつけたいマス
action- 手が存在した時に呼び出すコールバック関数

Referenced by osl::move_generator::AddEffect< P, isAttackToKing >::generate(), osl::ntesuki::NtesukiMoveGenerator::generateWithRzone(), and osl::ntesuki::getCheckMoves().

template<Player P, bool isAttackToKing = false>
static void osl::move_generator::AddEffect< P, isAttackToKing >::generate ( const NumEffectState &  state,
Square  target,
MoveVector &  out 
)
inlinestatic
template<Player P, bool isAttackToKing = false>
template<class Action >
void osl::move_generator::AddEffect< P, isAttackToKing >::generate ( const NumEffectState &  state,
Square  target,
Action &  action 
)
template<Player P, bool isAttackToKing = false>
template<class Action >
static void osl::move_generator::AddEffect< P, isAttackToKing >::generateGold ( const NumEffectState &  state,
Square  target,
Action &  action,
NearMask  nearMask 
)
static
template<Player P, bool isAttackToKing = false>
template<class Action >
void osl::move_generator::AddEffect< P, isAttackToKing >::generateGold ( const NumEffectState &  state,
Square  target,
Action &  action,
NearMask  nearMask 
)

drop move

Definition at line 464 of file addEffect_.tcc.

References target.

template<Player P, bool isAttackToKing = false>
template<class Action >
static void osl::move_generator::AddEffect< P, isAttackToKing >::generateKing ( const NumEffectState &  state,
Square  target,
Action &  action,
NearMask  nearMask 
)
static

promoteとは関係ないやつ

template<Player P, bool isAttackToKing = false>
template<class Action >
void osl::move_generator::AddEffect< P, isAttackToKing >::generateKing ( const NumEffectState &  state,
Square  target,
Action &  action,
NearMask  nearMask 
)

Definition at line 454 of file addEffect_.tcc.


The documentation for this class was generated from the following files: