Skip to content
Snippets Groups Projects
Commit a2b6a051 authored by Oscar Wiberg's avatar Oscar Wiberg
Browse files

Alla enemies ärver från object, samt powerup ärver från object

parent 0fd4e653
No related branches found
No related tags found
1 merge request!2Newmode
......@@ -8,52 +8,41 @@ import javafx.geometry.Bounds;
import javafx.scene.image.Image;
import javafx.scene.shape.Rectangle;
public class Bomb {
public class Bomb extends Object{
private double startX;
private double posY = 50;
private Image image;
public Bomb(double bombDropX, String bombImg) {
try {
image = new Image(new FileInputStream(bombImg));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.startX = bombDropX;
}
public Bounds getBoundingBox() {
return new Rectangle(startX, posY, Constants.bombWidth, Constants.bombHeight).getBoundsInParent();
}
public double getX() {
return startX;
}
public double getY() {
return posY;
}
public Image getImage() {
return image;
public Bomb(String bombImg, double x, double y, double h, double w) {
super(bombImg, x, y, h, w);
}
// public Bounds getBoundingBox() {
// return new Rectangle(startX, posY, Constants.bombWidth, Constants.bombHeight).getBoundsInParent();
// }
//
//
//
// public double getX() {
// return startX;
// }
//
//
//
//
// public double getY() {
// return posY;
// }
//
//
//
//
// public Image getImage() {
// return image;
// }
//
public void render(int speed) {
this.posY += speed;
}
......
......@@ -22,13 +22,6 @@ public class Enemy extends Object{
@Override
public void use(Player player) {
// TODO Auto-generated method stub
}
......
......@@ -37,7 +37,7 @@ public class FlyingEnemy extends Object{
public Bomb dropBomb() {
if (!bombDropped && this.getX() >= bombDropX - 50 && this.getX() <= bombDropX + 50) {
Bomb bomb = new Bomb(bombDropX, Constants.bombImg); // Drop the bomb at bombDropX
Bomb bomb = new Bomb(Constants.bombImg, bombDropX, 50, Constants.bombHeight, Constants.bombWidth); // Drop the bomb at bombDropX
System.out.println("Bomb dropped at: " + bombDropX);
bombDropped = true; // Mark that the bomb has been dropped
......@@ -55,11 +55,6 @@ public class FlyingEnemy extends Object{
@Override
public void use(Player player) {
// TODO Auto-generated method stub
}
......
......@@ -11,7 +11,7 @@ import javafx.scene.shape.Rectangle;
public abstract class Object {
private double posX;
private double posY;
protected double posY;
private double height;
private double width;
private Image img;
......@@ -88,7 +88,7 @@ public abstract class Object {
return hit;
}
public abstract void use(Player player);
// här kommer de två olika powerupsen avgöra vad som händer när ma ta den, denna klass kallar på kollisionen
......
......@@ -298,9 +298,9 @@ public class PlayState extends GameState {
}
if (bomb != null) {
bomb.render(movingSpeed);
bomb.setY(bomb.getY() + movingSpeed);
if (bomb.getBoundingBox().intersects(player.getBoundingBox())) {
if (bomb.playerObjectCollision(player)) {
System.out.println("Bomb hit the player!");
player.decreaseLives(); // Assume there's a method to decrement player lives
bomb = null; // Destroy the bomb after collision
......
package states;
import java.util.Random;
public abstract class PowerUp extends Object{
private Boolean active = false;
private int scoreSinceActive = 0;
private Random random = new Random();
public PowerUp(String image, double x, double y, double h, double w) {
super(image, x, y, h, w);
// TODO Auto-generated constructor stub
}
public void checkCollision(Player player) {
if (this.playerObjectCollision(player)) {
use(player);
scoreSinceActive = player.getPasses();
}
}
public abstract void use(Player player);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment