構造体 osl::effect_util::EffectUtil

EffectState Ѥ뤿Υ᥽å NumSimpleEffect ʤɤθ󥿡ե Ȥäƽ񤱤륳 [詳細]

#include <effectUtil.h>

すべてのメンバ一覧

Public メソッド

template<class EffectState>
void findEffect (Player P, const EffectState &state, Position target, PieceVector &out)

Static Public メソッド

template<class EffectState>
static Piece cheapestPiece (Player P, const EffectState &, Position effectTarget)
 effectTarget ΤäȤ¤õ
static Ptype cheapestPtype (Player P, const NumEffectState &, Position effect_target)
template<class EffectState>
static Piece promotablePiece (Player P, const EffectState &, Position effectTarget)
 pos Τ promote ǽ ptype Ķõ pos promote ǽʥޥɤϸʤ
template<class EffectState>
static bool isKingInCheck (Player P, const EffectState &state)
 Player P βŨ뤫ɤĴ٤
template<class EffectState>
static Piece kingAttackPiece (Player P, const EffectState &state)
 Player P βΤŨζĴ٤
template<class EffectState>
static void showEffect (const EffectState &state, Position target, std::ostream &)
 target ˤɽ
template<class State, class Function, bool InterestEmpty>
static void forEachEffectOfPtypeO (const State &state, Position, PtypeO, Function &f)
 PtypeO Position ˤȲꤷˤ.
template<Player P, class State, class Function, bool InterestEmpty>
static void forEachEffectOfPtypeO (const State &state, Position, Ptype, Function &f)
template<class State, class Function, bool InterestEmpty>
static void forEachEffectOfMove (const State &state, Move m, Function &f)
 Move m ؤ(open ) Position f Ϥ.
template<class State, class Function>
static void forEachEffectPositionOfMove (const State &state, Move m, Function &f)
template<class State, class Function>
static void forEachEffectPieceOfMove (const State &state, Move m, Function &f)
static Piece mostValuableEffectOfMoveNotKing (Player target, const SimpleState &state, Move m)
 Move m ؤΡPlayer target ζؤ(open ) Ĵ٤(KING ʳ)Ǥͤι⤤֤ ̵ Piece::EMPTY() ֤
static void mostValuableEffectOfMoveNotKing (Player target, const SimpleState &state, Move m, CArray< Piece, 2 > &out)
 Move m ؤΡPlayer target ζؤ(open ) Ĵ٤(KING ʳ)Ǥͤι⤤֤ ̵ Piece::EMPTY() ֤
template<Player P, class EffectState>
static Piece safeCaptureNotByKing (const EffectState &state, Position target, Piece king)
 ̤ȴʤ˹ˡtarget˰ưǽȽ
template<class EffectState>
static Piece safeCaptureNotByKing (Player P, const EffectState &state, Position target)
template<class EffectState, class Action>
static void forEachEffect (Player P, const EffectState &state, Position pos, Action &a)
 forEachEffect Player template ̾ΰˤС
template<class EffectState>
static void findEffect (Player P, const EffectState &state, Position target, container::PieceVector &out)
 target ΤPieceout˳Ǽ
template<Player P>
static bool isOpenAttackMove (const SimpleState &state, Position target, Position from, Position to)
 frommoveؤmoveؤOpen AttackˤʤäƤ뤫.
template<Player P>
static bool isAddEffectMove (const SimpleState &state, Position target, Move move)
 moveؤ䤹ɤ.
static void findThreat (const NumEffectState &state, Position position, PtypeO ptypeo, PieceVector &out)
 state position ptypeo äꤷơҤout˽

構成

struct  FindThreat
struct  SafeCapture
struct  SelectMostValuable
struct  SelectMostValuableN


説明

EffectState Ѥ뤿Υ᥽å NumSimpleEffect ʤɤθ󥿡ե Ȥäƽ񤱤륳

effectUtil.h30 行で定義されています。


関数

template<class EffectState>
osl::Piece osl::effect_util::EffectUtil::cheapestPiece ( Player  P,
const EffectState &  state,
Position  effectTarget 
) [inline, static]

