inversion de sens du jeu
This commit is contained in:
@@ -44,6 +44,7 @@ public class CampagneAutoroute {
|
|||||||
|
|
||||||
jeu.prochainBonusScore = 100 + jeu.random.nextInt(36);
|
jeu.prochainBonusScore = 100 + jeu.random.nextInt(36);
|
||||||
jeu.prochainMalusScore = 100 + jeu.random.nextInt(46);
|
jeu.prochainMalusScore = 100 + jeu.random.nextInt(46);
|
||||||
|
jeu.prochainInversionScore = 150 + jeu.random.nextInt(100);
|
||||||
|
|
||||||
jeu.layout.show(jeu.conteneurPrincipal, "JEU");
|
jeu.layout.show(jeu.conteneurPrincipal, "JEU");
|
||||||
jeu.ecran.setFocusable(true);
|
jeu.ecran.setFocusable(true);
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ public class CampagneEspace {
|
|||||||
|
|
||||||
jeu.prochainBonusScore = 100 + jeu.random.nextInt(26);
|
jeu.prochainBonusScore = 100 + jeu.random.nextInt(26);
|
||||||
jeu.prochainMalusScore = 100 + jeu.random.nextInt(26);
|
jeu.prochainMalusScore = 100 + jeu.random.nextInt(26);
|
||||||
|
jeu.prochainInversionScore = 150 + jeu.random.nextInt(100);
|
||||||
|
|
||||||
jeu.layout.show(jeu.conteneurPrincipal, "JEU");
|
jeu.layout.show(jeu.conteneurPrincipal, "JEU");
|
||||||
jeu.ecran.setFocusable(true);
|
jeu.ecran.setFocusable(true);
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ public class CampagneOcean {
|
|||||||
|
|
||||||
jeuPrincipal.prochainBonusScore = 100 + jeuPrincipal.random.nextInt(26);
|
jeuPrincipal.prochainBonusScore = 100 + jeuPrincipal.random.nextInt(26);
|
||||||
jeuPrincipal.prochainMalusScore = 100 + jeuPrincipal.random.nextInt(26);
|
jeuPrincipal.prochainMalusScore = 100 + jeuPrincipal.random.nextInt(26);
|
||||||
|
jeuPrincipal.prochainInversionScore = 150 + jeuPrincipal.random.nextInt(100);
|
||||||
|
|
||||||
jeuPrincipal.layout.show(jeuPrincipal.conteneurPrincipal, "JEU");
|
jeuPrincipal.layout.show(jeuPrincipal.conteneurPrincipal, "JEU");
|
||||||
jeuPrincipal.ecran.setFocusable(true);
|
jeuPrincipal.ecran.setFocusable(true);
|
||||||
|
|||||||
29
src/linea/Inversion.java
Normal file
29
src/linea/Inversion.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package linea;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
import java.awt.Graphics;
|
||||||
|
|
||||||
|
public class Inversion extends ObjetGraphique {
|
||||||
|
|
||||||
|
private int largeur = 20;
|
||||||
|
private int hauteur = 20;
|
||||||
|
private double vitesseDefilement;
|
||||||
|
|
||||||
|
public Inversion(double x, double y, double vitesse) {
|
||||||
|
this.x = x;
|
||||||
|
this.y = y;
|
||||||
|
this.vitesseDefilement = vitesse;
|
||||||
|
this.couleur = new Color(128, 0, 255);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void Afficher(Graphics g) {
|
||||||
|
g.setColor(this.couleur);
|
||||||
|
g.fillRect((int)x, (int)y, largeur, hauteur);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void Animer() {
|
||||||
|
this.x -= vitesseDefilement;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -32,6 +32,10 @@ public class Jeu implements KeyListener, ActionListener {
|
|||||||
protected Random random = new Random();
|
protected Random random = new Random();
|
||||||
protected int prochainBonusScore;
|
protected int prochainBonusScore;
|
||||||
protected int prochainMalusScore;
|
protected int prochainMalusScore;
|
||||||
|
protected int prochainInversionScore;
|
||||||
|
protected boolean inversionActive = false;
|
||||||
|
protected int inversionTimer = 0;
|
||||||
|
|
||||||
|
|
||||||
protected int utilisateurIdConnecte = -1;
|
protected int utilisateurIdConnecte = -1;
|
||||||
protected String identifiantUtilisateurConnecte;
|
protected String identifiantUtilisateurConnecte;
|
||||||
@@ -177,6 +181,7 @@ public class Jeu implements KeyListener, ActionListener {
|
|||||||
|
|
||||||
this.prochainBonusScore = 100 + random.nextInt(36);
|
this.prochainBonusScore = 100 + random.nextInt(36);
|
||||||
this.prochainMalusScore = 100 + random.nextInt(46);
|
this.prochainMalusScore = 100 + random.nextInt(46);
|
||||||
|
this.prochainInversionScore = 500 + random.nextInt(200);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -215,9 +220,26 @@ public class Jeu implements KeyListener, ActionListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (score == prochainInversionScore) {
|
||||||
|
double xSpawn = 810;
|
||||||
|
double yLigne = laligne.getHauteurLigneA(xSpawn);
|
||||||
|
if (yLigne != -1) {
|
||||||
|
ecran.ajouterObjet(new Inversion(xSpawn, yLigne - 10, laligne.vitesseDefilement));
|
||||||
|
prochainInversionScore = score + 250 + random.nextInt(150);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inversionActive) {
|
||||||
|
inversionTimer--;
|
||||||
|
laligne.vitesseDefilement = -Math.abs(laligne.vitesseDefilement);
|
||||||
|
if (inversionTimer <= 0) {
|
||||||
|
inversionActive = false;
|
||||||
|
laligne.vitesseDefilement = Math.abs(laligne.vitesseDefilement);
|
||||||
|
}
|
||||||
|
}
|
||||||
for (int i = ecran.listeObjets.size() - 1; i >= 0; i--) {
|
for (int i = ecran.listeObjets.size() - 1; i >= 0; i--) {
|
||||||
ObjetGraphique obj = ecran.listeObjets.get(i);
|
ObjetGraphique obj = ecran.listeObjets.get(i);
|
||||||
if (obj instanceof Bonus || obj instanceof Malus) {
|
if (obj instanceof Bonus || obj instanceof Malus || obj instanceof Inversion) {
|
||||||
double itemLargeur = 20.0;
|
double itemLargeur = 20.0;
|
||||||
double itemHauteur = 20.0;
|
double itemHauteur = 20.0;
|
||||||
|
|
||||||
@@ -238,12 +260,15 @@ public class Jeu implements KeyListener, ActionListener {
|
|||||||
double newRayon = demiCercleAvant.getRayon() + 3;
|
double newRayon = demiCercleAvant.getRayon() + 3;
|
||||||
demiCercleAvant.setRayon(newRayon);
|
demiCercleAvant.setRayon(newRayon);
|
||||||
demiCercleArriere.setRayon(newRayon);
|
demiCercleArriere.setRayon(newRayon);
|
||||||
} else {
|
} else if(obj instanceof Malus){
|
||||||
double newRayon = demiCercleAvant.getRayon() - 3;
|
double newRayon = demiCercleAvant.getRayon() - 3;
|
||||||
if (newRayon < 10)
|
if (newRayon < 10)
|
||||||
newRayon = 10;
|
newRayon = 10;
|
||||||
demiCercleAvant.setRayon(newRayon);
|
demiCercleAvant.setRayon(newRayon);
|
||||||
demiCercleArriere.setRayon(newRayon);
|
demiCercleArriere.setRayon(newRayon);
|
||||||
|
} else if(obj instanceof Inversion){
|
||||||
|
inversionActive = true;
|
||||||
|
inversionTimer = 75 + random.nextInt(50);
|
||||||
}
|
}
|
||||||
ecran.listeObjets.remove(i);
|
ecran.listeObjets.remove(i);
|
||||||
}
|
}
|
||||||
@@ -260,7 +285,7 @@ public class Jeu implements KeyListener, ActionListener {
|
|||||||
if (!modeInvincible) gameOver();
|
if (!modeInvincible) gameOver();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
victoire();
|
if (!inversionActive) victoire();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user