ajout d'un menu de fin et de pouvoir quitter
This commit is contained in:
@@ -50,6 +50,9 @@ public class AvalamWindow extends JFrame {
|
||||
/** Mode de jeu sélectionné. */
|
||||
private final GameMode mode;
|
||||
|
||||
/** Profondeur de recherche utilisée (utile pour les modes avec bot intelligent et pour rejouer). */
|
||||
private final int searchDepth;
|
||||
|
||||
/** Joueur contrôlé par le bot (si actif). */
|
||||
private final Player botPlayer = Player.PLAYER2;
|
||||
|
||||
@@ -104,10 +107,11 @@ public class AvalamWindow extends JFrame {
|
||||
super("Avalam");
|
||||
|
||||
this.mode = mode;
|
||||
this.searchDepth = Math.max(1, alphaDepth);
|
||||
|
||||
this.idiotBot = (mode == GameMode.PVBOT) ? new IdiotBot(botPlayer) : null;
|
||||
|
||||
int depth = Math.max(1, alphaDepth);
|
||||
int depth = this.searchDepth;
|
||||
this.alphaBot = (mode == GameMode.PVALPHA) ? new AlphaBetaBot(botPlayer, depth) : null;
|
||||
|
||||
// A FAIRE PLUS TARD (PVGOD)
|
||||
@@ -169,28 +173,30 @@ public class AvalamWindow extends JFrame {
|
||||
if (board.isGameOver()) {
|
||||
Result res = board.getResult();
|
||||
|
||||
String msg;
|
||||
switch (res) {
|
||||
case WIN:
|
||||
msg = "Le joueur jaune a gagné !";
|
||||
break;
|
||||
case LOSS:
|
||||
msg = "Le joueur rouge a gagné !";
|
||||
break;
|
||||
case DRAW:
|
||||
msg = "Égalité !";
|
||||
break;
|
||||
default:
|
||||
msg = "Fin de partie.";
|
||||
break;
|
||||
}
|
||||
int scoreJaune = computeScore(Color.YELLOW);
|
||||
int scoreRouge = computeScore(Color.RED);
|
||||
|
||||
JOptionPane.showMessageDialog(
|
||||
EndGameDialog dialog = new EndGameDialog(
|
||||
this,
|
||||
msg,
|
||||
"Partie terminée",
|
||||
JOptionPane.INFORMATION_MESSAGE
|
||||
res,
|
||||
scoreJaune,
|
||||
scoreRouge,
|
||||
mode,
|
||||
searchDepth,
|
||||
// Rejouer : on ferme la fenêtre actuelle et on relance une nouvelle partie avec le même mode/profondeur
|
||||
() -> SwingUtilities.invokeLater(() -> {
|
||||
dispose();
|
||||
new AvalamWindow(mode, searchDepth);
|
||||
}),
|
||||
// Menu principal : on ferme la fenêtre actuelle et on réaffiche le menu de mode de jeu
|
||||
() -> SwingUtilities.invokeLater(() -> {
|
||||
dispose();
|
||||
Main.showModeSelection();
|
||||
}),
|
||||
// Quitter complètement l'application
|
||||
() -> System.exit(0)
|
||||
);
|
||||
dialog.setVisible(true);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user