From 4e5ab186941330d0bd980e372823a662fd568d3c Mon Sep 17 00:00:00 2001 From: MOISOIU Stefan-Mihai <66520304+stefanmoisoiu@users.noreply.github.com> Date: Mon, 16 Mar 2026 16:25:35 +0100 Subject: [PATCH 1/3] fix niveaux --- src/Cercle.java | 6 +++++- src/GestionnaireNiveau.java | 10 +++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/Cercle.java b/src/Cercle.java index 0d45a28..058d134 100644 --- a/src/Cercle.java +++ b/src/Cercle.java @@ -20,7 +20,8 @@ public class Cercle extends ObjetGraphique { // il s'agit plutôt d'arcs de cerc // pas = "delta t", permet de régler la jouabilité protected double pas = 0.2; - protected double impulsion = 2; + protected double impulsion = 4; + protected double gravite = 1; public static int xCercle = 400; @@ -70,6 +71,9 @@ public class Cercle extends ObjetGraphique { // il s'agit plutôt d'arcs de cerc @Override void Animer() { + // gravite + vitesse += gravite * pas; + // acceleration vers le haut if (montee == true) { vitesse -= impulsion * pas; diff --git a/src/GestionnaireNiveau.java b/src/GestionnaireNiveau.java index 7141972..f58c757 100644 --- a/src/GestionnaireNiveau.java +++ b/src/GestionnaireNiveau.java @@ -20,7 +20,7 @@ public class GestionnaireNiveau { // Niveau 1 niveaux.add(new Niveau(1, new Color(112, 158, 251), - 8, 1 / 80.0, 80, 100, 500)); + 8, 1 / 80.0, 70, 100, 500)); // Niveau 2 niveaux.add(new Niveau(2, @@ -30,17 +30,17 @@ public class GestionnaireNiveau { // Niveau 3 niveaux.add(new Niveau(3, new Color(255, 106, 132), - 12, 1 / 40.0, 50, 100, 500)); + 11, 1 / 50.0, 55, 100, 500)); // Niveau 4 niveaux.add(new Niveau(4, new Color(191, 255, 207), - 14, 1 / 35.0, 40, 100, 500)); + 12, 1 / 40.0, 50, 100, 500)); // Niveau 5 niveaux.add(new Niveau(5, - new Color(30, 30, 30), - 15, 1 / 30.0, 30, 100, 500)); + new Color(251, 233, 144), + 13, 1 / 35.0, 45, 100, 500)); } public void mettreAJour() { From 2017bd19076179958f67fe8c952cbe15c8573634 Mon Sep 17 00:00:00 2001 From: Marc Date: Mon, 16 Mar 2026 16:31:57 +0100 Subject: [PATCH 2/3] Modifications bonus, MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pas trop de bonus, couleur jaune a la récolte --- src/Bonus.java | 52 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/src/Bonus.java b/src/Bonus.java index db08c22..bd553f5 100644 --- a/src/Bonus.java +++ b/src/Bonus.java @@ -8,6 +8,8 @@ public class Bonus extends ObjetGraphique { protected double taille = 10; protected boolean actif = false; protected int compteurFrames = 0; + protected boolean dejaCapture = false; + protected Ligne maLigne; protected Cercle monCercle; @@ -23,21 +25,26 @@ public class Bonus extends ObjetGraphique { @Override void Afficher(Graphics g) { if (actif) { - g.setColor(this.couleur); + if (dejaCapture) { + g.setColor(Color.ORANGE); + } else { + g.setColor(this.couleur); + } g.fillRect((int)Math.round(x), (int)Math.round(y), (int)taille, (int)taille); } } @Override void Animer() { - // On compte le temps uniquement si le bonus n'est pas déjà sur l'écran if (!actif) { compteurFrames++; } - // TEMPS RÉDUIT POUR TESTER : 50 frames = 2 secondes (au lieu de 375) - if (compteurFrames >= 100 && !actif) { + if (compteurFrames >= 300 && !actif) { + actif = true; + dejaCapture = false; + x = 800; double hauteurLigne = 300; @@ -45,11 +52,14 @@ public class Bonus extends ObjetGraphique { hauteurLigne = maLigne.dernierSegment.y; } - double decalage = (Math.random() * 80) - 40; - y = hauteurLigne + decalage; + if (Math.random() > 0.5) { + y = hauteurLigne - 80 - (Math.random() * 50); + } else { + y = hauteurLigne + 30 + (Math.random() * 20); + } - // Ce message s'affichera dans ta console Eclipse/IntelliJ/VSCode - System.out.println("DEBUG : Le bonus apparait à Y = " + y); + if (y < 20) y = 20; + if (y > 550) y = 550; compteurFrames = 0; } @@ -57,21 +67,25 @@ public class Bonus extends ObjetGraphique { if (actif) { x -= 10; - // --- VÉRIFICATION DE LA COLLISION --- - double centreX = x + (taille / 2.0); - double centreY = y + (taille / 2.0); - double dx = centreX - monCercle.x; - double dy = centreY - monCercle.y; - double distance = Math.sqrt((dx * dx) + (dy * dy)); - if (distance < monCercle.getRayon()) { - System.out.println("DEBUG : Bonus attrapé ! +1 Vie"); - monJeu.vies += 1; - actif = false; + + double centreX = x + (taille / 2.0); + + if (centreX <= monCercle.x && centreX > monCercle.x - 10) { + + double hautCercle = monCercle.y - monCercle.getRayon(); + double basCercle = monCercle.y + monCercle.getRayon(); + + if (y > hautCercle && (y + taille) < basCercle) { + + if (!dejaCapture) { + monJeu.vies += 1; + dejaCapture = true; + } + } } if (x + taille < 0) { - System.out.println("DEBUG : Bonus raté, il est sorti de l'écran"); actif = false; } } From 3dd04083235e79e5ffb9cfdd8fcafd12d7daaedc Mon Sep 17 00:00:00 2001 From: tit-exe Date: Mon, 16 Mar 2026 16:36:27 +0100 Subject: [PATCH 3/3] score titouane --- linea_scores.db | Bin 12288 -> 12288 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/linea_scores.db b/linea_scores.db index a2ff075a4b29e23c58eea01013a8b6e4ca216a62..856f0431050203b3ff235f7328eaecc60d21a667 100644 GIT binary patch delta 100 zcmZojXh@hK&B#7c##xY^L9eQimw|zSiC>?AzmZ>mv!cL$zRCLhm-zY5FtGBkW#IqB z|AhZ4|Juz00(1G5MOauEG?_{=OY%z-^HLRZQWeb1nR?h+Sr`Nv&CH#E261k_Aa5W5 E0PCk1T>t<8 delta 81 zcmZojXh@hK&B!)U##xY!L9eWnmw|zSiC>?AzmZ>mv!cL$zRCLhm-vB#to(-=_&@PK l;lIj%X0w36T>gm-V!Z6EEDVB-X68=pEG!J0FUT7R000~L6C?lt