2026-02-23 12:40:31 +01:00
|
|
|
package linea;
|
|
|
|
|
|
|
|
|
|
import javax.swing.Timer;
|
|
|
|
|
|
|
|
|
|
public class CampagneEspace {
|
|
|
|
|
protected Jeu jeu;
|
|
|
|
|
|
|
|
|
|
public CampagneEspace(Jeu j) {
|
|
|
|
|
this.jeu = j;
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-04 14:34:33 +01:00
|
|
|
public void lancerNiveauLune(int difficulte) {
|
|
|
|
|
System.out.println("Lancement Espace - Difficulté : " + difficulte);
|
2026-02-23 12:40:31 +01:00
|
|
|
|
|
|
|
|
if(jeu.horloge != null) {
|
|
|
|
|
jeu.horloge.stop();
|
|
|
|
|
}
|
|
|
|
|
jeu.horloge = new Timer(40, jeu);
|
|
|
|
|
|
|
|
|
|
jeu.ecran.viderObjets();
|
|
|
|
|
|
2026-03-04 14:34:33 +01:00
|
|
|
double vitesse = 5.0;
|
|
|
|
|
double pente = 30.0;
|
|
|
|
|
|
|
|
|
|
if (difficulte == 1) { // FACILE
|
2026-03-04 14:39:14 +01:00
|
|
|
vitesse = 6.0;
|
2026-03-04 14:34:33 +01:00
|
|
|
pente = 20.0;
|
|
|
|
|
} else if (difficulte == 2) { // MOYEN
|
2026-03-04 14:39:14 +01:00
|
|
|
vitesse = 7.0;
|
2026-03-04 14:34:33 +01:00
|
|
|
pente = 45.0;
|
|
|
|
|
} else if (difficulte == 3) { // DIFFICILE
|
2026-03-04 14:39:14 +01:00
|
|
|
vitesse = 8.0;
|
2026-03-04 14:34:33 +01:00
|
|
|
pente = 70.0;
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-23 12:40:31 +01:00
|
|
|
// 1. Fond étoilé
|
|
|
|
|
FondEspace fond = new FondEspace();
|
|
|
|
|
jeu.ecran.ajouterObjet(fond);
|
|
|
|
|
|
|
|
|
|
// 2. Ligne de trajectoire
|
2026-03-04 14:39:14 +01:00
|
|
|
jeu.laligne = new Ligne(vitesse, pente);
|
2026-02-23 12:40:31 +01:00
|
|
|
jeu.ecran.ajouterObjet(jeu.laligne);
|
|
|
|
|
|
|
|
|
|
// 3. Cercle Espace avec physique Lunaire (niveau 1)
|
|
|
|
|
CercleEspace halo = new CercleEspace(0, 360, 1);
|
|
|
|
|
jeu.ecran.ajouterObjet(halo);
|
|
|
|
|
|
|
|
|
|
// Liaisons contrôles
|
|
|
|
|
jeu.demiCercleAvant = halo;
|
|
|
|
|
jeu.demiCercleArriere = halo;
|
|
|
|
|
|
|
|
|
|
// UI et lancement
|
|
|
|
|
jeu.ecran.setGameOver(false);
|
|
|
|
|
jeu.score = 0;
|
|
|
|
|
jeu.labScore.setText("<html><h3 style='color:white;'>LUNE - score : 0</h3></html>");
|
|
|
|
|
|
|
|
|
|
jeu.layout.show(jeu.conteneurPrincipal, "JEU");
|
|
|
|
|
jeu.ecran.setFocusable(true);
|
|
|
|
|
jeu.ecran.requestFocusInWindow();
|
|
|
|
|
jeu.horloge.start();
|
|
|
|
|
}
|
|
|
|
|
}
|