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

@@ -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();