追加利きを求める [詳細]
#include <additionalEffect.h>
Static Public メソッド | |
static bool | hasEffect (const NumEffectState &, Position target, Player attack) |
target に attack の追加利きが一つでもあるか. 相手の影利きが先にある場合は対象としない. | |
static bool | hasEffectStable (const NumEffectState &, Position target, Player attack) |
static int | count2 (const NumEffectState &, Position target, Player attack) |
target に attack の追加利きを二つまで数える. | |
static void | find (const NumEffectState &, Position target, PieceVector &black, PieceVector &white) |
target に対する追加利きのある Piece を black, white に求める. | |
static void | count (const NumEffectState &, Position target, int &black, int &white) |
static int | count (const NumEffectState &state, Player pl, Position target) |
Static Private メソッド | |
static void | find (const NumEffectState &, Position target, const PieceVector &direct_effects, PieceVector &black, PieceVector &white) |
template<int count_max> | |
static int | count (const NumEffectState &, Position target, Player attack) |
追加利きを求める
additionalEffect.h の 16 行で定義されています。
static int osl::effect_util::AdditionalEffect::count | ( | const NumEffectState & | state, | |
Player | pl, | |||
Position | target | |||
) | [inline, static] |
additionalEffect.h の 48 行で定義されています。
参照先 osl::BLACK, と count().
void osl::effect_util::AdditionalEffect::count | ( | const NumEffectState & | state, | |
Position | target, | |||
int & | black, | |||
int & | white | |||
) | [static] |
additionalEffect.cc の 99 行で定義されています。
参照先 find().
void osl::effect_util::AdditionalEffect::find | ( | const NumEffectState & | state, | |
Position | target, | |||
PieceVector & | black, | |||
PieceVector & | white | |||
) | [static] |
target に対する追加利きのある Piece を black, white に求める.
[*] +KI -HI +HI の場合,-HIも+HIもカウント.
additionalEffect.cc の 86 行で定義されています。
参照先 osl::BLACK, find(), osl::effect_util::EffectUtil::findEffect(), と osl::WHITE.
void osl::effect_util::AdditionalEffect::find | ( | const NumEffectState & | state, | |
Position | target, | |||
const PieceVector & | direct_effects, | |||
PieceVector & | black, | |||
PieceVector & | white | |||
) | [static, private] |
additionalEffect.cc の 53 行で定義されています。
参照先 osl::BLACK, osl::Board_Table, osl::PtypeTable::getEffect(), osl::BoardTable::getShortOffsetNotKnight(), osl::EffectContent::hasEffect(), osl::Piece::isPiece(), osl::Piece::owner(), osl::Piece::position(), osl::Ptype_Table, osl::Piece::ptypeO(), と osl::Offset::zero().
bool osl::effect_util::AdditionalEffect::hasEffect | ( | const NumEffectState & | state, | |
Position | target, | |||
Player | attack | |||
) | [static] |
target に attack の追加利きが一つでもあるか. 相手の影利きが先にある場合は対象としない.
additionalEffect.cc の 8 行で定義されています。
参照先 osl::BLACK, osl::Board_Table, osl::BoardTable::getShort8(), osl::Piece::isEmptyNum(), と osl::KNIGHT.
bool osl::effect_util::AdditionalEffect::hasEffectStable | ( | const NumEffectState & | state, | |
Position | target, | |||
Player | attack | |||
) | [static] |
additionalEffect.cc の 39 行で定義されています。