level 3 + fixed amendment counter

This commit is contained in:
2026-04-19 23:45:55 -05:00
parent 71aacc10c1
commit 8cd4c216fd
3 changed files with 72 additions and 50 deletions

View File

@@ -1,20 +1,21 @@
................................. ..................................................................................................................
................................. ..................................................................................................
. ..................................................................................................
. ..................................................................................................
. ..................................................................................................
. ....................A.............................................................................
. ...................BBBBB..........................................................................
. .................................BBBBB....................Q......................................
. .................................................A................................................
. ..............................................BBBBBBBB....................................................
. ..........................................................BBBBB........................................
. .....................................................................BBBBBBBBBB....A............................A
. ..................................................................................BBBBB.....BBBBB............BBBBBBB.........E....................
. .......................................................................................................................BBBBBBBB........................................
. .....................................................................................................A...................................................................
. ....................................................................................................BBBBBB...........................A...........................
. ...............................................................A.................................................................BBBBBBBB..............................
...P ..P...................A..................BBBQBBBBB............BBBBBBBB.................BBBQBBBB....................................................................
...............E ...............................................................................................................................................................
BBBBBBBB..BBBBBBBBBB ...............E.............A..............................................A........................................................................F......
BBBBBBBB......BBBBBBBBBB....BBBBB...BBBBBBBBBBBBB........................BBBBBBBBBB.......BB................................................BBBBBBBBBB

Binary file not shown.

View File

@@ -16,7 +16,7 @@ public class Platformer extends JPanel implements KeyListener, ActionListener {
static final int MAXYVELO = 15; static final int MAXYVELO = 15;
static final int MAXXVELO = 5; static final int MAXXVELO = 5;
static final int totalLevels = 10; 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 // game objects
Player player; Player player;
@@ -84,19 +84,21 @@ public class Platformer extends JPanel implements KeyListener, ActionListener {
gameTimer.start(); gameTimer.start();
// if i wanna add a button // if i wanna add a button
/*JButton gameStart = new JButton("Start Game"); /*
gameStart.addActionListener(e -> { * JButton gameStart = new JButton("Start Game");
loadLevel(currentLevel); * gameStart.addActionListener(e -> {
gameTimer.start(); * loadLevel(currentLevel);
this.remove(gameStart); * gameTimer.start();
this.revalidate(); * this.remove(gameStart);
this.repaint(); * this.revalidate();
}); * this.repaint();
gameStart.setBorderPainted(false); * });
gameStart.setFocusPainted(false); * gameStart.setBorderPainted(false);
gameStart.setBounds(193,200,114,15); * gameStart.setFocusPainted(false);
gameStart.setForeground(new Color(52, 152, 219)); * gameStart.setBounds(193,200,114,15);
this.add(gameStart);*/ * gameStart.setForeground(new Color(52, 152, 219));
* this.add(gameStart);
*/
} }
// gameloop // gameloop
@@ -166,7 +168,7 @@ public class Platformer extends JPanel implements KeyListener, ActionListener {
} }
// fall out of world // fall out of world
if (player.y > 1400) { if (player.y > 1400) { // 1400/20 = 70 rows to work with per level
loadLevel(currentLevel); loadLevel(currentLevel);
player.health--; player.health--;
} }
@@ -338,12 +340,21 @@ public class Platformer extends JPanel implements KeyListener, ActionListener {
int amTens = player.numAmendments / 10; int amTens = player.numAmendments / 10;
if (currentLevel > 0 && player.numAmendments < numAm[currentLevel - 1]) { 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); 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(numbers.get(amOnes), flag.x + 5, flag.y - 30, null);
g.drawImage(slash, flag.x + 28, flag.y - 32, 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); 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.drawImage(amendmentImg, flag.x + 85, flag.y - 30, null);
} }
}
g.translate(cameraX, cameraY); g.translate(cameraX, cameraY);
@@ -373,7 +384,8 @@ public class Platformer extends JPanel implements KeyListener, ActionListener {
int x = xBase + (i * spacing); int x = xBase + (i * spacing);
// y uses a sine wave // 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; double waveOffset = Math.sin(startTime + i * 0.5) * 10;
int y = yBase + (int) waveOffset; int y = yBase + (int) waveOffset;
@@ -398,9 +410,19 @@ public class Platformer extends JPanel implements KeyListener, ActionListener {
if (amTens > 0) g.drawImage(numbers.get(amTens), 315, 10, null); if (amTens > 0) g.drawImage(numbers.get(amTens), 315, 10, null);
g.drawImage(numbers.get(amOnes), 340, 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(slash, 363, 12, null);
g.drawImage(numbers.get(numAm[currentLevel - 1]), 390, 10, null); if (lvlAmTens > 0) {
g.drawImage(numbers.get(lvlAmTens), 390, 10, null);
g.drawImage(numbers.get(lvlAmOnes), 415, 10, null);
g.drawImage(amendmentImg, 445, 10, null);
} else {
g.drawImage(numbers.get(lvlAmOnes), 390, 10, null);
g.drawImage(amendmentImg, 420, 10, null); g.drawImage(amendmentImg, 420, 10, null);
}
}
// draw powerup timer // draw powerup timer
if (player.curPower == 1) { if (player.curPower == 1) {
@@ -414,7 +436,6 @@ public class Platformer extends JPanel implements KeyListener, ActionListener {
g.drawImage(powerImg, 220, 10, null); g.drawImage(powerImg, 220, 10, null);
} }
} }
}
// is key pressed // is key pressed
public boolean isKeyPressed(int key) { public boolean isKeyPressed(int key) {