From 0dae2808c7a27535207131921adc6e5c3d0440c0 Mon Sep 17 00:00:00 2001 From: matthew-java Date: Mon, 23 Feb 2026 11:19:09 +0100 Subject: [PATCH] lancerNiveaux --- src/linea/CampagneAutoroute.java | 38 ++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/src/linea/CampagneAutoroute.java b/src/linea/CampagneAutoroute.java index cc13c1a..a33c7ca 100644 --- a/src/linea/CampagneAutoroute.java +++ b/src/linea/CampagneAutoroute.java @@ -1,48 +1,58 @@ package linea; import javax.swing.Timer; -import java.awt.Color; public class CampagneAutoroute { - protected Jeu jeu; // Référence au jeu principal + protected Jeu jeu; public CampagneAutoroute(Jeu j) { this.jeu = j; } - public void lancerNiveau1() { - System.out.println("Lancement du niveau autoroute ..."); + public void lancerNiveau(int difficulte) { + System.out.println("Lancement Autoroute - Difficulté : " + difficulte); - if(jeu.horloge != null) { - jeu.horloge.stop(); - } + if(jeu.horloge != null) { jeu.horloge.stop(); } jeu.horloge = new Timer(40, jeu); - - jeu.ecran.viderObjets(); + // --- 1. CONFIGURATION DE LA DIFFICULTÉ --- + double vitesse = 5.0; + double pente = 30.0; - FondAutoroute fond = new FondAutoroute(); + if (difficulte == 1) { // FACILE + vitesse = 4.0; + pente = 20.0; + } else if (difficulte == 2) { // MOYEN + vitesse = 8.0; + pente = 45.0; + } else if (difficulte == 3) { // DIFFICILE + vitesse = 12.0; + pente = 70.0; + } + + // --- 2. CRÉATION DES OBJETS AVEC LA MÊME VITESSE --- + + // On passe la vitesse au fond pour qu'il défile au même rythme ! + FondAutoroute fond = new FondAutoroute(vitesse); jeu.ecran.ajouterObjet(fond); - jeu.laligne = new Ligne(); // La ligne + // On passe aussi la vitesse (et la pente) à la ligne + jeu.laligne = new Ligne(vitesse, pente); jeu.ecran.ajouterObjet(jeu.laligne); Voiture maVoiture = new Voiture(); - jeu.ecran.ajouterObjet(maVoiture); jeu.demiCercleAvant = maVoiture; jeu.demiCercleArriere = maVoiture; - jeu.ecran.setGameOver(false); jeu.score = 0; jeu.labScore.setText("

score : 0

"); - jeu.layout.show(jeu.conteneurPrincipal, "JEU"); jeu.ecran.setFocusable(true); jeu.ecran.requestFocusInWindow();