#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 |
effectUtil.h の 30 行で定義されています。
osl::Piece osl::effect_util::EffectUtil::cheapestPiece | ( | Player | P, | |
const EffectState & | state, | |||
Position | effectTarget | |||
) | [inline, static] |
effectTarget ΤäȤ¤õ
P | õоݤζνͭ | |
effectTarget | on board Ǥ뤳 |
effectUtil.tcc の 14 行で定義されています。
static Ptype osl::effect_util::EffectUtil::cheapestPtype | ( | Player | P, | |
const NumEffectState & | , | |||
Position | effect_target | |||
) | [static] |
osl::Piece osl::effect_util::EffectUtil::promotablePiece | ( | Player | P, | |
const EffectState & | state, | |||
Position | effectTarget | |||
) | [inline, static] |
pos Τ promote ǽ ptype Ķõ pos promote ǽʥޥɤϸʤ
P | õоݤζνͭ | |
effectTarget | on board Ǥ뤳 |
effectUtil.tcc の 24 行で定義されています。
static bool osl::effect_util::EffectUtil::isKingInCheck | ( | Player | P, | |
const EffectState & | state | |||
) | [inline, static] |
static Piece osl::effect_util::EffectUtil::kingAttackPiece | ( | Player | P, | |
const EffectState & | state | |||
) | [inline, static] |
Player P βΤŨζĴ٤
effectUtil.h の 72 行で定義されています。
参照先 osl::alt(), osl::Piece::EMPTY(), と osl::Position::isPieceStand().
void osl::effect_util::EffectUtil::showEffect | ( | const EffectState & | state, | |
Position | target, | |||
std::ostream & | os | |||
) | [inline, static] |
target ˤɽ
effectUtil.tcc の 34 行で定義されています。
参照先 osl::BLACK, findEffect(), osl::Position::isOnBoard(), と osl::WHITE.
void osl::effect_util::EffectUtil::forEachEffectOfPtypeO | ( | const State & | state, | |
Position | from, | |||
PtypeO | ptypeo, | |||
Function & | f | |||
) | [inline, static] |
PtypeO Position ˤȲꤷˤ.
̤ºݤȰ㤦ĹΤˤʤ
InterestEmpty | Υޥ˶̣뤫 |
effectUtil.tcc の 125 行で定義されています。
参照先 osl::BLACK, osl::getOwner(), と osl::getPtype().
void osl::effect_util::EffectUtil::forEachEffectOfMove | ( | const State & | state, | |
Move | m, | |||
Function & | f | |||
) | [inline, static] |
ĹϼʬưαƤ˼⤵Τ˻ߤޤ
InterestEmpty | Υޥ˶̣뤫 |
effectUtil.tcc の 139 行で定義されています。
参照先 osl::Move::ptypeO(), と osl::Move::to().
static void osl::effect_util::EffectUtil::forEachEffectPositionOfMove | ( | const State & | state, | |
Move | m, | |||
Function & | f | |||
) | [inline, static] |
effectUtil.h の 106 行で定義されています。
static void osl::effect_util::EffectUtil::forEachEffectPieceOfMove | ( | const State & | state, | |
Move | m, | |||
Function & | f | |||
) | [inline, static] |
effectUtil.h の 111 行で定義されています。
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() ֤
osl::Piece osl::effect_util::EffectUtil::safeCaptureNotByKing | ( | const EffectState & | state, | |
Position | target, | |||
Piece | king | |||
) | [inline, static] |
static void osl::effect_util::EffectUtil::forEachEffect | ( | Player | P, | |
const EffectState & | state, | |||
Position | pos, | |||
Action & | a | |||
) | [inline, static] |
forEachEffect Player template ̾ΰˤС
P | õоݤζνͭ | |
pos | Τõ |
effectUtil.h の 159 行で定義されています。
参照先 osl::BLACK.
参照元 cheapestPiece(), findEffect(), と promotablePiece().
static void osl::effect_util::EffectUtil::findEffect | ( | Player | P, | |
const EffectState & | state, | |||
Position | target, | |||
container::PieceVector & | out | |||
) | [inline, static] |
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.tcc の 189 行で定義されています。
参照先 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().
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.tcc の 211 行で定義されています。
参照先 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˽