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 39a0325..f2eee96 100644 Binary files a/Platformer.class and b/Platformer.class differ 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