3 #ifndef OSL_SENDOFFPOSITION_H 4 #define OSL_SENDOFFPOSITION_H 19 template <Player Attack>
28 template <Player Attack>
31 static SendOff8 find(
Player attack,
43 static void init() { table.init(); }
46 template <Player Attack>
50 if (onlyOneSupport<Attack>(state, candidate))
int countEffect(Player player, Square target) const
利きの数を数える.
bool isOnBoardByOwner() const
piece がプレイヤーPの持ち物でかつボード上にある駒の場合は true.
static SendOff8 invalidData()
bool hasEffectAt(Square target) const
対象とするマスにあるプレイヤーの利きがあるかどうか.
constexpr Player alt(Player player)
const Piece pieceAt(Square sq) const
送り金のような玉で取ると利きがはずれる駒が発生するマスを調査
static void testSquare(const NumEffectState &state, Square candidate, int id, int &out)
CArray< Offset8, 8 > reverse
CArray< Offset8, 256 > reverse_all
CArray< Offset, 8 > normal
static bool onlyOneSupport(const NumEffectState &state, Square target)