Esempio n. 1
0
  private void updateAvailableCastlings(Move move, Board board) {
    Piece srcPiece = board.at(move.getDst());

    if (srcPiece.isType(PieceType.KING)) {
      availableCastlings.get(srcPiece.color()).clear();
    }

    if (srcPiece.isType(PieceType.ROOK) && move.getSource().getCol() == 0) {
      availableCastlings.get(srcPiece.color()).remove(CastlingType.CASTLING_QUEEN_SIDE);
    }

    if (srcPiece.isType(PieceType.ROOK) && move.getSource().getCol() == 7) {
      availableCastlings.get(srcPiece.color()).remove(CastlingType.CASTLING_KING_SIDE);
    }
  }