Merge branch 'master' of
https://gitarero.ecam.fr/louise.berteloot/OOP_2A5_Project.git
This commit is contained in:
commit
2aabc3b0f1
|
|
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue