|
@@ -206,6 +206,18 @@ MiniMax::BestMove MiniMax::minimax(int depth)
|
|
|
board = temp;
|
|
|
}
|
|
|
|
|
|
+ if (side == WHITE_SIDE) {
|
|
|
+ if (game.getCanCastleKingSide(side)) {
|
|
|
+ if((board.getWhites().bits & 0x6) == 0) {
|
|
|
+ Move kingMove = {3, 1};
|
|
|
+ Move rookMove = {0, 2};
|
|
|
+ king.applyMove(kingMove);
|
|
|
+ rs.applyMove(rookMove);
|
|
|
+ board = temp;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
for (auto pos : CastlingGenerator<side>{ game }) {
|
|
|
Move move = { kingIndex, pos };
|
|
|
king.applyMove(move);
|