From c50210db3f30d03b05524faad012e110c6f3bfc0 Mon Sep 17 00:00:00 2001 From: Morph01 Date: Thu, 22 May 2025 10:28:17 +0200 Subject: [PATCH] refactor: remove view import from model --- app/src/main/java/org/Models/Jeu.java | 6 +----- app/src/main/java/org/Views/VueGrille.java | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/Models/Jeu.java b/app/src/main/java/org/Models/Jeu.java index 7c977af..2260b14 100644 --- a/app/src/main/java/org/Models/Jeu.java +++ b/app/src/main/java/org/Models/Jeu.java @@ -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; } } diff --git a/app/src/main/java/org/Views/VueGrille.java b/app/src/main/java/org/Views/VueGrille.java index b87f5b2..da3bfb7 100644 --- a/app/src/main/java/org/Views/VueGrille.java +++ b/app/src/main/java/org/Views/VueGrille.java @@ -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.