diff --git a/src/linea/Jeu.java b/src/linea/Jeu.java
index 20e3118..63d134c 100644
--- a/src/linea/Jeu.java
+++ b/src/linea/Jeu.java
@@ -24,15 +24,15 @@ public class Jeu implements KeyListener, ActionListener {
protected JLabel labScore;
protected int score;
- //base de données
+ // base de données
protected GestionnaireBDD bdd = new GestionnaireBDD();
protected int utilisateurIdConnecte = -1;
protected String identifiantUtilisateurConnecte;
- public int idCampagneActive = 0; // Retient la campagne (1 = Autoroute, etc.)
- public int difficulteActive = 0; // Retient la difficulté (1=Facile, 2=Moyen, 3=Difficile)
+ 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(){
+ public Jeu() {
score = 0;
labScore = new JLabel("
score : 0
");
labScore.setBounds(20, 540, 200, 50);
@@ -54,7 +54,7 @@ public class Jeu implements KeyListener, ActionListener {
menuLeaderboard = new MenuLeaderboard(this);
// Initialisation initiale
- resetPartie(6,20);
+ resetPartie(6, 20);
// On ajoute l'action au bouton "Retour" de la ZoneDessin (Game Over)
ecran.btnRetour.addActionListener(new ActionListener() {
@@ -117,12 +117,10 @@ public class Jeu implements KeyListener, ActionListener {
} else if (idCampagneActive == 2) {
CampagneEspace campagne = new CampagneEspace(this);
campagne.lancerNiveauLune(numeroNiveau);
- }
- else if (idCampagneActive == 3) {
+ } else if (idCampagneActive == 3) {
CampagneOcean campagne = new CampagneOcean(this);
campagne.lancerNiveau(numeroNiveau);
- }
- else {
+ } else {
lancerPartie();
}
}
@@ -135,11 +133,11 @@ public class Jeu implements KeyListener, ActionListener {
}
public void resetPartie(double vitesse, double pente) {
- resetPartie(vitesse, pente, 50); // Valeur par défaut pour les segments
+ resetPartie(vitesse, pente, 50);
}
public void resetPartie(double vitesse, double pente, int segments) {
- if(horloge != null) {
+ if (horloge != null) {
horloge.stop();
}
@@ -159,19 +157,19 @@ public class Jeu implements KeyListener, ActionListener {
ecran.ajouterObjet(laligne);
ecran.setGameOver(false);
+ ecran.setVictoire(false);
score = 0;
labScore.setText("score : 0
");
}
-
@Override
public void actionPerformed(ActionEvent e) {
ecran.traiterBoucleAnimation();
- score ++;
+ score++;
- labScore.setText("score : " + score+"
");
+ labScore.setText("score : " + score + "
");
// Gestion collision simple
double hauteurLigne = laligne.getHauteurLigneA(400);
if (hauteurLigne != -1) {
@@ -185,10 +183,19 @@ public class Jeu implements KeyListener, ActionListener {
}
} else {
// Si on arrive au bout de la ligne
- gameOver();
+ victoire();
}
}
+ public void victoire() {
+ horloge.stop();
+ ecran.setVictoire(true); // Affiche "Victoire" et le bouton Retour
+
+ int dureePartie = score / 25; // Exemple : 25 frames par seconde
+
+ bdd.enregistrerPartie(dureePartie, idCampagneActive, difficulteActive, score, utilisateurIdConnecte);
+ }
+
public void gameOver() {
horloge.stop();
ecran.setGameOver(true); // Affiche "Game Over" et le bouton Retour
@@ -208,6 +215,7 @@ public class Jeu implements KeyListener, ActionListener {
demiCercleArriere.Monter();
}
}
+
@Override
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == 38) {
@@ -215,5 +223,8 @@ public class Jeu implements KeyListener, ActionListener {
demiCercleArriere.ArreterMonter();
}
}
- @Override public void keyTyped(KeyEvent e) {}
+
+ @Override
+ public void keyTyped(KeyEvent e) {
+ }
}