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

lagt till flygande enemy

parent 5096574f
No related branches found
No related tags found
1 merge request!1Testb
src/Images1/fly.png

72.2 KiB

...@@ -36,6 +36,7 @@ public interface Constants { ...@@ -36,6 +36,7 @@ public interface Constants {
//enemies //enemies
String enemyImg = "src/Images1/tree.png"; String enemyImg = "src/Images1/tree.png";
String flyingEnemyImg = "src/Images1/fly.png";
double enemyWidth = 100; double enemyWidth = 100;
double enemyHeight = 100; double enemyHeight = 100;
......
package states; package states;
import java.util.ArrayList;
import java.util.Random; import java.util.Random;
import javafx.scene.image.Image; import javafx.scene.image.Image;
public class FlyingEnemy extends Enemy{ public class FlyingEnemy extends Enemy{
private double enemyX = -100.00; // private double enemyX = -100.00;
private double enemyY = 0; private ArrayList<Double> enemyY;
private Image image; // = {250, 200, 150,100};
private Random rnd; // private Image image;
private Random rnd = new Random();
public FlyingEnemy(String enemyImg) { public FlyingEnemy(String enemyImg) {
super(enemyImg); super(enemyImg);
enemyY = new ArrayList<Double>();
enemyY.add(100.0);
enemyY.add(150.0);
enemyY.add(200.0);
enemyY.add(250.0);
// double[] enemyY = {250, 200, 150,100};
// enemyY[0] = 100.0;
// enemyY[1] = 150.0;
// enemyY[2] = 200.0;
// enemyY[3] = 250.0;
} }
// System.out.println(weather.get(rnd.nextInt(weather.size())));
@Override
public double getEnemyY() { public double getEnemyY() {
return enemyY.get(rnd.nextInt(enemyY.size()));
// Gör en random generator här som returnerar Y koordinat slumpmässigt inom ett spann(om y koordinaten är 0). // Gör en random generator här som returnerar Y koordinat slumpmässigt inom ett spann(om y koordinaten är 0).
// När enemy är ute ur frame sätter vi ykoordinaten till 0 så att den kan få en ny vid nästa passering. // När enemy är ute ur frame sätter vi ykoordinaten till 0 så att den kan få en ny vid nästa passering.
// double enlen = enemyY.length;
return enemyY; //
// double temp = 0.0;
//
// temp = enemyY[(int) rnd.nextDouble(enlen)];
//
// return temp;
} }
public void setEnemyY() { // public void setEnemyY() {
enemyY = 0; // enemyY = 0.0;
//
} // }
} }
package states; package states;
import javafx.scene.canvas.GraphicsContext; import javafx.scene.canvas.GraphicsContext;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.scene.input.KeyCode; import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent; import javafx.scene.input.KeyEvent;
...@@ -51,6 +52,7 @@ public class PlayState extends GameState { ...@@ -51,6 +52,7 @@ public class PlayState extends GameState {
private int clearedEnemies; private int clearedEnemies;
private String scoreText; private String scoreText;
private ExtraLifePowerUp extraLife; private ExtraLifePowerUp extraLife;
private FlyingEnemy flyingEnemy;
/* Class only used for testing */ /* Class only used for testing */
...@@ -71,6 +73,7 @@ public class PlayState extends GameState { ...@@ -71,6 +73,7 @@ public class PlayState extends GameState {
player = new Player(Constants.playerImg); player = new Player(Constants.playerImg);
enemy = new Enemy(Constants.enemyImg); enemy = new Enemy(Constants.enemyImg);
extraLife = new ExtraLifePowerUp(Constants.lifeImg); extraLife = new ExtraLifePowerUp(Constants.lifeImg);
flyingEnemy = new FlyingEnemy(Constants.flyingEnemyImg);
// menu = new MenuState(model); // menu = new MenuState(model);
...@@ -85,7 +88,6 @@ public class PlayState extends GameState { ...@@ -85,7 +88,6 @@ public class PlayState extends GameState {
g.setFill(fontColor); g.setFill(fontColor);
g.setFont(new Font(30)); // Big letters g.setFont(new Font(30)); // Big letters
// ritar liv kvar + nuvarande highscore om det inte är gameover, annars ritar den bara gemaovertexten // ritar liv kvar + nuvarande highscore om det inte är gameover, annars ritar den bara gemaovertexten
if (!gameOver) { if (!gameOver) {
...@@ -126,6 +128,14 @@ public class PlayState extends GameState { ...@@ -126,6 +128,14 @@ public class PlayState extends GameState {
if (enemy.getEnemyX() < 0 - Constants.enemyWidth) { if (enemy.getEnemyX() < 0 - Constants.enemyWidth) {
enemy.setEnemyX(Constants.screenWidth); enemy.setEnemyX(Constants.screenWidth);
} }
g.drawImage(flyingEnemy.getImage(), Constants.screenWidth/2, Constants.screenHeight/2, Constants.enemyWidth, Constants.enemyHeight);
} }
...@@ -175,6 +185,7 @@ public class PlayState extends GameState { ...@@ -175,6 +185,7 @@ public class PlayState extends GameState {
// Enemy hoppar 10 snäpp till vänster för varje update // Enemy hoppar 10 snäpp till vänster för varje update
enemy.setEnemyX(enemy.getEnemyX()-10); enemy.setEnemyX(enemy.getEnemyX()-10);
flyingEnemy.setEnemyX(flyingEnemy.getEnemyX() -10);
// Om // Om
if (!gameOver) { if (!gameOver) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment