Compare commits

..

2 Commits

Author SHA1 Message Date
840689e488 liaison ocean 2026-02-23 11:34:23 +01:00
0dae2808c7 lancerNiveaux 2026-02-23 11:19:09 +01:00
3 changed files with 30 additions and 16 deletions

View File

@@ -1,48 +1,58 @@
package linea; package linea;
import javax.swing.Timer; import javax.swing.Timer;
import java.awt.Color;
public class CampagneAutoroute { public class CampagneAutoroute {
protected Jeu jeu; // Référence au jeu principal protected Jeu jeu;
public CampagneAutoroute(Jeu j) { public CampagneAutoroute(Jeu j) {
this.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) { if(jeu.horloge != null) { jeu.horloge.stop(); }
jeu.horloge.stop();
}
jeu.horloge = new Timer(40, jeu); jeu.horloge = new Timer(40, jeu);
jeu.ecran.viderObjets(); 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.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); jeu.ecran.ajouterObjet(jeu.laligne);
Voiture maVoiture = new Voiture(); Voiture maVoiture = new Voiture();
jeu.ecran.ajouterObjet(maVoiture); jeu.ecran.ajouterObjet(maVoiture);
jeu.demiCercleAvant = maVoiture; jeu.demiCercleAvant = maVoiture;
jeu.demiCercleArriere = maVoiture; jeu.demiCercleArriere = maVoiture;
jeu.ecran.setGameOver(false); jeu.ecran.setGameOver(false);
jeu.score = 0; jeu.score = 0;
jeu.labScore.setText("<html><h3 style='color:white;'>score : 0</h3></html>"); jeu.labScore.setText("<html><h3 style='color:white;'>score : 0</h3></html>");
jeu.layout.show(jeu.conteneurPrincipal, "JEU"); jeu.layout.show(jeu.conteneurPrincipal, "JEU");
jeu.ecran.setFocusable(true); jeu.ecran.setFocusable(true);
jeu.ecran.requestFocusInWindow(); jeu.ecran.requestFocusInWindow();

View File

@@ -11,7 +11,7 @@ public class CampagneOcean {
this.jeuPrincipal = jeu; this.jeuPrincipal = jeu;
} }
public void demarrerLeNiveau(int niveau) { public void lancerNiveau(int niveau) {
System.out.println("Lancement du niveau Ocean - Difficulté : " + niveau); System.out.println("Lancement du niveau Ocean - Difficulté : " + niveau);
if (jeuPrincipal.horloge != null) { if (jeuPrincipal.horloge != null) {

View File

@@ -93,8 +93,12 @@ public class Jeu implements KeyListener, ActionListener {
CampagneAutoroute campagne = new CampagneAutoroute(this); CampagneAutoroute campagne = new CampagneAutoroute(this);
campagne.lancerNiveau(numeroNiveau); campagne.lancerNiveau(numeroNiveau);
} }
else if (idCampagneActive == 3) {
CampagneOcean campagne = new CampagneOcean(this);
campagne.lancerNiveau(numeroNiveau);
}
else { else {
lancerPartie(); // Partie classique par défaut lancerPartie();
} }
} }