refactor: remove view import from model

This commit is contained in:
2025-05-22 10:28:17 +02:00
parent e817b064e1
commit c50210db3f
2 changed files with 15 additions and 13 deletions

View File

@@ -15,7 +15,6 @@ import org.Models.Pieces.PieceO;
import org.Models.Pieces.PieceS;
import org.Models.Pieces.PieceT;
import org.Models.Pieces.PieceZ;
import org.Views.VueGameOver;
@SuppressWarnings("deprecation")
public class Jeu extends Observable implements Runnable {
@@ -102,10 +101,7 @@ public class Jeu extends Observable implements Runnable {
public boolean estFinPartie() {
for (Point caseColoree : this.grille.motifPieceCouranteColoriee()) {
if (this.grille.getCase(caseColoree.y, caseColoree.x)) {
new VueGameOver(grille.getScore(), e -> System.exit(0), () -> {
System.out.println("\"rejouer\"clique");
reinitialiserPartie();
});
finPartie();
return true;
}
}

View File

@@ -132,17 +132,23 @@ public class VueGrille extends JPanel implements Observer, Runnable {
* * Met à jour la vue de la grille lorsque l'état de la grille change.
*/
@Override
public void update(Observable o, Object arg) {
if (o instanceof Grille) {
updateGrille();
}
public void update(Observable o, Object arg) {
if (o instanceof Grille) {
updateGrille();
}
if (o instanceof Jeu && !afficherFenetreFinPartie) {
if (!this.jeu.jeuEnCours) {
afficherFenetreFinPartie = true;
}
if (o instanceof Jeu) {
Jeu jeu = (Jeu) o;
if (!jeu.jeuEnCours && !afficherFenetreFinPartie) {
afficherFenetreFinPartie = true;
new VueGameOver(
jeu.getGrille().getScore(),
e -> System.exit(0),
() -> jeu.reinitialiserPartie()
);
}
}
}
/**
* * Met à jour la vue de la grille périodiquement selon l'ordonnaceur.