erreur de création dans l'arène
This commit is contained in:
@@ -192,22 +192,10 @@ public class ArenaWindow extends JFrame {
|
|||||||
* @param nbParties nombre de parties à jouer
|
* @param nbParties nombre de parties à jouer
|
||||||
*/
|
*/
|
||||||
private void runArena(String bot1Type, String bot2Type, int depth, int nbParties) {
|
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
|
// Vider le tableau
|
||||||
tableModel.setRowCount(0);
|
tableModel.setRowCount(0);
|
||||||
results.clear();
|
results.clear();
|
||||||
|
|
||||||
// Charger le plateau initial
|
|
||||||
Tower[][] initialGrid = BoardLoader.loadFromFile("fr/iut_fbleau/Res/Plateau.txt");
|
|
||||||
|
|
||||||
// Créer un dialogue de progression
|
// Créer un dialogue de progression
|
||||||
JDialog progressDialog = new JDialog(this, "Parties en cours...", true);
|
JDialog progressDialog = new JDialog(this, "Parties en cours...", true);
|
||||||
JLabel progressLabel = new JLabel("Préparation des parties...", JLabel.CENTER);
|
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...");
|
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);
|
AvalamBoard board = new AvalamBoard(initialGrid, Player.PLAYER1);
|
||||||
ArenaGame game = new ArenaGame(board, bot1, bot2);
|
ArenaGame game = new ArenaGame(board, bot1, bot2);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user