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-16 15:32:49 +01:00
|
|
|
// On récupère les paramètres depuis la BDD
|
|
|
|
|
double[] params = jeu.bdd.getParametresDifficulte(difficulte);
|
|
|
|
|
double vitesse = params[0];
|
|
|
|
|
double pente = params[1];
|
2026-03-16 16:11:07 +01:00
|
|
|
int segments = (int) params[2];
|
2026-03-04 14:34:33 +01:00
|
|
|
|
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-16 16:11:07 +01:00
|
|
|
jeu.laligne = new Ligne(vitesse, pente, segments);
|
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);
|
2026-03-16 16:39:57 +01:00
|
|
|
jeu.ecran.setVictoire(false);
|
2026-02-23 12:40:31 +01:00
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
}
|