From 33b5683a59e0a952fee362859aeb95b2022761ed Mon Sep 17 00:00:00 2001 From: Morph01 Date: Thu, 22 May 2025 09:51:38 +0200 Subject: [PATCH] fix: restart game with ordonnanceur removal --- app/src/main/java/org/Models/Jeu.java | 33 ++++++++++++++++----------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/Models/Jeu.java b/app/src/main/java/org/Models/Jeu.java index cb514f9..7c977af 100644 --- a/app/src/main/java/org/Models/Jeu.java +++ b/app/src/main/java/org/Models/Jeu.java @@ -29,16 +29,13 @@ public class Jeu extends Observable implements Runnable { public boolean jeuEnCours = true; public Jeu(Grille grille, Musique musique) { - + this.grille = grille; this.musique = musique; this.musique = musique; - - this.grille.setPieceCourante(getNouvellePiece()); - - + this.pieceSuivante = getNouvellePiece(); this.ordonnanceur = new Ordonnanceur(this, 1000); @@ -48,38 +45,36 @@ public class Jeu extends Observable implements Runnable { private PieceCourante getNouvellePiece() { Random random = new Random(); int randomiiii = random.nextInt(7); - PieceCourante nouvellePiece; switch (randomiiii) { case 0: nouvellePiece = new PieceI(); - break; case 1: nouvellePiece = new PieceL(); - + break; case 2: nouvellePiece = new PieceJ(); - + break; case 3: nouvellePiece = new PieceO(); - + break; case 4: nouvellePiece = new PieceS(); - + break; case 5: nouvellePiece = new PieceT(); - + break; case 6: nouvellePiece = new PieceZ(); - + break; default: nouvellePiece = new PieceL(); @@ -129,13 +124,25 @@ public class Jeu extends Observable implements Runnable { notifyObservers(); } + /** + * Réinitialise tous les paramètres de la partie pour relancer le jeu. + */ public void reinitialiserPartie() { + if (ordonnanceur != null) { + ordonnanceur.stopOrdonnanceur(); + try { + Thread.sleep(100); + } catch (InterruptedException e) { + } + } + this.grille.initGrille(); this.grille.setPieceCourante(getNouvellePiece()); this.grille.setScore(0); this.grille.setNbLignesSupprimees(0); this.pieceSuivante = getNouvellePiece(); this.jeuEnCours = true; + this.ordonnanceur = new Ordonnanceur(this, 1000); this.ordonnanceur.start(); setChanged();