repared timer

This commit is contained in:
Romain MURPHY 2025-05-08 14:18:47 +02:00
parent 47f14401a2
commit b494861f8d
2 changed files with 30 additions and 15 deletions

View File

@ -19,6 +19,7 @@ public class Board {
private Move lastMove; // new field
private ArrayList<ArrayList<Boolean>> possibleMoves = new ArrayList<>();
private LinkedList<BoardHistory> boardHistory = new LinkedList<>();
public boolean timerSwitch = false;
public Board(int colNum, int lineNum) {
this.width = colNum;
@ -225,6 +226,7 @@ public class Board {
if (isHighlighted(x,y)) {
this.movePiece(x, y);
select = false;
timerSwitch = true;
this.turnColor = !this.turnColor;
@ -397,6 +399,14 @@ public class Board {
public Move getLastMove() {
return lastMove;
}
public boolean isTimerSwitch() {
return timerSwitch;
}
public void setTimerSwitch(boolean timerSwitch) {
this.timerSwitch = timerSwitch;
}
}

View File

@ -6,7 +6,7 @@ public class Game extends Thread {
private AutoPlayer aiPlayer;
private Board board;
private MyInterface mjf;
public MyInterface mjf;
private int COL_NUM = 8;
private int LINE_NUM = 8;
private int loopDelay = 250;
@ -41,7 +41,7 @@ public class Game extends Thread {
}
}
}
private boolean isAITurn() {
return activationAIFlags[board.isTurnWhite()?1:0];
}
@ -53,6 +53,7 @@ public class Game extends Thread {
}
else {
board.playMove(aiPlayer.computeBestMove(board.getBoard(),board.isTurnWhite(),board.getLastMove()));
mjf.timerManager.switchTurn();
}
}
}
@ -67,13 +68,17 @@ public class Game extends Thread {
if(!isAITurn()) {
if (aiPlayer.getAllLegalMoves(board.getBoard(), board.isTurnWhite(),board.getLastMove()).size() != 0){
board.userTouch(x, y);
}
else {
mjf.showGameOverMessage("Game Over");
}
}
else {
mjf.showGameOverMessage("Game Over");
}
if (board.isTimerSwitch()) {
mjf.timerManager.switchTurn();
board.setTimerSwitch(false);
}
}
}
public void setPiece(int x, int y, PieceType type, boolean isWhite) {
@ -100,11 +105,11 @@ public class Game extends Thread {
public Iterable<Piece> getPieces() {
return board.getPieces();
}
public boolean isCheck(int x, int y) {
return board.isCheck(x, y);
}
public boolean isSelected(int x, int y) {
return board.isSelected(x, y);
}
@ -118,25 +123,25 @@ public class Game extends Thread {
}
public void toggleAI(boolean isWhite) {
// System.out.println(isWhite);
// System.out.println(isWhite);
this.activationAIFlags[isWhite?1:0] = !this.activationAIFlags[isWhite?1:0];
if (this.activationAIFlags[isWhite?1:0]) {
soundEffect.aiSound();
}
}
public void setTurnNumber(int turnNumber) {
board.setTurnNumber(turnNumber);
}
public void setTurnColor(boolean turnColor) {
board.setTurnColor(turnColor);
}
public int getTurnNumber() {
return board.getTurnNumber();
}
public boolean getTurnColor() {
return board.isTurnColor();
}