Merge branch 'master' of https://gitarero.ecam.fr/louise.berteloot/OOP_2A5_Project
This commit is contained in:
commit
600ad622c2
|
|
@ -179,6 +179,13 @@ public class Board {
|
|||
selectedX = -1;
|
||||
selectedY = -1;
|
||||
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) {
|
||||
|
|
@ -275,5 +282,31 @@ public class Board {
|
|||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue