Clignotement lors de la perte de vie
Clignotement blanc : Début de partie et changement de niveau Clignotement rouge : Collision avec la ligne et obtention de malus
This commit is contained in:
BIN
linea_bdd.db
BIN
linea_bdd.db
Binary file not shown.
44
src/Jeu.java
44
src/Jeu.java
@@ -39,6 +39,9 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
|
|||||||
protected boolean estGameOver = false;
|
protected boolean estGameOver = false;
|
||||||
protected JLabel labGameOver;
|
protected JLabel labGameOver;
|
||||||
protected int compteurInvincible = 0;
|
protected int compteurInvincible = 0;
|
||||||
|
public int typeInvincibilite = 0;
|
||||||
|
public boolean invincibiliteRouge = false;
|
||||||
|
|
||||||
|
|
||||||
protected String pseudo = "";
|
protected String pseudo = "";
|
||||||
protected JFrame fenetre;
|
protected JFrame fenetre;
|
||||||
@@ -121,7 +124,7 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
|
|||||||
ecran.ajouterObjet(demiCercleArriere);
|
ecran.ajouterObjet(demiCercleArriere);
|
||||||
ecran.ajouterObjet(lili);
|
ecran.ajouterObjet(lili);
|
||||||
ecran.ajouterObjet(demiCercleAvant);
|
ecran.ajouterObjet(demiCercleAvant);
|
||||||
demiCercleArriere.setCouleur(new Color(0.0f, 0.4f, 0.0f));
|
demiCercleArriere.setCouleur(new Color(0.8f, 0.0f, 0.0f));
|
||||||
demiCercleAvant.setCouleur(new Color(0.0f, 0.5f, 0.0f));
|
demiCercleAvant.setCouleur(new Color(0.0f, 0.5f, 0.0f));
|
||||||
|
|
||||||
ecran.addKeyListener(this);
|
ecran.addKeyListener(this);
|
||||||
@@ -138,6 +141,7 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
|
|||||||
enCollision = false;
|
enCollision = false;
|
||||||
estGameOver = false;
|
estGameOver = false;
|
||||||
compteurInvincible = 0;
|
compteurInvincible = 0;
|
||||||
|
invincibiliteRouge = false;
|
||||||
gestionnaireNiveau.reinitialiser();
|
gestionnaireNiveau.reinitialiser();
|
||||||
gestionnaireFinDePartie.reinitialiser();
|
gestionnaireFinDePartie.reinitialiser();
|
||||||
ecran.demarrer();
|
ecran.demarrer();
|
||||||
@@ -147,9 +151,7 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
|
|||||||
}
|
}
|
||||||
horloge.start();
|
horloge.start();
|
||||||
|
|
||||||
// A FAIRE : donner la couleur des 2 demi-cercles
|
|
||||||
// demiCercleArriere.setCouleur(new Color(0.8f, 0.0f, 0.0f));
|
|
||||||
demiCercleArriere.setCouleur(new Color(0.8f, 0.0f, 0.0f));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -161,6 +163,7 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
|
|||||||
gestionnaireNiveau.mettreAJour();
|
gestionnaireNiveau.mettreAJour();
|
||||||
if (gestionnaireNiveau.aChangéDeNiveau()) {
|
if (gestionnaireNiveau.aChangéDeNiveau()) {
|
||||||
compteurInvincible = 0;
|
compteurInvincible = 0;
|
||||||
|
invincibiliteRouge = false;
|
||||||
}
|
}
|
||||||
ecran.setCouleurFond(gestionnaireNiveau.getCouleurFondInterpolee());
|
ecran.setCouleurFond(gestionnaireNiveau.getCouleurFondInterpolee());
|
||||||
|
|
||||||
@@ -178,7 +181,40 @@ public class Jeu implements KeyListener, ActionListener, MouseListener {
|
|||||||
|
|
||||||
if (compteurInvincible < 75) {
|
if (compteurInvincible < 75) {
|
||||||
compteurInvincible = compteurInvincible + 1;
|
compteurInvincible = compteurInvincible + 1;
|
||||||
|
|
||||||
|
// clignotement
|
||||||
|
if (compteurInvincible % 10 < 5) {
|
||||||
|
if (invincibiliteRouge) {
|
||||||
|
// degats = rouge
|
||||||
|
demiCercleArriere.setCouleur(new Color(1f, 0f, 0f));
|
||||||
|
demiCercleAvant.setCouleur(new Color(1f, 0f, 0f));
|
||||||
} else {
|
} else {
|
||||||
|
// niveau/debut = blanc
|
||||||
|
demiCercleArriere.setCouleur(new Color(255, 255, 255, 150));
|
||||||
|
demiCercleAvant.setCouleur(new Color(255, 255, 255, 150));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Couleurs normales entre deux clignotements
|
||||||
|
demiCercleArriere.setCouleur(new Color(0.8f, 0.0f, 0.0f));
|
||||||
|
demiCercleAvant.setCouleur(new Color(0.0f, 0.5f, 0.0f));
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
//couleur normale a la fin
|
||||||
|
demiCercleArriere.setCouleur(new Color(0.8f, 0.0f, 0.0f));
|
||||||
|
demiCercleAvant.setCouleur(new Color(0.0f, 0.5f, 0.0f));
|
||||||
|
|
||||||
|
if (demiCercleArriere.VerifierCollision(lili)) {
|
||||||
|
if (enCollision == false) {
|
||||||
|
vies = vies - 1;
|
||||||
|
enCollision = true;
|
||||||
|
compteurInvincible = 0;
|
||||||
|
invincibiliteRouge = true; // On a touché la ligne : on déclenche le ROUGE !
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
enCollision = false;
|
||||||
|
}
|
||||||
|
|
||||||
if (demiCercleArriere.VerifierCollision(lili)) {
|
if (demiCercleArriere.VerifierCollision(lili)) {
|
||||||
if (enCollision == false) {
|
if (enCollision == false) {
|
||||||
vies = vies - 1; // La nouvelle logique : on perd 1 vie
|
vies = vies - 1; // La nouvelle logique : on perd 1 vie
|
||||||
|
|||||||
@@ -79,6 +79,8 @@ public class Malus extends ObjetGraphique {
|
|||||||
if (!dejaCapture) {
|
if (!dejaCapture) {
|
||||||
monJeu.vies -= 1;
|
monJeu.vies -= 1;
|
||||||
dejaCapture = true;
|
dejaCapture = true;
|
||||||
|
monJeu.invincibiliteRouge = true;
|
||||||
|
monJeu.compteurInvincible = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user