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
Branches
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