Merge branch 'master' of https://titi.koxi.nl/belaeloc/linea_app_projet
This commit is contained in:
@@ -14,7 +14,7 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
// Ecran : instance de ZoneDessin, qui contiendra tous les objets graphiques
|
||||
// On ne vapas créer directement l'écran car ça va créer un flash
|
||||
// On ne va pas créer directement l'écran car ça va créer un flash
|
||||
// Dès le lancement du jeu avec l'image de fond par défaut et l'imga du niveau
|
||||
// et les animera
|
||||
protected ZoneDessin ecran;
|
||||
@@ -96,13 +96,14 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
|
||||
if( n1 != null ){
|
||||
try {
|
||||
// On charge l'mage du niveau 1
|
||||
// On charge l'image du niveau 1
|
||||
java.net.URL url = Jeu.class.getResource("/" + n1.getImage());
|
||||
if(url != null){
|
||||
java.awt.Image img = javax.imageio.ImageIO.read(url);
|
||||
premierFond = new Background(img);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -268,6 +269,18 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
this.dernierSegmentValide = null;
|
||||
this.ecran.partiePerdue = false;
|
||||
|
||||
// Formule : Gravité de base - (Niveau * incrément)
|
||||
// Niveau 1 : 10.0 + (1 * 1.50) = 8.5 (poids normal)
|
||||
// Niveau 4 : 10.0 + (4 * 1.50) = 4.0 (Très léger et plane)
|
||||
double graviteNiveau = 10.0 - (this.niveauEnCours.getId() * 1.5);
|
||||
// Sécurité: La gravité du niveau ne doit pas descendre en dessous de 2
|
||||
// Sinon le cercle ne retomberait plus jamais
|
||||
if(graviteNiveau < 2.0){
|
||||
graviteNiveau = 2.0;
|
||||
}
|
||||
this.demiCercleAvant.setGravite(graviteNiveau);
|
||||
this.demiCercleArriere.setGravite(graviteNiveau);
|
||||
|
||||
|
||||
// On corse le jeu avec son ID
|
||||
//On applique les paramètres aux options de jeu
|
||||
@@ -302,7 +315,7 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
|
||||
// Petite pause avec un message
|
||||
horloge.stop();
|
||||
JOptionPane.showMessageDialog(fenetre, "Niveau terminé ! Préparez-vous pour le niveau suivant ;)");
|
||||
JOptionPane.showMessageDialog(fenetre, "Niveau terminé ! Préparez-vous pour le niveau suivant 😉 OU PERDEZ 😈");
|
||||
|
||||
chargerNiveau(idNiveauActuel);
|
||||
horloge.start();
|
||||
@@ -323,11 +336,14 @@ public class Jeu implements KeyListener, ActionListener{
|
||||
itemCourant.y = this.laLigne.getYSurLigne(itemCourant.x) - 40;
|
||||
}
|
||||
|
||||
// Mode triche : centrer le cercle sur le milieu du segment courant
|
||||
// Mode triche : Le cercle suit la ligne
|
||||
// On utilisera le calcul pour déterminer si la ligne traverse le cercle
|
||||
if (modeTriche && this.laLigne.getSegCourant() != null) {
|
||||
double milieuY = this.laLigne.getSegCourant().getMilieuY();
|
||||
this.demiCercleAvant.y = milieuY;
|
||||
this.demiCercleArriere.y = milieuY;
|
||||
// double yPoint = this.getSegCourant().y + (this.SegCourant.yLong / this.SegCourant.xLong) * (this.xCercle - this.SegCourant.x);
|
||||
double yPointTricheArrire = this.laLigne.getSegCourant().getY() + (this.laLigne.getSegCourant().getYLong() / this.laLigne.getSegCourant().getXLong()) * (this.demiCercleArriere.getX() - this.laLigne.getSegCourant().getX());
|
||||
double yPointTricheAvant = this.laLigne.getSegCourant().getY() + (this.laLigne.getSegCourant().getYLong() / this.laLigne.getSegCourant().getXLong()) * (this.demiCercleAvant.getX() - this.laLigne.getSegCourant().getX());
|
||||
this.demiCercleAvant.y = yPointTricheArrire ;
|
||||
this.demiCercleArriere.y = yPointTricheAvant;
|
||||
}
|
||||
|
||||
if (itemCourant.estTouche(demiCercleAvant)) {
|
||||
|
||||
Reference in New Issue
Block a user