gestion difficulté + niveaux + bdd(buggé)

This commit is contained in:
2026-02-23 11:14:56 +01:00
parent 08e68ad1ba
commit 67bfa58457
5 changed files with 171 additions and 32 deletions

View File

@@ -22,6 +22,12 @@ public class Jeu implements KeyListener, ActionListener {
protected JLabel labScore;
protected int score;
//base de données
protected GestionnaireBDD bdd = new GestionnaireBDD();
public int idCampagneActive = 0; // Retient la campagne (1 = Autoroute, etc.)
public int difficulteActive = 0; // Retient la difficulté (1=Facile, 2=Moyen, 3=Difficile)
public Jeu(){
score = 0;
labScore = new JLabel("<html><h3>score : 0</h3></html>");
@@ -59,6 +65,16 @@ public class Jeu implements KeyListener, ActionListener {
fenetre.pack();
fenetre.setLocationRelativeTo(null);
fenetre.setVisible(true);
// Ajout d'un écouteur pour fermer la connexion BDD en quittant
fenetre.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
System.out.println("Fermeture de l'application, fermeture de la connexion BDD.");
bdd.fermerConnexion();
}
});
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@@ -71,9 +87,15 @@ public class Jeu implements KeyListener, ActionListener {
}
public void lancerNiveau(int numeroNiveau) {
System.out.println("Lancement du niveau " + numeroNiveau);
// Ici tu pourras configurer la difficulté selon le niveau
lancerPartie();
this.difficulteActive = numeroNiveau;
if (idCampagneActive == 1) {
CampagneAutoroute campagne = new CampagneAutoroute(this);
campagne.lancerNiveau(numeroNiveau);
}
else {
lancerPartie(); // Partie classique par défaut
}
}
public void lancerPartie() {
@@ -137,6 +159,12 @@ public class Jeu implements KeyListener, ActionListener {
public void gameOver() {
horloge.stop();
ecran.setGameOver(true); // Affiche "Game Over" et le bouton Retour
int dureePartie = score / 25; // Exemple : 25 frames par seconde
// On utilise nos deux variables pour la sauvegarde !
// L'appel est maintenant plus robuste grâce au nouveau GestionnaireBDD
bdd.enregistrerPartie(dureePartie, idCampagneActive, difficulteActive, score);
}
// Gestion touches...