9 for (
int attack=0; attack<3; ++attack) {
10 for (
int defense=0; defense<3; ++defense) {
13 for (
int p=0; p<8; ++p)
14 push_back(
new AttackKing8(static_cast<Ptype>(s), static_cast<Ptype>(t),
true, attack, defense));
15 for (
int p=0; p<8; ++p)
16 push_back(
new AttackKing8(static_cast<Ptype>(s), static_cast<Ptype>(t),
false, attack, defense));
18 for (
int p=0; p<8; ++p)
29 = Neighboring8Direct::findNearest(state, move.
ptypeO(), move.
to(),
30 state.kingSquare(
alt(state.turn())));
33 if (! move.
isDrop() && state.hasEffectByPiece(state.pieceOnBoard(move.
from()), position))
35 const Piece p = state.pieceAt(position);
50 const int progress8 = env.
progress.value()/2;
51 return index*8 + progress8;
55 :
Group(
"DefenseKing8")
57 for (
int danger=0; danger<=4; ++danger) {
59 for (
int p=0; p<8; ++p)
60 push_back(
new DefenseKing8(static_cast<Ptype>(s),
true, danger));
61 for (
int p=0; p<8; ++p)
62 push_back(
new DefenseKing8(static_cast<Ptype>(s),
false, danger));
78 const int progress8 = env.
progress.value()/2;
79 return index*8 + progress8;