追加利きを求める More...
#include <additionalEffect.h>
Static Public Member Functions | |
static bool | hasEffect (const NumEffectState &, Square target, Player attack) |
target に attack の追加利きが一つでもあるか. 相手の影利きが先にある場合は対象としない. | |
static bool | hasEffectStable (const NumEffectState &, Square target, Player attack) |
static int | count2 (const NumEffectState &, Square target, Player attack) |
target に attack の追加利きを二つまで数える. | |
static void | find (const NumEffectState &, Square target, PieceVector &black, PieceVector &white) |
target に対する追加利きのある Piece を black, white に求める. | |
static void | count (const NumEffectState &, Square target, int &black, int &white) |
static int | count (const NumEffectState &state, Player pl, Square target) |
Static Private Member Functions | |
static void | find (const NumEffectState &, Square target, const PieceVector &direct_effects, PieceVector &black, PieceVector &white) |
template<int count_max> | |
static int | count (const NumEffectState &, Square target, Player attack) |
追加利きを求める
Definition at line 16 of file additionalEffect.h.
int osl::effect_util::AdditionalEffect::count | ( | const NumEffectState & | state, |
Square | target, | ||
Player | attack | ||
) | [static, private] |
void osl::effect_util::AdditionalEffect::count | ( | const NumEffectState & | state, |
Square | target, | ||
int & | black, | ||
int & | white | ||
) | [static] |
Definition at line 99 of file additionalEffect.cc.
References osl::find().
static int osl::effect_util::AdditionalEffect::count | ( | const NumEffectState & | state, |
Player | pl, | ||
Square | target | ||
) | [inline, static] |
Definition at line 48 of file additionalEffect.h.
References osl::BLACK, and count().
int osl::effect_util::AdditionalEffect::count2 | ( | const NumEffectState & | state, |
Square | target, | ||
Player | attack | ||
) | [static] |
target に attack の追加利きを二つまで数える.
相手の影利きの駒以降は対象としない.
Definition at line 46 of file additionalEffect.cc.
References target.
void osl::effect_util::AdditionalEffect::find | ( | const NumEffectState & | state, |
Square | target, | ||
const PieceVector & | direct_effects, | ||
PieceVector & | black, | ||
PieceVector & | white | ||
) | [static, private] |
Definition at line 53 of file additionalEffect.cc.
References osl::BLACK, osl::Board_Table, osl::PtypeTable::getEffect(), osl::BoardTable::getShortOffsetNotKnight(), osl::EffectContent::hasEffect(), osl::Piece::isPiece(), osl::Piece::owner(), osl::Ptype_Table, osl::Piece::ptypeO(), osl::Piece::square(), and osl::Offset::zero().
void osl::effect_util::AdditionalEffect::find | ( | const NumEffectState & | state, |
Square | target, | ||
PieceVector & | black, | ||
PieceVector & | white | ||
) | [static] |
target に対する追加利きのある Piece を black, white に求める.
[*] +KI -HI +HI の場合,-HIも+HIもカウント.
Definition at line 86 of file additionalEffect.cc.
References osl::BLACK, osl::find(), and osl::WHITE.
bool osl::effect_util::AdditionalEffect::hasEffect | ( | const NumEffectState & | state, |
Square | target, | ||
Player | attack | ||
) | [static] |
target に attack の追加利きが一つでもあるか. 相手の影利きが先にある場合は対象としない.
Definition at line 8 of file additionalEffect.cc.
References osl::BLACK, osl::Board_Table, osl::BoardTable::getShort8(), osl::KNIGHT, osl::Square::square, and target.
bool osl::effect_util::AdditionalEffect::hasEffectStable | ( | const NumEffectState & | state, |
Square | target, | ||
Player | attack | ||
) | [static] |
Definition at line 39 of file additionalEffect.cc.
References target.