diff --git a/src/constants/Constants.java b/src/constants/Constants.java index 544e940ecc28d10a43f57c2e35122384905935bd..4524407f7b70b026e58a25b2994985f7dc403cf3 100644 --- a/src/constants/Constants.java +++ b/src/constants/Constants.java @@ -21,8 +21,8 @@ public interface Constants { /* * Define the size of the window */ - final double screenWidth = 1000; - final double screenHeight = 500; + final int screenWidth = 1000; + final int screenHeight = 500; // Player diff --git a/src/main/Main.java b/src/main/Main.java index f905ef7e4a6a80029c23e2e9a436b2b767de9403..90ce02c58e4c619bf808a103febc7c530d83365a 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -50,7 +50,9 @@ public class Main extends Application { gameStage.setWidth(Constants.screenWidth); gameStage.setHeight(Constants.screenHeight); GameModel model = new GameModel(); - GameFrame frame = new GameFrame(model, 1000, 800); +// GameFrame frame = new GameFrame(model, 1000, 800); + GameFrame frame = new GameFrame(model, Constants.screenWidth, Constants.screenHeight); + Scene gameScene = new Scene(frame); final double targetFps = 50.0; // Calculate frequency in nano seconds diff --git a/src/states/PlayState.java b/src/states/PlayState.java index f4624adbc347561adfddc2d0ae705f40fff49438..31dcfe2d58df1ea36632e4b3ad201e1a5a2e20b3 100644 --- a/src/states/PlayState.java +++ b/src/states/PlayState.java @@ -6,6 +6,7 @@ import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; import javafx.scene.paint.Color; import javafx.scene.text.Font; +import javafx.scene.text.Text; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -35,12 +36,14 @@ public class PlayState extends GameState { * a way to make this more general and not duplicate variables? */ private String informationText; + private String livesleft; private Color bgColor; private Color fontColor; private boolean up = false; private Player player; private Enemy enemy; private boolean collided = false; + private MenuState menu; /* Class only used for testing */ @@ -48,12 +51,15 @@ public class PlayState extends GameState { public PlayState(GameModel model) { super(model); - informationText = "Press Escape To Return To The Menu"; + informationText = "Press Escape \nTo Return To The Menu"; + livesleft = "Lives left: "; bgColor = Color.BEIGE; fontColor = Color.BLUE; player = new Player(Constants.playerImg); enemy = new Enemy(Constants.enemyImg); + +// menu = new MenuState(model); } @@ -66,13 +72,14 @@ public class PlayState extends GameState { g.setFill(fontColor); g.setFont(new Font(30)); // Big letters - g.fillText(informationText, Constants.screenWidth / 3, Constants.screenHeight / 3); + g.fillText(livesleft+player.getLives(), 0, 30); + g.fillText(informationText, Constants.screenWidth - 300, 30); + g.setStroke(Color.BLACK); g.setLineWidth(1); g.setLineDashes(2); g.strokeLine(Constants.screenWidth, 350, 0, 350); - if (enemy.getEnemyX() < 0 - Constants.enemyWidth) { enemy.setEnemyX(Constants.screenWidth); } @@ -145,9 +152,13 @@ public class PlayState extends GameState { // // System.out.println("helo"); if((player.getPlayerY() + 60) >= enemy.getEnemyY() ) { collided = true; - System.out.println("fäk"); +// System.out.println("fäk"); + if (Integer.valueOf(player.getLives()) == 0) { + menu = new MenuState(model); + model.switchState(menu); + } player.decreaseLives(); - System.out.println(player.getLives()); +// System.out.println(player.getLives()); } // System.out.println("slipped by enemy"); diff --git a/src/states/Player.java b/src/states/Player.java index 84d9834bc222bad4584525dabf8868139f5cc693..92648dc33c7b05da0c6d7c77db0fdc44d467f317 100644 --- a/src/states/Player.java +++ b/src/states/Player.java @@ -52,8 +52,8 @@ public class Player { } - public int getLives() { - return this.lives; + public String getLives() { + return Integer.toString(this.lives); }