This commit is contained in:
clara 2025-05-07 14:52:30 +02:00
commit 600ad622c2
1 changed files with 33 additions and 0 deletions

View File

@ -179,6 +179,13 @@ public class Board {
selectedX = -1; selectedX = -1;
selectedY = -1; selectedY = -1;
highlightedSquares.clear(); highlightedSquares.clear();
if (isKingInCheck(true)) {
System.out.println("White is in check!");
}
if (isKingInCheck(false)) {
System.out.println("Black is in check!");
}
} }
public boolean isSelected(int x, int y) { public boolean isSelected(int x, int y) {
@ -275,5 +282,31 @@ public class Board {
return new ArrayList<>(); return new ArrayList<>();
} }
} }
public boolean isKingInCheck(boolean whiteKing) {
Piece king = null;
for (Piece p : pieces) {
if (p.getType() == PieceType.King && p.isWhite() == whiteKing) {
king = p;
}
}
int kingX = king.getX();
int kingY = king.getY();
for (Piece p : pieces) {
if (p.isWhite() != whiteKing) {
ArrayList<int[]> enemyMoves = getValidMoves(p);
for (int[] move : enemyMoves) {
if (move[0] == kingX && move[1] == kingY) {
return true;
}
}
}
}
return false;
}
} }