effectTarget ΤäȤ¤õ

戻り値:
ޤϡ̵ Piece::EMPTY() ֤
引数:
P õоݤζνͭ
effectTarget on board Ǥ뤳

effectUtil.tcc14 行で定義されています。

参照先 forEachEffect(), と osl::Position::isOnBoard().

static Ptype osl::effect_util::EffectUtil::cheapestPtype ( Player  P,
const NumEffectState &  ,
Position  effect_target 
) [static]

template<class EffectState>
osl::Piece osl::effect_util::EffectUtil::promotablePiece ( Player  P,
const EffectState &  state,
Position  effectTarget 
) [inline, static]

pos Τ promote ǽ ptype Ķõ pos promote ǽʥޥɤϸʤ

戻り値:
ޤϡ̵ Piece::EMPTY() ֤
引数:
P õоݤζνͭ
effectTarget on board Ǥ뤳

effectUtil.tcc24 行で定義されています。

参照先 forEachEffect(), と osl::Position::isOnBoard().

template<class EffectState>
static bool osl::effect_util::EffectUtil::isKingInCheck ( Player  P,
const EffectState &  state 
) [inline, static]

Player P βŨ뤫ɤĴ٤

effectUtil.h59 行で定義されています。

参照先 osl::alt(), と osl::Position::isPieceStand().

template<class EffectState>
static Piece osl::effect_util::EffectUtil::kingAttackPiece ( Player  P,
const EffectState &  state 
) [inline, static]

Player P βΤŨζĴ٤

戻り値:
̵ Piece::EMPTY() ֤

effectUtil.h72 行で定義されています。

参照先 osl::alt(), osl::Piece::EMPTY(), と osl::Position::isPieceStand().

template<class EffectState>
void osl::effect_util::EffectUtil::showEffect ( const EffectState &  state,
Position  target,
std::ostream &  os 
) [inline, static]

target ˤɽ

effectUtil.tcc34 行で定義されています。

参照先 osl::BLACK, findEffect(), osl::Position::isOnBoard(), と osl::WHITE.

template<class State, class Function, bool InterestEmpty>
void osl::effect_util::EffectUtil::forEachEffectOfPtypeO ( const State state,
Position  from,
PtypeO  ptypeo,
Function &  f 
) [inline, static]

PtypeO Position ˤȲꤷˤ.

̤ºݤȰ㤦ĹΤˤʤ

引数:
InterestEmpty Υޥ˶̣뤫

effectUtil.tcc125 行で定義されています。

参照先 osl::BLACK, osl::getOwner(), と osl::getPtype().

template<osl::Player P, class State, class Function, bool InterestEmpty>
void osl::effect_util::EffectUtil::forEachEffectOfPtypeO ( const State state,
Position  from,
Ptype  ptype,
Function &  f 
) [inline, static]

effectUtil.tcc99 行で定義されています。

参照先 osl::PtypeTable::getMoveMask(), と osl::Ptype_Table.

template<class State, class Function, bool InterestEmpty>
void osl::effect_util::EffectUtil::forEachEffectOfMove ( const State state,
Move  m,
Function &  f 
) [inline, static]

Move m ؤ(open ) Position f Ϥ.

ĹϼʬưαƤ˼⤵Τ˻ߤޤ

引数:
InterestEmpty Υޥ˶̣뤫

effectUtil.tcc139 行で定義されています。

参照先 osl::Move::ptypeO(), と osl::Move::to().

template<class State, class Function>
static void osl::effect_util::EffectUtil::forEachEffectPositionOfMove ( const State state,
Move  m,
Function &  f 
) [inline, static]

effectUtil.h106 行で定義されています。

template<class State, class Function>
static void osl::effect_util::EffectUtil::forEachEffectPieceOfMove ( const State state,
Move  m,
Function &  f 
) [inline, static]

effectUtil.h111 行で定義されています。

static Piece osl::effect_util::EffectUtil::mostValuableEffectOfMoveNotKing ( Player  target,
const SimpleState &  state,
Move  m 
) [static]

