makefile_compilation_erreur #28

Merged
Hugo RABAN merged 3 commits from makefile_compilation_erreur into master 2026-02-05 20:53:19 +01:00
Showing only changes of commit d94b95fa36 - Show all commits

View File

@@ -192,22 +192,10 @@ public class ArenaWindow extends JFrame {
* @param nbParties nombre de parties à jouer
*/
private void runArena(String bot1Type, String bot2Type, int depth, int nbParties) {
// Créer les bots
AbstractGamePlayer bot1 = createBot(bot1Type, Player.PLAYER1, depth);
AbstractGamePlayer bot2 = createBot(bot2Type, Player.PLAYER2, depth);
if (bot1 == null || bot2 == null) {
JOptionPane.showMessageDialog(this, "Erreur lors de la création des bots.");
return;
}
// Vider le tableau
tableModel.setRowCount(0);
results.clear();
// Charger le plateau initial
Tower[][] initialGrid = BoardLoader.loadFromFile("fr/iut_fbleau/Res/Plateau.txt");
// Créer un dialogue de progression
JDialog progressDialog = new JDialog(this, "Parties en cours...", true);
JLabel progressLabel = new JLabel("Préparation des parties...", JLabel.CENTER);
@@ -233,6 +221,26 @@ public class ArenaWindow extends JFrame {
progressLabel.setText("Partie " + partieNum + " / " + nbParties + " en cours...");
});
// Recréer les bots à chaque partie pour garantir l'indépendance complète
// (notamment pour réinitialiser les générateurs aléatoires)
AbstractGamePlayer bot1 = createBot(bot1Type, Player.PLAYER1, depth);
AbstractGamePlayer bot2 = createBot(bot2Type, Player.PLAYER2, depth);
if (bot1 == null || bot2 == null) {
errors++;
SwingUtilities.invokeLater(() -> {
tableModel.addRow(new Object[]{
"Partie " + partieNum,
bot1Type,
bot2Type,
"Erreur: Impossible de créer les bots"
});
});
continue;
}
// Recharger le plateau à chaque partie pour garantir l'indépendance complète
Tower[][] initialGrid = BoardLoader.loadFromFile("fr/iut_fbleau/Res/Plateau.txt");
AvalamBoard board = new AvalamBoard(initialGrid, Player.PLAYER1);
ArenaGame game = new ArenaGame(board, bot1, bot2);