This commit is contained in:
Cool Guy
2026-04-16 20:29:34 +00:00
parent b0673fc162
commit 1f899e6b5d

View File

@@ -1,14 +1,10 @@
import java.util.Random;
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import java.io.*;
import java.awt.*; import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.event.*;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import javax.swing.*; import javax.swing.*;
import java.time.LocalTime;
public class Platformer extends JPanel implements KeyListener, ActionListener { public class Platformer extends JPanel implements KeyListener, ActionListener {
@@ -46,7 +42,6 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
Image heart, emptyHeart, slash, amendmentImg, powerImg, startImg; Image heart, emptyHeart, slash, amendmentImg, powerImg, startImg;
ArrayList<Image> numbers; ArrayList<Image> numbers;
public Platformer(int boardWidth, int boardHeight, int tileSize) { public Platformer(int boardWidth, int boardHeight, int tileSize) {
// setup game // setup game
this.boardWidth = boardWidth; this.boardWidth = boardWidth;
@@ -57,7 +52,6 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
this.setFocusable(true); this.setFocusable(true);
this.setLayout(null); this.setLayout(null);
pressedKeys = new HashMap<>(); pressedKeys = new HashMap<>();
jumpPressed = false; jumpPressed = false;
gameOver = false; gameOver = false;
@@ -79,14 +73,14 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
cameraY = 0; cameraY = 0;
currentLevel = 0; currentLevel = 0;
numbers = new ArrayList<>(); numbers = new ArrayList<>();
for (int i =0; i < 10; i++) numbers.add((new ImageIcon("Sprites/Numbers/" + i + ".png")).getImage()); for (int i = 0; i < 10; i++)
numbers.add((new ImageIcon("Sprites/Numbers/" + i + ".png")).getImage());
slash = new ImageIcon("Sprites/Numbers/Slash.png").getImage(); slash = new ImageIcon("Sprites/Numbers/Slash.png").getImage();
amendmentImg = new ImageIcon("Sprites/Amendment.png").getImage(); amendmentImg = new ImageIcon("Sprites/Amendment.png").getImage();
powerImg = new ImageIcon("Sprites/Powerup1.png").getImage(); powerImg = new ImageIcon("Sprites/Powerup1.png").getImage();
gameTimer.start(); gameTimer.start();
// if i wanna add a button // if i wanna add a button
/*JButton gameStart = new JButton("Start Game"); /*JButton gameStart = new JButton("Start Game");
gameStart.addActionListener(e -> { gameStart.addActionListener(e -> {
@@ -111,8 +105,6 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
cameraY = player.y - boardHeight / 2; cameraY = player.y - boardHeight / 2;
// cameraY = Math.max(0, cameraY); // cameraY = Math.max(0, cameraY);
// win // win
allCollected = player.numAmendments >= numAm[currentLevel - 1]; allCollected = player.numAmendments >= numAm[currentLevel - 1];
if (player.collidesWith(flag) && allCollected) { if (player.collidesWith(flag) && allCollected) {
@@ -131,17 +123,17 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
if (Math.abs(player.xVelo) < MAXXVELO) { if (Math.abs(player.xVelo) < MAXXVELO) {
if (isKeyPressed(KeyEvent.VK_D) || isKeyPressed(KeyEvent.VK_RIGHT)) { if (isKeyPressed(KeyEvent.VK_D) || isKeyPressed(KeyEvent.VK_RIGHT)) {
player.xVelo += 1; player.xVelo += 1;
} } else if (isKeyPressed(KeyEvent.VK_A) || isKeyPressed(KeyEvent.VK_LEFT)) {
else if(isKeyPressed(KeyEvent.VK_A) || isKeyPressed(KeyEvent.VK_LEFT)){
player.xVelo -= 1; player.xVelo -= 1;
} }
} }
if (!isKeyPressed(KeyEvent.VK_D) && !isKeyPressed(KeyEvent.VK_RIGHT) && !isKeyPressed(KeyEvent.VK_A) && !isKeyPressed(KeyEvent.VK_LEFT)){ //friction if (!isKeyPressed(KeyEvent.VK_D)
&& !isKeyPressed(KeyEvent.VK_RIGHT)
&& !isKeyPressed(KeyEvent.VK_A)
&& !isKeyPressed(KeyEvent.VK_LEFT)) { // friction
if (player.xVelo > 0) { if (player.xVelo > 0) {
player.xVelo = Math.max(0, player.xVelo - FRICTION); player.xVelo = Math.max(0, player.xVelo - FRICTION);
} } else if (player.xVelo < 0) {
else if (player.xVelo < 0){
player.xVelo = Math.min(0, player.xVelo + FRICTION); player.xVelo = Math.min(0, player.xVelo + FRICTION);
} }
} }
@@ -154,8 +146,7 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
player.onGround = false; player.onGround = false;
jumpPressed = true; jumpPressed = true;
player.airJumps = 0; player.airJumps = 0;
} } else if (player.curPower == 1 && player.airJumps < 1) {
else if (player.curPower == 1 && player.airJumps < 1){
player.yVelo = -15; player.yVelo = -15;
player.airJumps++; player.airJumps++;
jumpPressed = true; jumpPressed = true;
@@ -195,8 +186,7 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
player.curPower = pu.id; player.curPower = pu.id;
player.powerTimer = Player.POWER_DURATION; player.powerTimer = Player.POWER_DURATION;
} }
} } else if (c instanceof Amendment) {
else if (c instanceof Amendment){
Amendment am = (Amendment) c; Amendment am = (Amendment) c;
if (player.collidesWith(am)) { if (player.collidesWith(am)) {
player.numAmendments++; player.numAmendments++;
@@ -227,8 +217,6 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
} }
} }
// Powerup timer // Powerup timer
if (player.curPower > 0) { if (player.curPower > 0) {
player.powerTimer--; player.powerTimer--;
@@ -267,7 +255,6 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
} }
} }
// update enemies // update enemies
for (Enemy e : enemies) { for (Enemy e : enemies) {
e.patrol(collidables); e.patrol(collidables);
@@ -341,7 +328,6 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
g.translate(cameraX, cameraY); g.translate(cameraX, cameraY);
int modAmt = 2000; int modAmt = 2000;
int curTime = (int) System.currentTimeMillis() % modAmt; int curTime = (int) System.currentTimeMillis() % modAmt;
curTime = Math.abs(curTime); curTime = Math.abs(curTime);
@@ -396,7 +382,6 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
g.drawImage(numbers.get(numAm[currentLevel - 1]), 390, 10, null); g.drawImage(numbers.get(numAm[currentLevel - 1]), 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) {
int secs = player.powerTimer / 66; int secs = player.powerTimer / 66;
@@ -411,9 +396,7 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
} }
// gameover screen // gameover screen
if (gameOver){ if (gameOver) {}
}
} }
// is key pressed // is key pressed
@@ -468,7 +451,5 @@ public class Platformer extends JPanel implements KeyListener, ActionListener{
// dont need // dont need
@Override @Override
public void keyTyped(KeyEvent e){ public void keyTyped(KeyEvent e) {}
}
} }