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 @@
.................................
.................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...P
...............E
BBBBBBBB..BBBBBBBBBB
..................................................................................................................
..................................................................................................
..................................................................................................
..................................................................................................
..................................................................................................
....................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

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 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,12 +340,21 @@ 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);
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,9 +410,19 @@ 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);
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);
}
}
// draw powerup timer
if (player.curPower == 1) {
@@ -414,7 +436,6 @@ public class Platformer extends JPanel implements KeyListener, ActionListener {
g.drawImage(powerImg, 220, 10, null);
}
}
}
// is key pressed
public boolean isKeyPressed(int key) {