From c52547120b1d860f63a15ff9306db78ca1376ca5 Mon Sep 17 00:00:00 2001 From: matthew-java Date: Tue, 10 Feb 2026 16:12:27 +0100 Subject: [PATCH] -fix bug bouton back to menu when play after game launching where game over --- src/linea/Jeu.java | 21 ++++++++++++++++----- src/linea/ZoneDessin.java | 2 +- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/linea/Jeu.java b/src/linea/Jeu.java index 1325cd1..ad54de7 100644 --- a/src/linea/Jeu.java +++ b/src/linea/Jeu.java @@ -34,7 +34,6 @@ public class Jeu implements KeyListener, ActionListener { // Initialisation initiale resetPartie(); - // --- C'EST ICI QUE LA MAGIE OPÈRE --- // On ajoute l'action au bouton créé dans ZoneDessin ecran.btnRetour.addActionListener(new ActionListener() { @Override @@ -43,7 +42,7 @@ public class Jeu implements KeyListener, ActionListener { layout.show(conteneurPrincipal, "MENU"); } }); - // ------------------------------------- + ecran.addKeyListener(this); @@ -58,7 +57,7 @@ public class Jeu implements KeyListener, ActionListener { } public void lancerPartie() { - resetPartie(); // Très important : remettre à zéro avant de jouer + resetPartie(); layout.show(conteneurPrincipal, "JEU"); ecran.setFocusable(true); ecran.requestFocusInWindow(); @@ -66,21 +65,33 @@ public class Jeu implements KeyListener, ActionListener { } private void resetPartie() { - if(horloge != null) horloge.stop(); + + if(horloge != null) { + horloge.stop(); + } + horloge = new Timer(40, this); + demiCercleAvant = new Cercle(90, -180); demiCercleArriere = new Cercle(90, 180); + + laligne = new Ligne(); + + demiCercleArriere.setCouleur(new Color(0.8f, 0.0f, 0.0f)); demiCercleAvant.setCouleur(new Color(1.0f, 0.2f, 0.2f)); + ecran.viderObjets(); ecran.ajouterObjet(demiCercleArriere); ecran.ajouterObjet(demiCercleAvant); ecran.ajouterObjet(laligne); - ecran.setGameOver(false); // Cela cachera le bouton retour + ecran.setGameOver(false); + + labScore.setText("

score : 0

"); } @Override diff --git a/src/linea/ZoneDessin.java b/src/linea/ZoneDessin.java index 63e1de4..923e1a7 100644 --- a/src/linea/ZoneDessin.java +++ b/src/linea/ZoneDessin.java @@ -17,7 +17,7 @@ public class ZoneDessin extends JPanel { public JButton btnRetour; public ZoneDessin(){ - // 1. IMPORTANT : Layout null pour positionner le bouton pixel par pixel + // Layout null pour positionner le bouton pixel par pixel setLayout(null); setPreferredSize(new Dimension(800, 600)); setBackground(new Color(100,100,100));