11 const Piece king_black = state.kingPiece(
BLACK);
12 const Piece king_white = state.kingPiece(
WHITE);
14 for (
int i=0; i<Piece::SIZE; i++) {
16 values[i] = valueOf(king_black, king_white, target);
24 const Piece king_black = state.kingPiece(
BLACK);
25 const Piece king_white = state.kingPiece(
WHITE);
26 for (
int i=0; i<Piece::SIZE; i++) {
28 addValue(king_black, king_white, target);
38 const Piece black_king = new_state.kingPiece<
BLACK>();
39 const Piece white_king = new_state.kingPiece<
WHITE>();
41 const Player player = new_state.turn();
45 const int inc = valueOf(black_king, white_king, last_move.
ptypeO(), to);
46 const int dec = valueOf(black_king, white_king, last_move.
ptypeO(),
54 const int inc = valueOf(black_king, white_king,
56 const int dec = valueOf(black_king, white_king,
65 = valueOf(black_king, white_king, last_move.
capturePtypeO(), to);
74 for (
int i=0; i<Piece::SIZE; i++) {
76 addValue(black_king, white_king, target);
86 const Piece old_king = state.pieceOnBoard(from);
89 const Piece new_king = Piece::makeKing(player, to);
91 const Piece king_black
92 = (player ==
BLACK) ? new_king : state.kingPiece(
BLACK);
93 const Piece king_white
94 = (player ==
WHITE) ? new_king : state.kingPiece(
WHITE);
96 for (
int i=0; i<Piece::SIZE; i++) {
98 if (target == old_king)
99 addValue(king_black, king_white, new_king);
101 addValue(king_black, king_white, target);
111 const Piece old_king = state.pieceOnBoard(from);
114 const Piece new_king = Piece::makeKing(player, to);
116 const Piece king_black
117 = (player ==
BLACK) ? new_king : state.kingPiece(
BLACK);
118 const Piece king_white
119 = (player ==
WHITE) ? new_king : state.kingPiece(
WHITE);
121 for (
int i=0; i<Piece::SIZE; i++) {
123 if (target == old_king)
124 addValue(king_black, king_white, new_king);
125 else if (target == captured)
128 addValue(king_black, king_white, target);
135 const Piece black_king = state.kingPiece<
BLACK>();
136 const Piece white_king = state.kingPiece<
WHITE>();
141 const int inc = valueOf(black_king, white_king, ptypeO, to);
142 const int dec = valueOf(black_king, white_king, ptypeO,
144 return value() + inc - dec;
147 const Piece old_piece = state.pieceOnBoard(from);
155 return new_eval.
value();
157 const int inc = valueOf(black_king, white_king, new_ptypeo, to);
158 const int dec = valueOf(black_king, white_king, old_piece.
ptypeO(), from);
160 return value() + inc - dec;
161 const int inc_capture
164 const int dec_capture
166 return value() + inc - dec + inc_capture - dec_capture;
172 AttackKing::resetWeights(w);
173 DefenseKing::resetWeights(w+KingPieceTable::dimension());