diff --git a/src/linea/CampagneAutoroute.java b/src/linea/CampagneAutoroute.java index e558154..80b5d41 100644 --- a/src/linea/CampagneAutoroute.java +++ b/src/linea/CampagneAutoroute.java @@ -43,6 +43,7 @@ public class CampagneAutoroute { jeu.demiCercleArriere = maVoiture; jeu.ecran.setGameOver(false); + jeu.ecran.setVictoire(false); jeu.score = 0; jeu.labScore.setText("

score : 0

"); diff --git a/src/linea/CampagneEspace.java b/src/linea/CampagneEspace.java index 1906063..a65f405 100644 --- a/src/linea/CampagneEspace.java +++ b/src/linea/CampagneEspace.java @@ -43,6 +43,7 @@ public class CampagneEspace { // UI et lancement jeu.ecran.setGameOver(false); + jeu.ecran.setVictoire(false); jeu.score = 0; jeu.labScore.setText("

LUNE - score : 0

"); diff --git a/src/linea/CampagneOcean.java b/src/linea/CampagneOcean.java index dce8276..77296e9 100644 --- a/src/linea/CampagneOcean.java +++ b/src/linea/CampagneOcean.java @@ -41,6 +41,7 @@ public class CampagneOcean { jeuPrincipal.demiCercleArriere = joueur; jeuPrincipal.ecran.setGameOver(false); + jeuPrincipal.ecran.setVictoire(false); jeuPrincipal.score = 0; jeuPrincipal.labScore.setText("

Oxygène : 0

"); diff --git a/src/linea/ZoneDessin.java b/src/linea/ZoneDessin.java index 923e1a7..ede9350 100644 --- a/src/linea/ZoneDessin.java +++ b/src/linea/ZoneDessin.java @@ -12,6 +12,7 @@ public class ZoneDessin extends JPanel { // Etats du jeu protected boolean estArrete = false; protected boolean isGameOver = false; + protected boolean isVictoire = false; // LE BOUTON DOIT ÊTRE PUBLIC POUR ÊTRE ACCESSIBLE DEPUIS JEU.JAVA public JButton btnRetour; @@ -38,7 +39,7 @@ public class ZoneDessin extends JPanel { public void viderObjets() { this.listeObjets.clear(); } public void traiterBoucleAnimation(){ - if (estArrete || isGameOver) return; + if (estArrete || isGameOver || isVictoire) return; for (ObjetGraphique obj : listeObjets){ obj.Animer(); @@ -65,7 +66,17 @@ public class ZoneDessin extends JPanel { String msg = "GAME OVER"; int largeur = g2D.getFontMetrics().stringWidth(msg); g2D.drawString(msg, (getWidth() - largeur) / 2, getHeight() / 2 - 50); + } else if (isVictoire) { + g2D.setColor(new Color(0, 0, 0, 150)); // Fond sombre + g2D.fillRect(0, 0, getWidth(), getHeight()); + + g2D.setColor(Color.GREEN); + g2D.setFont(new Font("Arial", Font.BOLD, 50)); + String msg = "VICTOIRE"; + int largeur = g2D.getFontMetrics().stringWidth(msg); + g2D.drawString(msg, (getWidth() - largeur) / 2, getHeight() / 2 - 50); } + } public void setGameOver(boolean state) { @@ -74,4 +85,9 @@ public class ZoneDessin extends JPanel { btnRetour.setVisible(state); repaint(); } + public void setVictoire(boolean state) { + this.isVictoire = state; + btnRetour.setVisible(state); + repaint(); + } } \ No newline at end of file