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

player kan glida, todo kommentarer

parent cc64f976
No related branches found
No related tags found
1 merge request!1Testb
src/Images1/player_sliding.png

124 KiB

...@@ -25,7 +25,7 @@ public interface Constants { ...@@ -25,7 +25,7 @@ public interface Constants {
final int screenHeight = 500; final int screenHeight = 500;
// Player // Player
String slidingPlayerImg = "src/Images1/player_sliding.png";
String playerImg = "src/Images1/player.png"; String playerImg = "src/Images1/player.png";
double playerWidth = 100; double playerWidth = 100;
double playerHeight = 100; double playerHeight = 100;
......
...@@ -64,6 +64,7 @@ public class Main extends Application { ...@@ -64,6 +64,7 @@ public class Main extends Application {
// We set up a setOnKeyPressed, to handle keyboard input, // We set up a setOnKeyPressed, to handle keyboard input,
// like we had a onMouseClick in the canvas for the paint lab. // like we had a onMouseClick in the canvas for the paint lab.
gameScene.setOnKeyPressed(new EventHandler<KeyEvent>() { gameScene.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override @Override
public void handle(KeyEvent event) { public void handle(KeyEvent event) {
// We send it on to the model, to handle it in the various // We send it on to the model, to handle it in the various
...@@ -71,6 +72,8 @@ public class Main extends Application { ...@@ -71,6 +72,8 @@ public class Main extends Application {
model.keyPressed(event); model.keyPressed(event);
} }
}); });
// We set an AnimationTimer, to control the flow of the game. // We set an AnimationTimer, to control the flow of the game.
new AnimationTimer() { new AnimationTimer() {
......
...@@ -44,6 +44,7 @@ public class PlayState extends GameState { ...@@ -44,6 +44,7 @@ public class PlayState extends GameState {
private Enemy enemy; private Enemy enemy;
private boolean collided = false; private boolean collided = false;
private boolean up = false; private boolean up = false;
private boolean down = false;
private boolean gameOver = false; private boolean gameOver = false;
private MenuState menu; private MenuState menu;
private HighScore score = new HighScore(); private HighScore score = new HighScore();
...@@ -52,7 +53,9 @@ public class PlayState extends GameState { ...@@ -52,7 +53,9 @@ public class PlayState extends GameState {
/* Class only used for testing */ /* Class only used for testing */
// TODO nästa steg, lägg in en flygande enemy för att testa glid funktionen, ändra boundsen på den glidande bilden!
// TODO kanske ta bort att skicka med image när man instansierar player
public PlayState(GameModel model) { public PlayState(GameModel model) {
super(model); super(model);
...@@ -62,7 +65,7 @@ public class PlayState extends GameState { ...@@ -62,7 +65,7 @@ public class PlayState extends GameState {
bgColor = Color.BEIGE; bgColor = Color.BEIGE;
fontColor = Color.BLUE; fontColor = Color.BLUE;
scoreText = "Highscore: " + Integer.toString(score.getHighScore()); scoreText = "Highscore: " + Integer.toString(score.getHighScore());
// + Integer.toString(score.getHighScore()); // + Integer.toString(score.getHighScore());
player = new Player(Constants.playerImg); player = new Player(Constants.playerImg);
enemy = new Enemy(Constants.enemyImg); enemy = new Enemy(Constants.enemyImg);
...@@ -107,18 +110,33 @@ public class PlayState extends GameState { ...@@ -107,18 +110,33 @@ public class PlayState extends GameState {
} }
@Override @Override
public void keyPressed(KeyEvent key) { public void keyPressed(KeyEvent key) {
System.out.println("Trycker på " + key.getCode() + " i PlayState");
// TODO gör om till case sats för att städa upp det lite, kladdigt atm + kan behöva flytta funktionalitet
if (key.getCode() == KeyCode.ESCAPE) { if (key.getCode() == KeyCode.ESCAPE) {
model.switchState(new MenuState(model)); model.switchState(new MenuState(model));
} else if (key.getCode() == KeyCode.UP) { } else if (key.getCode() == KeyCode.UP) {
up = true;
} if (down) {
player.standUp();
down = false;
} else {
up = true;
}
} else if (key.getCode() == KeyCode.DOWN) {
down = true;
}
} }
...@@ -131,17 +149,15 @@ public class PlayState extends GameState { ...@@ -131,17 +149,15 @@ public class PlayState extends GameState {
if (!gameOver) { if (!gameOver) {
if ((enemy.getEnemyX() <= (player.getPlayerX() + 80)) && (enemy.getEnemyX() > player.getPlayerX())) { if ((enemy.getEnemyX() <= (player.getPlayerX() + 80)) && (enemy.getEnemyX() > player.getPlayerX())) {
// if (!collided && enemy.getEnemyX() > player.getPlayerX()) { // if (!collided && enemy.getEnemyX() > player.getPlayerX()) {
if (!collided) { if (!collided) {
checkCollision(); checkCollision();
} }
// clearedEnemies ++; // clearedEnemies ++;
} }
if (collided && enemy.getEnemyX() < player.getPlayerX()) { if (collided && enemy.getEnemyX() < player.getPlayerX()) {
collided = false; collided = false;
} else if (!collided && enemy.getEnemyX() < player.getPlayerX()) {
clearedEnemies ++;
} }
...@@ -154,12 +170,17 @@ public class PlayState extends GameState { ...@@ -154,12 +170,17 @@ public class PlayState extends GameState {
up = false; up = false;
} }
if (down) {
player.slide();
}
} }
} }
public void checkCollision() { public void checkCollision() {
// if ((enemy.getEnemyX() <= (player.getPlayerX() + 80)) && (enemy.getEnemyX() > player.getPlayerX()) && ((player.getPlayerY() + 60) >= enemy.getEnemyY() )) { // if ((enemy.getEnemyX() <= (player.getPlayerX() + 80)) && (enemy.getEnemyX() > player.getPlayerX()) && ((player.getPlayerY() + 60) >= enemy.getEnemyY() )) {
// //
...@@ -178,7 +199,7 @@ public class PlayState extends GameState { ...@@ -178,7 +199,7 @@ public class PlayState extends GameState {
collided = true; collided = true;
// System.out.println("fäk"); // System.out.println("fäk");
if (Integer.valueOf(player.getLives()) == 1) { if (Integer.valueOf(player.getLives()) == 1) {
// menu = new MenuState(model); // menu = new MenuState(model);
// model.switchState(menu); // model.switchState(menu);
gameOver = true; gameOver = true;
score.saveScore(clearedEnemies); score.saveScore(clearedEnemies);
...@@ -193,7 +214,7 @@ public class PlayState extends GameState { ...@@ -193,7 +214,7 @@ public class PlayState extends GameState {
// } // }
// clearedEnemies ++; // clearedEnemies ++;
} }
......
...@@ -12,6 +12,8 @@ import javafx.scene.input.KeyEvent; ...@@ -12,6 +12,8 @@ import javafx.scene.input.KeyEvent;
import javafx.scene.shape.Rectangle; import javafx.scene.shape.Rectangle;
public class Player { public class Player {
// TODO se över funktioner, kanske lättare att slå samman vissa
private double playerX = (Constants.screenWidth - Constants.playerWidth) / 2; private double playerX = (Constants.screenWidth - Constants.playerWidth) / 2;
private double playerY = 265.00; private double playerY = 265.00;
...@@ -20,34 +22,38 @@ public class Player { ...@@ -20,34 +22,38 @@ public class Player {
private Image image; private Image image;
private boolean down = false; private boolean down = false;
private boolean up = false; private boolean up = false;
// private ImageView playerView; private Image slidingImage;
private Image currImage = null;
// private ImageView playerView;
public Player(String playerImg) { public Player(String playerImg) {
try { try {
image = new Image(new FileInputStream(playerImg)); image = new Image(new FileInputStream(playerImg));
// playerView = new ImageView(image); slidingImage = new Image(new FileInputStream(Constants.slidingPlayerImg));
// playerView.setX(playerX); // playerView = new ImageView(image);
// playerView.setY(playerY); // playerView.setX(playerX);
// playerView.setFitHeight(Constants.playerHeight); // playerView.setY(playerY);
// playerView.setFitWidth(Constants.playerWidth); // playerView.setFitHeight(Constants.playerHeight);
// playerView.setFitWidth(Constants.playerWidth);
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
currImage = image;
} }
// public ImageView getPlayerView() { // public ImageView getPlayerView() {
// return playerView; // return playerView;
// } // }
public Image getImage() { public Image getImage() {
return image; return currImage;
} }
...@@ -106,6 +112,13 @@ public class Player { ...@@ -106,6 +112,13 @@ public class Player {
} }
public void slide() {
currImage = slidingImage;
}
public void setPlayerX(double playerX) { public void setPlayerX(double playerX) {
this.playerX = playerX; this.playerX = playerX;
} }
...@@ -116,4 +129,13 @@ public class Player { ...@@ -116,4 +129,13 @@ public class Player {
} }
public void standUp() {
currImage = image;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment