From d9df7d5820485bee244b0823b25bdc52cacf680b Mon Sep 17 00:00:00 2001 From: Oscar Wiberg <oscarwiberg@Oscars-MacBook-Air-4.local> Date: Sun, 26 Jan 2025 15:31:51 +0100 Subject: [PATCH] =?UTF-8?q?random=20y-kord=20p=C3=A5powerups?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/states/Object.java | 2 +- src/states/PlayState.java | 41 +++++++++++---------------------------- src/states/Player.java | 24 +++-------------------- src/states/PowerUp.java | 13 +++++++++++-- 4 files changed, 26 insertions(+), 54 deletions(-) diff --git a/src/states/Object.java b/src/states/Object.java index 75fd922..abbe682 100644 --- a/src/states/Object.java +++ b/src/states/Object.java @@ -10,7 +10,7 @@ import javafx.scene.shape.Rectangle; public abstract class Object { - private double posX; + protected double posX; protected double posY; private double height; private double width; diff --git a/src/states/PlayState.java b/src/states/PlayState.java index 27b7955..a8c4879 100644 --- a/src/states/PlayState.java +++ b/src/states/PlayState.java @@ -48,17 +48,13 @@ public class PlayState extends GameState { private Enemy enemy; private boolean collided = false; private boolean up = false; - private boolean down = false; private boolean gameOver = false; - private MenuState menu; private HighScore score = new HighScore(); - private int clearedEnemies; private String scoreText; private ExtraLifePowerUp extraLife; private FlyingEnemy flyingEnemy; // private double tempy; private Random engen; - private String slidingPlayer; private int movingSpeed = 10; private Bomb bomb; private boolean isFlyingEnemyActive = false; @@ -96,7 +92,6 @@ public class PlayState extends GameState { public void mode1() { player = new Player(Constants.playerImg); - slidingPlayer = Constants.slidingPlayerImg; enemy = new Enemy(Constants.enemyImg, -100.00, 270.00, Constants.enemyHeight, Constants.enemyWidth); extraLife = new ExtraLifePowerUp(Constants.lifeImg, 800.00, 170, Constants.powerHeight, Constants.powerWidth); speedUp = new SpeedPowerUp(Constants.powerImg, 800.00, 265.00, Constants.powerHeight, Constants.powerWidth); @@ -110,7 +105,6 @@ public class PlayState extends GameState { public void mode2() { player = new Player(Constants.playerImg2); - slidingPlayer = Constants.slidingPlayerImg2; enemy = new Enemy(Constants.enemyImg, -100.00, 270.00, Constants.enemyHeight, Constants.enemyWidth); extraLife = new ExtraLifePowerUp(Constants.lifeImg, 800.00, 270, Constants.powerHeight, Constants.powerWidth); flyingEnemy = new FlyingEnemy(Constants.flyingEnemyImg, -200.00, 20.00, Constants.enemyHeight, Constants.enemyWidth); @@ -160,7 +154,7 @@ public class PlayState extends GameState { drawEnemy(g); - + drawPowerUps(g); @@ -170,8 +164,8 @@ public class PlayState extends GameState { private void drawPowerUps(GraphicsContext g) { g.drawImage(speedUp.getImage(), speedUp.getX(), speedUp.getY(), Constants.powerWidth, Constants.powerHeight); -// g.drawImage(extraLife.getImage(), extraLife.getX(), extraLife.getY(), Constants.powerWidth, Constants.powerHeight); - + g.drawImage(extraLife.getImage(), extraLife.getX(), extraLife.getY(), Constants.powerWidth, Constants.powerHeight); + } public void drawEnemy(GraphicsContext g) { @@ -229,8 +223,8 @@ public class PlayState extends GameState { public int getSpeed() { return movingSpeed; } - - + + public void setSpeed(int s) { movingSpeed = s; } @@ -258,20 +252,7 @@ public class PlayState extends GameState { case UP: // Om spelaren duckar kan den inte hoppa, då ställer sig spelaren upp istället - if (down) { - player.standUp(); - down = false; - } else { - up = true; - } - break; - - case DOWN: - // Spelaren kan inte ducka om den är mitt i ett hopp - if (!up) { - down = true; - - } + up = true; break; case LEFT: @@ -297,10 +278,10 @@ public class PlayState extends GameState { public void update() { speedUp.setX(speedUp.getX() - movingSpeed); - speedUp.handle(player, this); - -// extraLife.setX(extraLife.getX() - movingSpeed); -// extraLife.checkCollision(player); +// speedUp.handle(player, this); + + extraLife.setX(extraLife.getX() - movingSpeed); +// extraLife.checkCollision(player, this); if (isFlyingEnemyActive) { @@ -368,7 +349,7 @@ public class PlayState extends GameState { up = false; } - + } diff --git a/src/states/Player.java b/src/states/Player.java index d5b24e2..4f0c845 100644 --- a/src/states/Player.java +++ b/src/states/Player.java @@ -1,17 +1,10 @@ package states; import java.io.FileInputStream; - - import java.io.FileNotFoundException; - import constants.Constants; -import javafx.geometry.Bounds; import javafx.scene.image.Image; -import javafx.scene.image.ImageView; -import javafx.scene.input.KeyCode; -import javafx.scene.input.KeyEvent; -import javafx.scene.shape.Rectangle; + public class Player { @@ -19,13 +12,10 @@ public class Player { private double playerX = (Constants.screenWidth - Constants.playerWidth) / 2; private double playerY = 265.00; - private int score = 0; private int lives = 3; private Image image; private boolean down = false; - private boolean up = false; - private Image currImage = null; private int passes = 0; private boolean livesLocked = false; @@ -43,7 +33,7 @@ public class Player { e.printStackTrace(); } - currImage = image; + } @@ -63,7 +53,7 @@ public class Player { public Image getImage() { - return currImage; + return image; } @@ -145,14 +135,6 @@ public class Player { } - public void standUp() { - currImage = image; - - - } - - - public void moveLeft(int movingSpeed) { diff --git a/src/states/PowerUp.java b/src/states/PowerUp.java index 11ad1bb..04d4f75 100644 --- a/src/states/PowerUp.java +++ b/src/states/PowerUp.java @@ -7,12 +7,20 @@ public abstract class PowerUp extends Object{ private Boolean active = false; private int scoreSinceActive = 0; private Random random = new Random(); + private int maxH = 110; + private int minH = 265; public PowerUp(String image, double x, double y, double h, double w) { super(image, x, y, h, w); - // TODO Auto-generated constructor stub + this.posY = spawn(); } + + public double spawn() { + int x = random.nextInt(minH - maxH + 1) + maxH; + return (double) x; + } + protected int getScoreSinceActive() { return scoreSinceActive; } @@ -24,6 +32,7 @@ public abstract class PowerUp extends Object{ } } + public abstract void use(Player player, PlayState playState); -} + } -- GitLab