17 static const std::string
name(
int x1,
int y1,
int x2,
int y2,
int king_index,
bool s,
bool f);
18 BigramAttack(
int x1,
int y1,
int x2,
int y2,
int king_index,
bool s,
bool f)
36 int x_diff = move.
to().
x() - king.
x();
40 assert(x_diff >= 0 && x_diff <= 4);
41 int y_diff = move.
to().
y() - king.
y();
47 assert(y_diff >= 0 && y_diff <= 4);
48 return x_diff * 5 + y_diff;
bool isNormal() const
INVALID でも PASS でもない.
Square kingSquare() const
int y() const
将棋としてのY座標を返す.
int x() const
将棋としてのX座標を返す.
bool hasLastMove(size_t last=1) const
const Move lastMove(size_t last=1) const
bool match(const NumEffectState &state, Move move, const RatingEnv &env) const
static int indexOfMove(Square king, Move move)
static int indexKing(Player attack, Square king, bool focus_x)
static int index(const NumEffectState &state, Move move, const RatingEnv &env, bool same, bool focus_x)
BigramAttack(int x1, int y1, int x2, int y2, int king_index, bool s, bool f)
const std::string & name() const
constexpr Player alt(Player player)