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 int score;
//base de données
// base de données
protected GestionnaireBDD bdd = new GestionnaireBDD();
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 difficulteActive = 0; // Retient la difficulté (1=Facile, 2=Moyen, 3=Difficile)
public Jeu(){
public Jeu() {
score = 0;
labScore = new JLabel("<html><h3>score : 0</h3></html>");
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("<html><h3>score : 0</h3></html>");
}
@Override
public void actionPerformed(ActionEvent e) {
ecran.traiterBoucleAnimation();
score ++;
score++;
labScore.setText("<html><h3>score : " + score+"</h3></html>");
labScore.setText("<html><h3>score : " + score + "</h3></html>");
// 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) {
}
}