Move m ؤΡPlayer target ζؤ(open ) Ĵ٤(KING ʳ)Ǥͤι⤤֤ ̵ Piece::EMPTY() ֤

static void osl::effect_util::EffectUtil::mostValuableEffectOfMoveNotKing ( Player  target,
const SimpleState &  state,
Move  m,
CArray< Piece, 2 > &  out 
) [static]

Move m ؤΡPlayer target ζؤ(open ) Ĵ٤(KING ʳ)Ǥͤι⤤֤ ̵ Piece::EMPTY() ֤

template<osl::Player P, class EffectState>
osl::Piece osl::effect_util::EffectUtil::safeCaptureNotByKing ( const EffectState &  state,
Position  target,
Piece  king 
) [inline, static]

̤ȴʤ˹ˡtarget˰ưǽȽ

引数:
king  (̤ǼϹͤʤ)
戻り値:
ưǽʶ𤬤Сʶġʤ Piece::EMPTY()
参照:
osl::move_classifier::PawnDropCheckmate

effectUtil.tcc166 行で定義されています。

参照先 osl::KING, osl::Piece::owner(), と osl::Piece::ptype().

template<class EffectState>
static Piece osl::effect_util::EffectUtil::safeCaptureNotByKing ( Player  P,
const EffectState &  state,
Position  target 
) [inline, static]

effectUtil.h143 行で定義されています。

参照先 osl::BLACK.

template<class EffectState, class Action>
static void osl::effect_util::EffectUtil::forEachEffect ( Player  P,
const EffectState &  state,
Position  pos,
Action &  a 
) [inline, static]

forEachEffect Player template ̾ΰˤС

引数:
P õоݤζνͭ
pos Τõ

effectUtil.h159 行で定義されています。

参照先 osl::BLACK.

参照元 cheapestPiece(), findEffect(), と promotablePiece().

template<class EffectState>
static void osl::effect_util::EffectUtil::findEffect ( Player  P,
const EffectState &  state,
Position  target,
container::PieceVector out 
) [inline, static]

template<osl::Player P>
bool osl::effect_util::EffectUtil::isOpenAttackMove ( const SimpleState &  state,
Position  target,
Position  from,
Position  to 
) [inline, static]

frommoveؤmoveؤOpen AttackˤʤäƤ뤫.

引数:
P(template) - moveμΤǤꡤμΤǤץ쥤.
state - ưξ
target - Ĵ٤׾ξ
from - ưζ
to - ưζ

effectUtil.tcc189 行で定義されています。

参照先 osl::Board_Table, osl::PtypeTable::getEffect(), osl::BoardTable::getShortOffsetNotKnight(), osl::hasEffect(), osl::Position::isOnBoard(), osl::Piece::isOnBoardByOwner(), osl::Position::isPieceStand(), osl::Ptype_Table, と osl::Piece::ptypeO().

template<osl::Player P>
bool osl::effect_util::EffectUtil::isAddEffectMove ( const SimpleState &  state,
Position  target,
Move  move 
) [inline, static]

moveؤ䤹ɤ.

引数:
P(template) - moveμΤǤꡤμΤǤץ쥤.
state - ưξ
target - Ĵ٤׾ξ
move - stateǤPˤˡ ĹϼʬưαƤ˼⤵Τ˻ߤޤ뤬 ξϸäʤΤɤȤ롥

effectUtil.tcc211 行で定義されています。

参照先 osl::Move::from(), osl::Move::player(), osl::Move::ptypeO(), と osl::Move::to().

static void osl::effect_util::EffectUtil::findThreat ( const NumEffectState &  state,
Position  position,
PtypeO  ptypeo,
PieceVector &  out 
) [static]

state position ptypeo äꤷơҤout˽

template<class EffectState>
void osl::effect_util::EffectUtil::findEffect ( Player  P,
const EffectState &  state,
Position  target,
PieceVector &  out 
) [inline]

effectUtil.tcc180 行で定義されています。

参照先 forEachEffect().


この構造体の説明は次のファイルから生成されました:

Thu Oct 8 05:01:16 2009に生成されました。  doxygen 1.5.6