From 8cd4c216fda71c8b21b59190f2bb3fe9903cd2a9 Mon Sep 17 00:00:00 2001 From: CT's Laptop Date: Sun, 19 Apr 2026 23:45:55 -0500 Subject: [PATCH] level 3 + fixed amendment counter --- Levels/level3.txt | 41 +++++++++++------------ Platformer.class | Bin 12083 -> 12367 bytes Platformer.java | 81 +++++++++++++++++++++++++++++----------------- 3 files changed, 72 insertions(+), 50 deletions(-) diff --git a/Levels/level3.txt b/Levels/level3.txt index 799835f..6eaab50 100644 --- a/Levels/level3.txt +++ b/Levels/level3.txt @@ -1,20 +1,21 @@ -................................. -................................. -. -. -. -. -. -. -. -. -. -. -. -. -. -. -. -...P -...............E -BBBBBBBB..BBBBBBBBBB \ No newline at end of file +.................................................................................................................. +.................................................................................................. +.................................................................................................. +.................................................................................................. +.................................................................................................. +....................A............................................................................. +...................BBBBB.......................................................................... +.................................BBBBB....................Q...................................... +.................................................A................................................ +..............................................BBBBBBBB.................................................... +..........................................................BBBBB........................................ +.....................................................................BBBBBBBBBB....A............................A +..................................................................................BBBBB.....BBBBB............BBBBBBB.........E.................... +.......................................................................................................................BBBBBBBB........................................ +.....................................................................................................A................................................................... +....................................................................................................BBBBBB...........................A........................... +...............................................................A.................................................................BBBBBBBB.............................. +..P...................A..................BBBQBBBBB............BBBBBBBB.................BBBQBBBB.................................................................... +............................................................................................................................................................... +...............E.............A..............................................A........................................................................F...... +BBBBBBBB......BBBBBBBBBB....BBBBB...BBBBBBBBBBBBB........................BBBBBBBBBB.......BB................................................BBBBBBBBBB diff --git a/Platformer.class b/Platformer.class index 39a03256a164f2c7530d3cf4dc61dc5b6b705be4..f2eee960024382769676cbd02eba4dbd9ed1d7a4 100644 GIT binary patch delta 1488 zcmY*Zdr(w$7(M6rfZa{TMclDe)BuqMK?fBl6${NU#WZCEG#@2dA{Z&Yv$gPnDQMnA zaTSmnXbKcvBvDfw$P)9JrIxQS%}Gbg%2z(RLQZ)9xZgSF{=V-wcfL8tGxpH<^3*n* z=t*m1^KzxYhE%jg8bUAyy)YFCm}V*&n1Shd*L*L=Oypn|axojLF&71xheEuEjd&l` z$i!hRKs^@X8nW;YmQdjX`d}&ju#Eo5W_RSUFP3vSK4J=1aXND8!fIw=4Oh63$5mL% zLbzFpb=-~h{1*8#758sBXBaM&p*s#BH?qxfHedwnLu%#YEhklt)>1k}O^Vmigv8^tpzuwArdK)|F9ei5vVu0Sy zKu=s?2s;MDn;{6K6QK-6B*V~?ozaI~@GQge93v3Nu0~!^bo=hm>;W62K<02MD0~6$ zt?+_bb-Cy7ph@h`k)aisS%KOu_}WBkRB}WS`~6Ssw)7~~l%_^$BO`cnGl$McdYIYb zc4*^ja9|6!Lshc4nxC0kP6Z3?!;HjkMp+*=eCo@|_GS$u9M*jFZyaK6yxfyF_|ByzREsD9gi=9%Xe{^3nRSQ@+^NWSrY!HHw^0*KouG>}@Wn4}utt zXwxKp8G~5%!vyw+i_c>|V@>nCXc}e^syG;@7>5TO!T`R+P!44zhnZ*ulNirrj--nT z=JFD`-cL3f$X%?z_ zZcw*br0x7f2e4Q_!xBA^rFsO*^f+$R6S+yJv0P8(X1#ufeSdrxGeL%uTqHm)pYYKjaUrPS3`Ht66R0Ev&w0*!{yFD7&pErWalwIH zA7(b@`PkiDOJGMfe364NDzFx{co%hWVIK-` z93S8uKEw?a;#X|IAd0B4kwdYGo+zdtHuG6*;Y5^hHp-X{ldJFvUD(czDCag8D!3h$ ztV0!>QO#qhVJ|-AdDQYE>Uag8^C#@$ANWE5UkWSs3NP#v&tSh8j{_nBUx}A+P|QP< z$iyL0h-OiO!@@+1s6wk~K$~dAQE?RQq6Zz~TO1SpI3aGLQ~ZLH!Zm;{X+gKNqept< zvQ(%y3UOa;!GNm9pgM}b)p0yf-{GOUNu;aaNp+V}-KSCmv>0Br z8h*4JVH{#aai|eZcO#x2##9bBQs`;S;z(m9y^Sh9Wz=(&(Lf*L5Pgjn`Wr_$+UQ__ zahgvzrUr#^OfW1AK@daXU>Kqqj`4ILo{^Zuv6##Vq|#|t1t*M-hQS!v^|r{Z+zbj2 zz^xi?(5TKd-V0vJ5$JO?VNDad4x(E}l`7L&k2bR`Bxl%I&1?Qko3_xP#;VX{GRM3g z*5&``dyfZm+@D}GOVj>e?e7@pWA(DS+jC=Wk03wR?q%D7QIG4qZ00h@2-?l{j&N5X zrU86T_Z5d=PCx?VF_Dvy%*j~9M7WrQ0#3zNCTo37Lo27_8dLC)GZ@HJI`{&k`J#Ta zn8Df1dzr@DOc&nF5V3qsByoXA=Idf67m74467!hp68X#$#e7rj=3>## zrJ{@3;s$fYAoC=+Od5Pk+LHyrc0ima5_0ro#BK8qYE{myxE*V!6s^g<8i-Rmdt;%xYE2 z8nv6BsdnyAz1%500hsVLZ4u$te~>{AqQsmYG0ppdHX!*BV_>nsYT-7`NL^eXF@d|x z{)lly_v+a;U6xA!Nx;y*9P_CVfe8HfowxKk7!kOAV!-uj>nP66L_AT zn8A~n$u6Yx6z215yuofPVGr`Ou~+kq-cFys5a+egFPKxD$;Ksk^0Ha#4B=I?*%{3M m^OiH617=cG+{hkSMS#}eV>RmgW9YtsmrXM&lG5yqD)|?KtTl@O diff --git a/Platformer.java b/Platformer.java index 033c3eb..2c48f0d 100644 --- a/Platformer.java +++ b/Platformer.java @@ -16,7 +16,7 @@ public class Platformer extends JPanel implements KeyListener, ActionListener { static final int MAXYVELO = 15; static final int MAXXVELO = 5; static final int totalLevels = 10; - static int[] numAm = {4, 5, 0, 0, 0, 0, 0, 0, 0, 0}; + static int[] numAm = {4, 5, 10, 0, 0, 0, 0, 0, 0, 0}; // game objects Player player; @@ -84,19 +84,21 @@ public class Platformer extends JPanel implements KeyListener, ActionListener { gameTimer.start(); // if i wanna add a button - /*JButton gameStart = new JButton("Start Game"); - gameStart.addActionListener(e -> { - loadLevel(currentLevel); - gameTimer.start(); - this.remove(gameStart); - this.revalidate(); - this.repaint(); - }); - gameStart.setBorderPainted(false); - gameStart.setFocusPainted(false); - gameStart.setBounds(193,200,114,15); - gameStart.setForeground(new Color(52, 152, 219)); - this.add(gameStart);*/ + /* + * JButton gameStart = new JButton("Start Game"); + * gameStart.addActionListener(e -> { + * loadLevel(currentLevel); + * gameTimer.start(); + * this.remove(gameStart); + * this.revalidate(); + * this.repaint(); + * }); + * gameStart.setBorderPainted(false); + * gameStart.setFocusPainted(false); + * gameStart.setBounds(193,200,114,15); + * gameStart.setForeground(new Color(52, 152, 219)); + * this.add(gameStart); + */ } // gameloop @@ -166,7 +168,7 @@ public class Platformer extends JPanel implements KeyListener, ActionListener { } // fall out of world - if (player.y > 1400) { + if (player.y > 1400) { // 1400/20 = 70 rows to work with per level loadLevel(currentLevel); player.health--; } @@ -338,11 +340,20 @@ public class Platformer extends JPanel implements KeyListener, ActionListener { int amTens = player.numAmendments / 10; if (currentLevel > 0 && player.numAmendments < numAm[currentLevel - 1]) { + int lvlAmOnes = numAm[currentLevel - 1] % 10; + int lvlAmTens = numAm[currentLevel - 1] / 10; if (amTens > 0) g.drawImage(numbers.get(amTens), flag.x - 20, flag.y - 30, null); g.drawImage(numbers.get(amOnes), flag.x + 5, flag.y - 30, null); g.drawImage(slash, flag.x + 28, flag.y - 32, null); - g.drawImage(numbers.get(numAm[currentLevel - 1]), flag.x + 55, flag.y - 30, null); - g.drawImage(amendmentImg, flag.x + 85, flag.y - 30, null); + if (lvlAmTens > 0) { + g.drawImage(numbers.get(lvlAmTens), flag.x + 55, flag.y - 30, null); + g.drawImage(numbers.get(lvlAmOnes), flag.x + 80, flag.y - 30, null); + g.drawImage(amendmentImg, flag.x + 110, flag.y - 30, null); + + } else { + g.drawImage(numbers.get(lvlAmOnes), flag.x + 55, flag.y - 30, null); + g.drawImage(amendmentImg, flag.x + 85, flag.y - 30, null); + } } g.translate(cameraX, cameraY); @@ -373,7 +384,8 @@ public class Platformer extends JPanel implements KeyListener, ActionListener { int x = xBase + (i * spacing); // y uses a sine wave - // Math.sin takes radians. We use (startTime + i) to give each letter a different phase. + // Math.sin takes radians. We use (startTime + i) to give each letter a + // different phase. double waveOffset = Math.sin(startTime + i * 0.5) * 10; int y = yBase + (int) waveOffset; @@ -398,22 +410,31 @@ public class Platformer extends JPanel implements KeyListener, ActionListener { if (amTens > 0) g.drawImage(numbers.get(amTens), 315, 10, null); g.drawImage(numbers.get(amOnes), 340, 10, null); + int lvlAmOnes = numAm[currentLevel - 1] % 10; + int lvlAmTens = numAm[currentLevel - 1] / 10; g.drawImage(slash, 363, 12, null); - g.drawImage(numbers.get(numAm[currentLevel - 1]), 390, 10, null); - g.drawImage(amendmentImg, 420, 10, null); + if (lvlAmTens > 0) { + g.drawImage(numbers.get(lvlAmTens), 390, 10, null); + g.drawImage(numbers.get(lvlAmOnes), 415, 10, null); - // draw powerup timer - if (player.curPower == 1) { - int secs = player.powerTimer / 66; - int tens = secs / 10; - int ones = secs % 10; - if (tens > 0) { - g.drawImage(numbers.get(tens), 184, 10, null); - } - g.drawImage(numbers.get(ones), 205, 10, null); - g.drawImage(powerImg, 220, 10, null); + g.drawImage(amendmentImg, 445, 10, null); + } else { + g.drawImage(numbers.get(lvlAmOnes), 390, 10, null); + g.drawImage(amendmentImg, 420, 10, null); } } + + // draw powerup timer + if (player.curPower == 1) { + int secs = player.powerTimer / 66; + int tens = secs / 10; + int ones = secs % 10; + if (tens > 0) { + g.drawImage(numbers.get(tens), 184, 10, null); + } + g.drawImage(numbers.get(ones), 205, 10, null); + g.drawImage(powerImg, 220, 10, null); + } } // is key pressed