All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Static Public Member Functions
osl::move_generator::AddEffect< P, isAttackToKing > Class Template Reference

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

#include <addEffect_.h>

List of all members.

Static Public Member Functions

template<class Action >
static void generateKing (const NumEffectState &state, Square target, Action &action, NearMask nearMask)
 promoteとは関係ないやつ
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)
 対象とするマスに利きを付ける手を生成する
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<osl::Player P, bool isAttackToKing>
template<class Action >
void osl::move_generator::AddEffect< P, isAttackToKing >::generate ( const NumEffectState &  state,
Square  target,
Action &  action 
) [static]

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

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

Definition at line 479 of file addEffect_.tcc.

References osl::move_generator::capture::generate(), osl::move_generator::addeffect8::generateGold(), osl::move_generator::detail::generateKing(), and target.

Referenced by osl::move_generator::AddEffect< P, isAttackToKing >::generate().

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

drop move

Definition at line 464 of file addEffect_.tcc.

References target.

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

promoteとは関係ないやつ

Definition at line 454 of file addEffect_.tcc.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines