Game Over

This commit is contained in:
Romain MURPHY 2025-04-28 11:09:35 +02:00
parent 9e3426ea32
commit 1114622c03
4 changed files with 27 additions and 12 deletions

View File

@ -1,9 +1,9 @@
BR, ,BB,BQ,BK,BB,BN,BR
BP,BP,BP,BP,BP,BP,BP,BP
, ,BN, , , , ,
BR, , ,BK, ,BR, ,
BP,BP,BP, , ,BP,BP,BP
, , , ,WP, , ,
, , , , , , ,
, , ,WP, ,WB, ,
, , , , , , ,
WP,WP,WP, ,WP,WP,WP,WP
WR,WN, ,WQ,WK,WB,WN,WR
3B
, , , , , , ,
WP,WP,WP, , ,WP,WP,WP
WR,WN,WB,WQ,WK,WB,WN,WR
3W

View File

@ -181,7 +181,7 @@ public class AutoPlayer {
return copy;
}
private ArrayList<Move> getAllLegalMoves(ArrayList<ArrayList<Piece>> board, boolean isWhiteTurn) {
public ArrayList<Move> getAllLegalMoves(ArrayList<ArrayList<Piece>> board, boolean isWhiteTurn) {
ArrayList<Move> legalMoves = new ArrayList<>();
for (ArrayList<Piece> row : board) {
@ -198,8 +198,8 @@ public class AutoPlayer {
}
}
}
return legalMoves;
}
private int getPositionalBonus(Piece piece, int x, int y) {

View File

@ -3,7 +3,7 @@ package backend;
import windowInterface.MyInterface;
public class Game extends Thread {
private AutoPlayer AP = new AutoPlayer();
private AutoPlayer aiPlayer;
private Board board;
@ -49,7 +49,12 @@ public class Game extends Thread {
private void aiPlayerTurn() {
if(isAITurn()) {
if (AP.getAllLegalMoves(board.getBoard(), board.isTurnWhite()).size() != 0){
board.playMove(aiPlayer.computeBestMove(board.getBoard(),board.isTurnWhite()));
}
else {
mjf.showGameOverMessage("Game Over");
}
}
}
@ -61,7 +66,13 @@ public class Game extends Thread {
return;
}
if(!isAITurn()) {
board.userTouch(x, y);
if (AP.getAllLegalMoves(board.getBoard(), board.isTurnWhite()).size() != 0){
board.userTouch(x, y);
}
else {
mjf.showGameOverMessage("Game Over");
}
}
}

View File

@ -25,6 +25,7 @@ import java.util.Arrays;
import java.util.LinkedList;
import java.awt.event.ActionEvent;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.AbstractListModel;
import javax.swing.JToggleButton;
import javax.swing.JRadioButton;
@ -267,5 +268,8 @@ public class MyInterface extends JFrame {
public void eraseLabels() {
this.setStepBanner("Turn : X");
}
public void showGameOverMessage(String message) {
JOptionPane.showMessageDialog(this, message, "Game Over", JOptionPane.INFORMATION_MESSAGE);
}
}