From b9dad7742091711de9ac3de6e6d7a75945179b16 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 28 Mar 2026 14:31:55 +0100 Subject: [PATCH] update:Boule --- Jeu.db | Bin 0 -> 20480 bytes linea/BouleBonus.class | Bin 0 -> 3696 bytes linea/Cercle.class | Bin 0 -> 2652 bytes linea/Cercle.java | 43 ++++++++++++++++------------ linea/DatabaseConnection.class | Bin 0 -> 11417 bytes linea/DatabaseConnection.java | 2 +- linea/Jeu.class | Bin 0 -> 13794 bytes linea/Jeu.java | 12 ++++++++ linea/Ligne.class | Bin 0 -> 3870 bytes linea/LineaAppli$SelectionJeu.class | Bin 0 -> 400 bytes linea/LineaAppli.class | Bin 0 -> 7880 bytes linea/LineaAppli.java | 2 ++ linea/ObjetGraphique.class | Bin 0 -> 621 bytes linea/Segment.class | Bin 0 -> 1019 bytes linea/ZoneDessin.class | Bin 0 -> 5736 bytes linea/ZoneDessin.java | 2 +- 16 files changed, 41 insertions(+), 20 deletions(-) create mode 100644 Jeu.db create mode 100644 linea/BouleBonus.class create mode 100644 linea/Cercle.class create mode 100644 linea/DatabaseConnection.class create mode 100644 linea/Jeu.class create mode 100644 linea/Ligne.class create mode 100644 linea/LineaAppli$SelectionJeu.class create mode 100644 linea/LineaAppli.class create mode 100644 linea/ObjetGraphique.class create mode 100644 linea/Segment.class create mode 100644 linea/ZoneDessin.class diff --git a/Jeu.db b/Jeu.db new file mode 100644 index 0000000000000000000000000000000000000000..d3df823b0ded4d1260934f6a5a1c0ada11369000 GIT binary patch literal 20480 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 c6Zpl2k(TmS$7 literal 0 HcmV?d00001 diff --git a/linea/Cercle.class b/linea/Cercle.class new file mode 100644 index 0000000000000000000000000000000000000000..5508fa26f8b5158c496fb21d8735e0617fb42c55 GIT binary patch literal 2652 zcmb_d>r)d~6#p%OO$du%L{wB1s{@Htrt0`82njEx8lVZJLR)bO3j{(oY!Z~(hkaPB zeOupsOlSPi$8@IC*1$}iY5m&%1N|%7>9>CC^mp&(Rc&Ybp*ypC?m73|bI+{hjoXkFc~(Lmk#DsIc^9Goe7~719kFHVSF^l#v`0f(8wnrP`D+nMteurSk;~ z+caz!TaM{iLa6T0@CbG?vIR4dHt3QvuKxJDRF^llXz&Vs=TaX|5Z%c__ zK*72KJa#Igsl77p9u2+dQ{WDSdM3gnp`qhs>Wg4@>#0~YoVLt)qumWZj%qlD0eY1( z(zck1ZYk>LRJ{=q+i?vi5MVxQ{HV_Zw`CRexde%6%yky)dsKE`oB)03-rJoX}t* z$vbC^G+kpG^a`=1A(a=ObRt7s3t*IFq1^u|;6@r}MVl?tOiRBvLX3}w0+E3cX0N)( zOr+9!A|27=qT!swL!;qvpV$cmhe9I*WP*KzBMPd-0df<;fx%KPaFPk`9t!nN91Dz& zsCJA1Qz3=j0R~mxV@}a{%?UR7U}j;`utsz?Ec=QG3x`|`FJ!lv8WfGe^jC+|dUQUh zCv&>h0n0MDlizm*rl(`kS)p2AlIncPG8?oTOG$NJMd-$v+dv|=Adb`qjr6QJHLP3u zg0PyRaz~WYLXI1E*vwc_qdz8`tg@%a9)U0?%0MDvSUqu_&B;TmJ$ul^5-wx#YtbN@ zgsTQThxNqa9M@$yP5${3{uKEaO880gFP89AiAW1oBB;`zzlp};xqtBel{Juu+CLCM=!@gB0zI$+vt)emux33Ph zS$KSFvZxoIO%!a&qS5EbqKWHWSu~UQvS=k~%i=MT{aG9!Ih;lNH?*nX0>1}PEx+Z& zu7*+7bCzyKBgf`8G-C%^v5Ujai^sVN;2=lJAfA-SXEF$wV zuA;x466JQ{{9pX-pub1xZzo33g)xp11s9Rb`Ms5uA<(Vx-G%3CE^J5y_`m?amkNpK z0e?QUB+>yCPYle8SV_OAcGI6d6gR1a0AzIhu_a}Tjt&c zwZ3ZW+Wp&W1L8l!1dD_=l8RKTzTK;sE9SwjKNsHPUIl@!1&{GRRDeHUwX0ZouxedY z<-h44R2Lsog$wWJGsP|!wFOk)Lwd}!w2Cv|q5DCfD(UYPDwQ$TtE6t;<78`HL*-xi CrR978 literal 0 HcmV?d00001 diff --git a/linea/Cercle.java b/linea/Cercle.java index 96564cb..44efb78 100644 --- a/linea/Cercle.java +++ b/linea/Cercle.java @@ -6,6 +6,16 @@ import java.awt.Graphics2D; import java.awt.geom.Arc2D; public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercle + private static final BasicStroke ARC_STROKE = new BasicStroke(5.0f); + private static final double GRAVITE = 0.95; + private static final double POUSSEE = 1.45; + private static final double AMORTISSEMENT = 0.92; + private static final double VITESSE_MIN = -6.5; + private static final double VITESSE_MAX = 6.5; + private static final double BORD_HAUT = 0; + private static final double BORD_BAS = 600; + private final Arc2D.Double arc = new Arc2D.Double(); + // Hérite de la classe ObjetGraphique // Ne pas oublier qu'il y a des propriétés et méthodes reçues par l'héritage @@ -94,11 +104,12 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl void Afficher(Graphics g) { // choix de la couleur et de l'épaisseur Graphics2D g2D = (Graphics2D) g; - g2D.setStroke(new BasicStroke(5.0f)); + g2D.setStroke(ARC_STROKE); g.setColor(this.couleur); // dessin de l'arc - g2D.draw(new Arc2D.Double(x-rayon/2, y-rayon, rayon, rayon*2, debut, fin, Arc2D.OPEN)); + arc.setArc(x - rayon / 2.0, y - rayon, rayon, rayon * 2.0, debut, fin, Arc2D.OPEN); + g2D.draw(arc); } // Accesseur pour savoir si le joueur maintient la montée @@ -112,35 +123,31 @@ public class Cercle extends ObjetGraphique{ // il s'agit plutôt d'arcs de cercl //------------------------------------------------------------------------- @Override void Animer() { - double gravite = 0.95; - double poussee = 1.45; - double amortissement = 0.92; - - if (montee==true) { - vitesse -= poussee; + if (montee) { + vitesse -= POUSSEE; } else { - vitesse += gravite; + vitesse += GRAVITE; } // Lissage global pour un ressenti plus régulier. - vitesse *= amortissement; + vitesse *= AMORTISSEMENT; - if (vitesse < -6.5) { - vitesse = -6.5; + if (vitesse < VITESSE_MIN) { + vitesse = VITESSE_MIN; } - if (vitesse > 6.5) { - vitesse = 6.5; + if (vitesse > VITESSE_MAX) { + vitesse = VITESSE_MAX; } depY = vitesse; y += depY; //position - if(y<= 0 + rayon){ - y = 0 + rayon; + if (y <= BORD_HAUT + rayon) { + y = BORD_HAUT + rayon; vitesse = 0; - }else if(y>=600 - rayon){ - y = 600 - rayon; + } else if (y >= BORD_BAS - rayon) { + y = BORD_BAS - rayon; vitesse = 0; } diff --git a/linea/DatabaseConnection.class b/linea/DatabaseConnection.class new file mode 100644 index 0000000000000000000000000000000000000000..e797871ee603e2f0d513e87234fe50ffcd5449c4 GIT binary patch literal 11417 zcmd5?33yc1z5ktLCU-KqYy$y@&8s3L5D2KCBrJwxfIv1U0Rk>zGII?B$xNJ?AgFz< zXst@>doERQsbX7^#THx>Y-k z>F`TJg|T>|E7Tdi%=BP_fVU|T-)N?0)|i{+j+1mu#>oO&!X(|zra;LcXBc!74^E*J zSC~DsBJCPZ6F4cC<+^BWQ)7238jpE#I;LuvrlSO<10=YVVx$BM%q`JmiZ5r_4CIQ( z7Gt_IL%p(eT_I+mOv6kavrtY(I-@Z&R9+KGh1x?&vpOD&5ppuZbJi?rYpQBlE-+>& z5a#GOLkW(MHiZ&qET!QrfzxwO7fMk%+6hFtLo0+_otauGIjPYRz)}HMm{J!gw)hw@aXD%=tkAI%WH!q> zo3|!YW*6-#-a~t`SJT#-Xo)FWlo{%(^r8?AIvUYLJU53rd(6g*1*T@RX&JdAFJN*?G8KwR9n2wSue61qP0WkcSfim;$6Bm&6g!t& zve+$o@07yGX3?R#TEhh#N~6(yUR_{I*i?p7h~>CQN1GHk*&$?q7u)r4^B$R4xI zh<0_ylgVg%r)fk?Bb;Do!k|AeXu51>d9X#`N`wEZgMq4+fYDO5q%L68E;Sk&TZ}+! zZF5VrQ62BH`fe zW$8uTNwX&sH(CO%EsA)HUOys>t2@*YJ3%}{gOp)1M&}gjX^WWco$*V0%(kx37Uz&@ zn2egh(yCQ;EykS8y8pxBq;mg@j?dzA0wXLZ-khQ*?_w;-in-E6(*2Cz+i;bJt95)H z*EsPzX9``bxy1}KW~}OtklYXsq1JRT1NFW*wTko?~x6H6rwaiGXCXL-O%Ti-?RoyD;SIOcs!~QFk zQomKlZP>wxKxVobd(+|-n4Qg)<2*CbrO8?lNv|Lvx8n{Ccj~wcUltgj_OJt{GHxc# zRILQpT~b?Hx>_#1M*_J^dAnNq-R)y4$q_&j2?~}Y2ASmPJqdFdwl(cAa2{mGq2mOq8*=Rb> z)N+SeNGX6GmjHcJV9p?D)Y=hJ@;5-nDr$dQ#}hJkxtKe3NogF`@g$BgNu~TPOr
1F2ejE?W&S%Jwiua7e0O`3^8JP>!MSg6aI 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 literal 0 HcmV?d00001 diff --git a/linea/DatabaseConnection.java b/linea/DatabaseConnection.java index c240af5..45bc90a 100644 --- a/linea/DatabaseConnection.java +++ b/linea/DatabaseConnection.java @@ -270,7 +270,7 @@ public class DatabaseConnection { int niveauxTermines = Math.max(0, niveauMax - 1); return "Campagne\n" - + "Niveau max débloqué : " + niveauMax + + "Niveau max atteint : " + niveauMax + "\nNiveaux terminés : " + niveauxTermines; } } diff --git a/linea/Jeu.class b/linea/Jeu.class new file mode 100644 index 0000000000000000000000000000000000000000..f3141597bd10db1fdb0801e36d345fef69ede699 GIT binary patch literal 13794 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 NyI8C()#_=`e*srXH1Yrd literal 0 HcmV?d00001 diff --git a/linea/Jeu.java b/linea/Jeu.java index dce9290..779021f 100644 --- a/linea/Jeu.java +++ b/linea/Jeu.java @@ -39,10 +39,17 @@ public class Jeu implements KeyListener, ActionListener { private int meilleurSansCompte = 0; private int mortsSansCompte = 0; private int tempsSansCompteSec = 0; + private int niveauMaxAtteintSansCompte = 1; private long debutPartieMs = 0; private boolean immortel = false; private final boolean modeCampagne; + private void mettreAJourNiveauMaxSansCompte(int niveau) { + if (idCompte <= 0) { + niveauMaxAtteintSansCompte = Math.max(niveauMaxAtteintSansCompte, niveau); + } + } + private int meilleurActuel() { return idCompte > 0 ? db.getMeilleurScoreParCompte(idCompte) : meilleurSansCompte; } @@ -53,6 +60,7 @@ public class Jeu implements KeyListener, ActionListener { } return "💀 Nombre de morts: " + mortsSansCompte + "\n⏱️ Temps total: " + tempsSansCompteSec + "s" + + "\n📈 Niveau max atteint: " + niveauMaxAtteintSansCompte + "\n🏆 Meilleur score: " + meilleurSansCompte; } @@ -78,6 +86,7 @@ public class Jeu implements KeyListener, ActionListener { this.idCompte = idCompte; this._niv = niveau; this.modeCampagne = modeCampagne; + mettreAJourNiveauMaxSansCompte(_niv); labScore = new JLabel(); labScore.setText("

score : 0

"); @@ -260,6 +269,7 @@ public class Jeu implements KeyListener, ActionListener { meilleurSansCompte = 0; mortsSansCompte = 0; tempsSansCompteSec = 0; + niveauMaxAtteintSansCompte = Math.max(1, _niv); } else { idCompte = db.getIdParPseudo(choix); } @@ -444,6 +454,7 @@ public class Jeu implements KeyListener, ActionListener { } _niv = nouveauNiveau; + mettreAJourNiveauMaxSansCompte(_niv); resetLevel(); return; } @@ -509,6 +520,7 @@ public class Jeu implements KeyListener, ActionListener { int nouveauNiveau = choisirNouveauNiveau(); if (nouveauNiveau > 0) { _niv = nouveauNiveau; + mettreAJourNiveauMaxSansCompte(_niv); resetLevel(); break; } diff --git a/linea/Ligne.class b/linea/Ligne.class new file mode 100644 index 0000000000000000000000000000000000000000..96ab1b2c3816bf17f815f585a515735c0b73758d GIT binary patch literal 3870 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 literal 0 HcmV?d00001 diff --git a/linea/LineaAppli.class b/linea/LineaAppli.class new file mode 100644 index 0000000000000000000000000000000000000000..6b792a5c9c9a531088ff4f59e1ba4c3237f8d8d5 GIT binary patch literal 7880 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 literal 0 HcmV?d00001 diff --git a/linea/LineaAppli.java b/linea/LineaAppli.java index 33dac9c..4b2bebf 100644 --- a/linea/LineaAppli.java +++ b/linea/LineaAppli.java @@ -237,6 +237,8 @@ public class LineaAppli { // Classe de base de l'application, rien à modifier ici //------------------------------------------------------------------------- public static void main(String[] arg) { + UIManager.put("OptionPane.yesButtonText", "Oui"); + UIManager.put("OptionPane.noButtonText", "Non"); UIManager.put("OptionPane.cancelButtonText", "Retour"); DatabaseConnection db = new DatabaseConnection(); diff --git a/linea/ObjetGraphique.class b/linea/ObjetGraphique.class new file mode 100644 index 0000000000000000000000000000000000000000..6d6b1d00ab20b3921021004cc2734673afffe020 GIT binary patch literal 621 zcmZva%TB^j5QhH)l|rqE+`NnT07i)mb%8Mn7-DVX(kR$Qr&-vqx4G#tgf^{? zjzFhf*|j4Q8Dc5KI0wyJOM8dUTPh)y@Ml}aU7iy(?Y6)_z{h%+Q@tHTY6 z^>$t3tYw}1oIy1m-{!tcy{o^uMFB|aNFmL@uIbqpl@T4IvU0dmzxMp358Zh-b2gd(P(lOnv!H|>PpAuzFcier?m$rF&uKZ50- zp&s|gBk{;1vGVw8ZuB*79$BBKBklu?Q)0ti(G(_hF*GQgnr_yp~jXAA%U literal 0 HcmV?d00001 diff --git a/linea/Segment.class b/linea/Segment.class new file mode 100644 index 0000000000000000000000000000000000000000..fa1e001a0efe0ceadec5f0f52def68905b475535 GIT binary patch literal 1019 zcmZuv+foxj5Iqx;EW{y1Zif3!B^M>$LBR_}l)?hF3JdjdNrq&pWLKAsz#sTGmQ@0l z4}O3jWqEp&fCX+U(=$D%Pj{c5-+zAo0`MG96NsS0LR2G$xI%x;agAMgy}fIKRp0(t zbv`wWLVU?_o#2T=M<%<~g-&!?NN8MwR_JbqY??~lxPgK?;J+xKq(+Y*)M5PD8q@I; zcb`VTxMK(Fo?8*mpvINZbJ+F_X$)gT!76!;nrZk7sr6m^vt6+FgTjhe^ZdmG#xQPS zLSqtB3YSl>n{}7=6gu}z5P}u@GUwy7TM5kIs)cJB*Dj*+TPbYVL6rsiUc)Ub zL^H+gOG%g2$RSVOvTyINQz;ghS>q>M5!}?6lTs34+OTeM-_p2^JEWNL{X$U`XMCg8Ndie`4ifO7VRo&yNDbK zX=jBtE41mDu%@jeTp%4M=>&r&Njk-vr%63SiiddAB7N8DX+EF(j`T4`#acfw{e`x> zWi9S|OKm3)1L5HqnX@jEtPaSNZjK@pxL-UKWQZpbM4iD!D_|kDEU$rzif-eyqHjEx zKf#Uj*cg_07h_lo4C8BQwJ^pYA&XI$!dGsZvNkis2;~d<5A^N@C_#@I9>J5pzJ{US literal 0 HcmV?d00001 diff --git a/linea/ZoneDessin.class b/linea/ZoneDessin.class new file mode 100644 index 0000000000000000000000000000000000000000..dccabbbde47d88396e16458347c2b48bc6e1545f GIT binary patch literal 5736 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 U*3=@kn5&24EW!I~sjKLJ0sHJ9mH+?% literal 0 HcmV?d00001 diff --git a/linea/ZoneDessin.java b/linea/ZoneDessin.java index 571e990..9c6599b 100644 --- a/linea/ZoneDessin.java +++ b/linea/ZoneDessin.java @@ -114,7 +114,7 @@ public class ZoneDessin extends JPanel { int intervalleBoule = (int) Math.round(intervalleBouleBase - progression * 20.0); // ~165 -> 145 double probaVerteBase = 0.35 - progression * 0.06; // ~35% -> 29% double variationAleatoire = (Math.random() - 0.5) * 0.10; // +/- 5% - double probaVerte = Math.max(0.22, Math.min(0.45, probaVerteBase + variationAleatoire)); + double probaVerte = Math.max(0.24, Math.min(0.47, probaVerteBase + variationAleatoire + 0.02)); compteurBoule++; if (compteurBoule >= intervalleBoule && ligneObjet != null) {