Adding increase difficulty
This commit is contained in:
@@ -147,7 +147,22 @@ public class Jeu implements KeyListener, ActionListener{
|
|||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
ecran.traiterBoucleAnimation();
|
ecran.traiterBoucleAnimation();
|
||||||
if (ecran.aCollision()) {
|
if (ecran.aCollision()) {
|
||||||
|
if (horloge != null) horloge.stop();
|
||||||
|
int finalScore = (int) score;
|
||||||
|
Object[] options = {"Relancer", "Quitter"};
|
||||||
|
int choix = javax.swing.JOptionPane.showOptionDialog(null,
|
||||||
|
"Perdu\nScore : " + finalScore,
|
||||||
|
"Perdu",
|
||||||
|
javax.swing.JOptionPane.DEFAULT_OPTION,
|
||||||
|
javax.swing.JOptionPane.INFORMATION_MESSAGE,
|
||||||
|
null,
|
||||||
|
options,
|
||||||
|
options[0]);
|
||||||
|
if (choix == 0) { // Relancer
|
||||||
resetLevel();
|
resetLevel();
|
||||||
|
} else {
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
score+=(0.05+(0.05*horloge.getDelay()/100.0));
|
score+=(0.05+(0.05*horloge.getDelay()/100.0));
|
||||||
|
|||||||
@@ -11,6 +11,12 @@ public class Ligne extends ObjetGraphique{
|
|||||||
private int nbSegments = 400;
|
private int nbSegments = 400;
|
||||||
private double xCercle = 400;
|
private double xCercle = 400;
|
||||||
private Segment SegCourant;
|
private Segment SegCourant;
|
||||||
|
// vitesse de déplacement (augmente légèrement chaque frame)
|
||||||
|
private double vitesse = 5.0;
|
||||||
|
// croissance initiale (fractionnelle) appliquée chaque frame
|
||||||
|
private double croissance = 0.001; // ~0.1% initial
|
||||||
|
// facteur qui amplifie la croissance elle-même (pour accélérer la montée)
|
||||||
|
private double facteurCroissance = 1.00003; // croissance augmente légèrement
|
||||||
|
|
||||||
// liste des segments
|
// liste des segments
|
||||||
private ArrayList<Segment> segments = new ArrayList<Segment>();
|
private ArrayList<Segment> segments = new ArrayList<Segment>();
|
||||||
@@ -47,10 +53,15 @@ public class Ligne extends ObjetGraphique{
|
|||||||
@Override
|
@Override
|
||||||
public void Animer() {
|
public void Animer() {
|
||||||
// déplace tous les segments vers la gauche
|
// déplace tous les segments vers la gauche
|
||||||
double delta = 5.0; // vitesse de déplacement
|
double delta = vitesse; // vitesse de déplacement (exponentielle)
|
||||||
for (Segment seg : segments) {
|
for (Segment seg : segments) {
|
||||||
seg.x -= delta;
|
seg.x -= delta;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// appliquer la croissance (vitesse *= 1 + croissance)
|
||||||
|
vitesse *= (1.0 + croissance);
|
||||||
|
// augmenter légèrement la croissance pour que l'accélération s'amplifie
|
||||||
|
croissance *= facteurCroissance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user