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

bug fixad så att det inte spawna powerups under speedupen

parent bc75588f
Branches
No related tags found
1 merge request!2Newmode
49 158
\ No newline at end of file \ No newline at end of file
src/Images1/8ball.png

10.4 KiB

src/Images1/fire_engine.png

27.2 KiB

src/Images1/helicopter.png

22 KiB

...@@ -25,7 +25,13 @@ public interface Constants { ...@@ -25,7 +25,13 @@ public interface Constants {
//enemies //enemies
String enemyImg = "src/Images1/lorry.png"; String enemyImg = "src/Images1/lorry.png";
String enemyImg2 = "src/Images1/fire_engine.png";
String flyingEnemyImg = "src/Images1/saucer.png"; String flyingEnemyImg = "src/Images1/saucer.png";
String flyingEnemyImg2 = "src/Images1/helicopter.png";
String bombImg = "src/Images1/bomb.png";
String bombImg2 = "src/Images1/8ball.png";
double bombWidth = 50;
double bombHeight = 50;
double enemyWidth = 80; double enemyWidth = 80;
double enemyHeight = 80; double enemyHeight = 80;
...@@ -35,7 +41,5 @@ public interface Constants { ...@@ -35,7 +41,5 @@ public interface Constants {
double powerWidth = 40; double powerWidth = 40;
double powerHeight = 40; double powerHeight = 40;
String bombImg = "src/Images1/bomb.png";
double bombWidth = 50;
double bombHeight = 50;
} }
...@@ -37,10 +37,10 @@ public class FlyingEnemy extends Object{ ...@@ -37,10 +37,10 @@ public class FlyingEnemy extends Object{
//om man vill kan man skicka med players x pos på dirren, blir lite svårare då ba //om man vill kan man skicka med players x pos på dirren, blir lite svårare då ba
public Enemy dropBomb(Player p) { public Enemy dropBomb(Player p, String s) {
if (!bombDropped && this.getX() >= bombDropX - 50 && this.getX() <= bombDropX + 50) { if (!bombDropped && this.getX() >= bombDropX - 50 && this.getX() <= bombDropX + 50) {
Enemy bomb = new Enemy(Constants.bombImg, bombDropX, 50, Constants.bombHeight, Constants.bombWidth); // Drop the bomb at bombDropX Enemy bomb = new Enemy(s, bombDropX, 50, Constants.bombHeight, Constants.bombWidth); // Drop the bomb at bombDropX
System.out.println("Bomb dropped at: " + bombDropX); System.out.println("Bomb dropped at: " + bombDropX);
bombDropped = true; // Mark that the bomb has been dropped bombDropped = true; // Mark that the bomb has been dropped
......
...@@ -4,7 +4,6 @@ import javafx.scene.canvas.GraphicsContext; ...@@ -4,7 +4,6 @@ import javafx.scene.canvas.GraphicsContext;
import javafx.scene.input.KeyEvent; import javafx.scene.input.KeyEvent;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
import javafx.scene.text.Font; import javafx.scene.text.Font;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.ThreadLocalRandom;
import constants.Constants; import constants.Constants;
...@@ -29,8 +28,6 @@ public class PlayState extends GameState { ...@@ -29,8 +28,6 @@ public class PlayState extends GameState {
private String scoreText; private String scoreText;
private ExtraLifePowerUp extraLife; private ExtraLifePowerUp extraLife;
private FlyingEnemy flyingEnemy; private FlyingEnemy flyingEnemy;
// private double tempy;
private Random engen = new Random();
private int movingSpeed = 10; private int movingSpeed = 10;
private Enemy bomb; private Enemy bomb;
private boolean isFlyingEnemyActive = false; private boolean isFlyingEnemyActive = false;
...@@ -39,6 +36,9 @@ public class PlayState extends GameState { ...@@ -39,6 +36,9 @@ public class PlayState extends GameState {
private SpeedPowerUp speedUp; private SpeedPowerUp speedUp;
private boolean isPowerUpActive; private boolean isPowerUpActive;
private int num; private int num;
private String bombImg;
private PowerUp last = null;
...@@ -60,10 +60,11 @@ public class PlayState extends GameState { ...@@ -60,10 +60,11 @@ public class PlayState extends GameState {
public void mode1() { public void mode1() {
player = new Player(Constants.playerImg); player = new Player(Constants.playerImg);
enemy = new Enemy(Constants.enemyImg, -100.00, 270.00, Constants.enemyHeight, Constants.enemyWidth); enemy = new Enemy(Constants.enemyImg, 900.00, 270.00, Constants.enemyHeight, Constants.enemyWidth);
extraLife = new ExtraLifePowerUp(Constants.lifeImg, 900.00, 170, Constants.powerHeight, Constants.powerWidth); extraLife = new ExtraLifePowerUp(Constants.lifeImg, 1200.00, 170, Constants.powerHeight, Constants.powerWidth);
speedUp = new SpeedPowerUp(Constants.powerImg, 900.00, 265.00, Constants.powerHeight, Constants.powerWidth); speedUp = new SpeedPowerUp(Constants.powerImg, 1200.00, 265.00, Constants.powerHeight, Constants.powerWidth);
flyingEnemy = new FlyingEnemy(Constants.flyingEnemyImg, -200.00, 20.00, Constants.enemyHeight, Constants.enemyWidth); flyingEnemy = new FlyingEnemy(Constants.flyingEnemyImg, 900.00, 20.00, Constants.enemyHeight, Constants.enemyWidth);
bombImg = Constants.bombImg;
bgColor = Color.ROYALBLUE; bgColor = Color.ROYALBLUE;
lineColor = Color.WHITE; lineColor = Color.WHITE;
...@@ -71,10 +72,11 @@ public class PlayState extends GameState { ...@@ -71,10 +72,11 @@ public class PlayState extends GameState {
public void mode2() { public void mode2() {
player = new Player(Constants.playerImg2); player = new Player(Constants.playerImg2);
enemy = new Enemy(Constants.enemyImg, -100.00, 270.00, Constants.enemyHeight, Constants.enemyWidth); enemy = new Enemy(Constants.enemyImg2, 900.00, 270.00, Constants.enemyHeight, Constants.enemyWidth);
extraLife = new ExtraLifePowerUp(Constants.lifeImg, -100.00, 270, Constants.powerHeight, Constants.powerWidth); extraLife = new ExtraLifePowerUp(Constants.lifeImg, -100.00, 270, Constants.powerHeight, Constants.powerWidth);
speedUp = new SpeedPowerUp(Constants.powerImg, -100.00, 265.00, Constants.powerHeight, Constants.powerWidth); speedUp = new SpeedPowerUp(Constants.powerImg, -100.00, 265.00, Constants.powerHeight, Constants.powerWidth);
flyingEnemy = new FlyingEnemy(Constants.flyingEnemyImg, -200.00, 20.00, Constants.enemyHeight, Constants.enemyWidth); flyingEnemy = new FlyingEnemy(Constants.flyingEnemyImg2, 900.00, 20.00, Constants.enemyHeight, Constants.enemyWidth);
bombImg = Constants.bombImg2;
bgColor = Color.BEIGE; bgColor = Color.BEIGE;
lineColor = Color.BLACK; lineColor = Color.BLACK;
...@@ -128,28 +130,41 @@ public class PlayState extends GameState { ...@@ -128,28 +130,41 @@ public class PlayState extends GameState {
private void drawPowerUps(GraphicsContext g) { private void drawPowerUps(GraphicsContext g) {
if (isPowerUpActive) { if (isPowerUpActive && movingSpeed < 100) {
if (last == speedUp) {
num = 1;
}
if (num == 0) { if (num == 0) {
drawSpeedUp(g);
last = null;
if(speedUp.getX() < 0 - Constants.playerWidth) { } else if (num == 1){
speedUp.setX(Constants.screenWidth); drawExtraLife(g);
isPowerUpActive = false; last = null;
} }
}
}
g.drawImage(speedUp.getImage(), speedUp.getX(), speedUp.getY(), Constants.powerWidth, Constants.powerHeight); public void drawSpeedUp(GraphicsContext g) {
if(speedUp.getX() < 0 - Constants.playerWidth) {
speedUp.setX(Constants.screenWidth);
isPowerUpActive = false;
}
} else if (num == 1){ g.drawImage(speedUp.getImage(), speedUp.getX(), speedUp.getY(), Constants.powerWidth, Constants.powerHeight);
if(extraLife.getX() < 0 - Constants.playerWidth) { last = speedUp;
extraLife.setX(Constants.screenWidth); }
isPowerUpActive = false;
}
g.drawImage(extraLife.getImage(), extraLife.getX(), extraLife.getY(), Constants.powerWidth, Constants.powerHeight);
} public void drawExtraLife(GraphicsContext g) {
if(extraLife.getX() < 0 - Constants.playerWidth) {
extraLife.setX(Constants.screenWidth);
isPowerUpActive = false;
} }
g.drawImage(extraLife.getImage(), extraLife.getX(), extraLife.getY(), Constants.powerWidth, Constants.powerHeight);
last = extraLife;
} }
public void drawEnemies(GraphicsContext g) { public void drawEnemies(GraphicsContext g) {
...@@ -173,15 +188,18 @@ public class PlayState extends GameState { ...@@ -173,15 +188,18 @@ public class PlayState extends GameState {
g.drawImage(flyingEnemy.getImage(), flyingEnemy.getX(), flyingEnemy.getY(), Constants.enemyWidth, Constants.enemyHeight); g.drawImage(flyingEnemy.getImage(), flyingEnemy.getX(), flyingEnemy.getY(), Constants.enemyWidth, Constants.enemyHeight);
if (flyingEnemy.getX() < 0 - Constants.enemyWidth) { if (flyingEnemy.getX() < 0 - Constants.enemyWidth) {
isFlyingEnemyActive = false; flyingEnemy.setX(Constants.screenWidth);
player.updatePasses(1); player.updatePasses(1);
// Reset bomb drop flag to allow the next bomb drop // Reset bomb drop flag to allow the next bomb drop
flyingEnemy.resetBombDrop(); flyingEnemy.resetBombDrop();
speedCheck(); speedCheck();
int r = getRandom();
if(r == 1) {
isFlyingEnemyActive = false;
}
} }
} }
...@@ -200,9 +218,10 @@ public class PlayState extends GameState { ...@@ -200,9 +218,10 @@ public class PlayState extends GameState {
speedCheck(); speedCheck();
if (getRandom() == 1 && player.getPasses() > 2) { // 50% chance after player hase passed if (player.getPasses() > 4 && getRandom() == 0) { // 50% chance after player hase passed
isFlyingEnemyActive = true; isFlyingEnemyActive = true;
flyingEnemy.setX(Constants.screenWidth); // Reset position // Reset position
System.out.println("Stage one activated, flyingenemy added to the mix");
} }
} }
} }
...@@ -214,11 +233,10 @@ public class PlayState extends GameState { ...@@ -214,11 +233,10 @@ public class PlayState extends GameState {
if (player.getPasses() % 5 == 0) { if (player.getPasses() % 5 == 0) {
movingSpeed += 1; movingSpeed += 1;
System.out.println("speed set to: " + Integer.toString(movingSpeed)); System.out.println("speed set to: " + Integer.toString(movingSpeed));
} else if (player.getPasses() % 2 == 0) { } else if (player.getPasses() > 10 && player.getPasses() % 2 == 0) {
isPowerUpActive = true; isPowerUpActive = true;
// num = 0;
num = getRandom(); num = getRandom();
} }
} }
...@@ -359,7 +377,7 @@ public class PlayState extends GameState { ...@@ -359,7 +377,7 @@ public class PlayState extends GameState {
flyingEnemy.setX(flyingEnemy.getX() -movingSpeed); flyingEnemy.setX(flyingEnemy.getX() -movingSpeed);
Enemy droppedBomb = flyingEnemy.dropBomb(player); Enemy droppedBomb = flyingEnemy.dropBomb(player, bombImg);
if (droppedBomb != null) { if (droppedBomb != null) {
bomb = droppedBomb; bomb = droppedBomb;
......
...@@ -19,6 +19,8 @@ public class SpeedPowerUp extends PowerUp { ...@@ -19,6 +19,8 @@ public class SpeedPowerUp extends PowerUp {
@Override @Override
public void use(Player player, PlayState playState) { public void use(Player player, PlayState playState) {
player.lockLives(true); player.lockLives(true);
playState.setSpeed(100); playState.setSpeed(100);
...@@ -37,7 +39,7 @@ public class SpeedPowerUp extends PowerUp { ...@@ -37,7 +39,7 @@ public class SpeedPowerUp extends PowerUp {
} else { } else {
if ((player.getPasses() - start) >= 10) { if ((player.getPasses() - start) >= 5) {
playState.setSpeed(speed); playState.setSpeed(speed);
player.lockLives(false); player.lockLives(false);
player.setPlayerY(265); player.setPlayerY(265);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment