Merge branch 'master' of

https://gitarero.ecam.fr/louise.berteloot/OOP_2A5_Project.git
This commit is contained in:
leahb 2025-05-19 21:04:46 +02:00
commit 2aabc3b0f1
1 changed files with 12 additions and 1 deletions

View File

@ -15,7 +15,11 @@ public class Board {
private boolean pawnDoubleStep; private boolean pawnDoubleStep;
private int xCoordinatePawn; private int xCoordinatePawn;
private int yCoordinatePawn; private int yCoordinatePawn;
//<<<<<<< HEAD
private boolean enPassant; private boolean enPassant;
//=======
private boolean isGameOver = false;//flag for when a king is checkmate and no moves can be made anymore
//>>>>>>> branch 'master' of https://gitarero.ecam.fr/louise.berteloot/OOP_2A5_Project.git
private ArrayList<Board> previousStates; private ArrayList<Board> previousStates;
@ -129,6 +133,7 @@ public class Board {
public void cleanBoard() { public void cleanBoard() {
pieces.clear(); pieces.clear();
isGameOver=false;//when board reset, moves can be made again bc not game over anymore
} }
public String toString() { public String toString() {
@ -159,6 +164,10 @@ public class Board {
} }
public void userTouch(int x, int y) { public void userTouch(int x, int y) {
if (isGameOver==true) {//if game is over, any attempt to select/move a piece should be ignored
System.out.println("Checkmate! Can't move pieces anymore.");//says game over
return;
}
System.out.println("userTouch triggered at: " + x + ", " + y); System.out.println("userTouch triggered at: " + x + ", " + y);
Piece selectedPiece = getPieceAt(selectedX, selectedY); Piece selectedPiece = getPieceAt(selectedX, selectedY);
@ -237,7 +246,8 @@ public class Board {
rook.setX(5);//moves the rook to the square to the left of the king rook.setX(5);//moves the rook to the square to the left of the king
rook.setMoved(true);//the rook has been moved once so wont be used for castling anymore rook.setMoved(true);//the rook has been moved once so wont be used for castling anymore
} }
} else {//king moves to the left this time (queen side castling) }
else {//king moves to the left this time (queen side castling)
Piece rook = getPieceAt(0, row);//selects the rook on the left Piece rook = getPieceAt(0, row);//selects the rook on the left
if (rook != null) { if (rook != null) {
rook.setX(3);//moves rook to the right of the king rook.setX(3);//moves rook to the right of the king
@ -262,6 +272,7 @@ public class Board {
if (isCheckmate(isWhite)) { if (isCheckmate(isWhite)) {
System.out.println((isWhite ? "White" : "Black") + " is in checkmate!"); System.out.println((isWhite ? "White" : "Black") + " is in checkmate!");
isGameOver=true;//if checkmate, flags the game as over by setting boolean on true
} }
} }
} }