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