ecran victoire

This commit is contained in:
2026-03-16 16:52:30 +01:00
parent 805bb6583f
commit 1d6f77cb28

View File

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