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) { + } }