fix: restart game with ordonnanceur removal

This commit is contained in:
2025-05-22 09:51:38 +02:00
parent 8888b6dfb3
commit 33b5683a59

View File

@@ -34,11 +34,8 @@ public class Jeu extends Observable implements Runnable {
this.musique = musique; this.musique = musique;
this.musique = musique; this.musique = musique;
this.grille.setPieceCourante(getNouvellePiece()); this.grille.setPieceCourante(getNouvellePiece());
this.pieceSuivante = getNouvellePiece(); this.pieceSuivante = getNouvellePiece();
this.ordonnanceur = new Ordonnanceur(this, 1000); this.ordonnanceur = new Ordonnanceur(this, 1000);
@@ -49,13 +46,11 @@ public class Jeu extends Observable implements Runnable {
Random random = new Random(); Random random = new Random();
int randomiiii = random.nextInt(7); int randomiiii = random.nextInt(7);
PieceCourante nouvellePiece; PieceCourante nouvellePiece;
switch (randomiiii) { switch (randomiiii) {
case 0: case 0:
nouvellePiece = new PieceI(); nouvellePiece = new PieceI();
break; break;
case 1: case 1:
nouvellePiece = new PieceL(); nouvellePiece = new PieceL();
@@ -129,13 +124,25 @@ public class Jeu extends Observable implements Runnable {
notifyObservers(); notifyObservers();
} }
/**
* Réinitialise tous les paramètres de la partie pour relancer le jeu.
*/
public void reinitialiserPartie() { public void reinitialiserPartie() {
if (ordonnanceur != null) {
ordonnanceur.stopOrdonnanceur();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
}
}
this.grille.initGrille(); this.grille.initGrille();
this.grille.setPieceCourante(getNouvellePiece()); this.grille.setPieceCourante(getNouvellePiece());
this.grille.setScore(0); this.grille.setScore(0);
this.grille.setNbLignesSupprimees(0); this.grille.setNbLignesSupprimees(0);
this.pieceSuivante = getNouvellePiece(); this.pieceSuivante = getNouvellePiece();
this.jeuEnCours = true; this.jeuEnCours = true;
this.ordonnanceur = new Ordonnanceur(this, 1000); this.ordonnanceur = new Ordonnanceur(this, 1000);
this.ordonnanceur.start(); this.ordonnanceur.start();
setChanged(); setChanged();