6 int x0,
int x1,
int y0,
int y1) {
7 assert(x0 >= 1 && x0 <= 9);
8 assert(x1 >= 1 && x1 <= 9);
9 assert(y0 >= 1 && y0 <= 9);
10 assert(y1 >= 1 && y1 <= 9);
14 for (
int sy = y0; sy <= y1; sy++)
15 for (
int sx = x0; sx <= x1; sx++)
24 const int ky = target.
y();
29 const int kx = (target.
x() == 1) ? 2 : ((target.
x() == 9)? 8 : target.
x());
49 template <osl::Player Turn>
52 int x0,
int x1,
int y0,
int y1) {
53 assert(x0 >= 1 && x0 <= 9);
54 assert(x1 >= 1 && x1 <= 9);
55 assert(y0 >= 1 && y0 <= 9);
56 assert(y1 >= 1 && y1 <= 9);
60 for (
int sy = y0; sy <= y1; sy++) {
61 for (
int sx = x0; sx <= x1; sx++) {
74 int x0,
int x1,
int y0,
int y1) {
81 template <osl::Player Turn>
83 int& num_pieces,
int row) {
84 return osl::enter_king::countPiecePointsInRange<Turn>(state, num_pieces, 1, 9, row, row);
87 int& num_pieces,
int row) {
95 namespace enter_king {
99 int x0,
int x1,
int y0,
int y1);
103 int x0,
int x1,
int y0,
int y1);