Ajout bonus de Taille

augmente la taille du cercle temporairement quand ramassé
This commit is contained in:
2026-03-25 21:28:33 +01:00
parent eb74186d05
commit e1e0ef5054
2 changed files with 110 additions and 1 deletions

View File

@@ -42,6 +42,8 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
public int typeInvincibilite = 0;
public boolean invincibiliteRouge = false;
protected boolean bonusTailleActif = false;
protected int compteurBonusTaille = 0;
protected String pseudo = "";
protected JFrame fenetre;
@@ -116,9 +118,10 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
public void lancerPartie(String pseudoSaisi) {
pseudo = pseudoSaisi;
// C'est cette ligne qui donne vie au bonus !
// lignes pour ajouter les bonus
ecran.ajouterObjet(new Bonus(lili, demiCercleAvant, this));
ecran.ajouterObjet(new Malus(lili, demiCercleAvant, this));
ecran.ajouterObjet(new BonusTaille(lili, demiCercleAvant, this));
// A FAIRE : placer dans l'écran tous les objets graphiques nécessaires
ecran.ajouterObjet(demiCercleArriere);
@@ -142,6 +145,8 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
estGameOver = false;
compteurInvincible = 0;
invincibiliteRouge = false;
bonusTailleActif = false;
compteurBonusTaille = 0;
gestionnaireNiveau.reinitialiser();
gestionnaireFinDePartie.reinitialiser();
ecran.demarrer();
@@ -154,6 +159,12 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
}
public void activerBonusTaille() {
bonusTailleActif = true;
// A 40ms par tick d'horloge, 150 frames = environ 6 secondes de bonus
compteurBonusTaille = 150;
}
@Override
public void actionPerformed(ActionEvent e) {
if (estGameOver == true) {
@@ -168,6 +179,16 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
ecran.setCouleurFond(gestionnaireNiveau.getCouleurFondInterpolee());
double rayon = gestionnaireNiveau.getRayonCercle();
if (bonusTailleActif == true) {
rayon = rayon + 30;
compteurBonusTaille = compteurBonusTaille - 1;
if (compteurBonusTaille <= 0) {
bonusTailleActif = false;
}
}
demiCercleAvant.setRayon(rayon);
demiCercleArriere.setRayon(rayon);