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;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue