1 #ifndef OSL_ADDITIONAL_EFFECT_H
2 #define OSL_ADDITIONAL_EFFECT_H
18 template <
int count_max>
43 int& black,
int& white);
47 count(state, target, black, white);
48 return (pl ==
BLACK) ? black : white;
52 using effect_util::AdditionalEffect;
static bool hasEffectStable(const NumEffectState &, Square target, Player attack)
static int count(const NumEffectState &state, Player pl, Square target)
static int count(const NumEffectState &, Square target, Player attack)
static void find(const NumEffectState &, Square target, const PieceVector &direct_effects, PieceVector &black, PieceVector &white)
static bool hasEffect(const NumEffectState &, Square target, Player attack)
target に attack の追加利きが一つでもあるか. 相手の影利きが先にある場合は対象としない.
static int count2(const NumEffectState &, Square target, Player attack)
target に attack の追加利きを二つまで数える.