From cc64f976835901e2fc2ea19de426c7da7e03b5a2 Mon Sep 17 00:00:00 2001 From: Oscar Wiberg <oscarwiberg@Oscars-MacBook-Air-3.local> Date: Thu, 14 Dec 2023 19:38:56 +0100 Subject: [PATCH] =?UTF-8?q?Spara=20score=20mellan=20omg=C3=A5ngar,=20ingen?= =?UTF-8?q?=20logik=20i=20scoren=20=C3=A4nnu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/HighScore.txt | 1 + src/states/FlyingEnemy.java | 11 +++++++ src/states/HighScore.java | 57 +++++++++++++++++++------------------ src/states/PlayState.java | 14 +++++---- 4 files changed, 51 insertions(+), 32 deletions(-) create mode 100644 src/states/FlyingEnemy.java diff --git a/src/HighScore.txt b/src/HighScore.txt index e69de29..2efea51 100644 --- a/src/HighScore.txt +++ b/src/HighScore.txt @@ -0,0 +1 @@ +167 \ No newline at end of file diff --git a/src/states/FlyingEnemy.java b/src/states/FlyingEnemy.java new file mode 100644 index 0000000..ff50716 --- /dev/null +++ b/src/states/FlyingEnemy.java @@ -0,0 +1,11 @@ +package states; + +public class FlyingEnemy extends Enemy{ + + public FlyingEnemy(String enemyImg) { + super(enemyImg); + + + } + +} diff --git a/src/states/HighScore.java b/src/states/HighScore.java index 3e2aa56..98931e9 100644 --- a/src/states/HighScore.java +++ b/src/states/HighScore.java @@ -1,47 +1,50 @@ package states; +import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; +import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.Scanner; public class HighScore { - public void saveScore(int score) { - if (score > getHighScore()) { - try { - FileWriter writer = new FileWriter("src/HighScore.txt"); - writer.write(""); - writer.write(Integer.toString(score)); - writer.close(); - } catch (IOException ioe) { - ioe.printStackTrace(); - } + public void saveScore(int score) { + if (score > getHighScore()) { + try { + FileWriter writer = new FileWriter("src/HighScore.txt"); + writer.write(""); + writer.write(Integer.toString(score)); + writer.close(); + } catch (IOException ioe) { + ioe.printStackTrace(); } - } - public int getHighScore() { - int highScore = 0; + } - try { - File highScoreTxtFile = new File("src/HighScore.txt"); - Scanner myReader = new Scanner(highScoreTxtFile); - while (myReader.hasNextLine()) { - String data = myReader.nextLine(); - highScore = Integer.parseInt(data); - } - myReader.close(); - } catch (FileNotFoundException e) { - System.out.println("File not found."); - e.printStackTrace(); - } + public int getHighScore() { + int highScore = 0; - return highScore; + try { + File highScoreTxtFile = new File("src/HighScore.txt"); + Scanner myReader = new Scanner(highScoreTxtFile); + while (myReader.hasNextLine()) { + String data = myReader.nextLine(); + highScore = Integer.parseInt(data); + } + myReader.close(); + } catch (FileNotFoundException e) { + System.out.println("File not found."); + e.printStackTrace(); } + return highScore; } - + +} diff --git a/src/states/PlayState.java b/src/states/PlayState.java index d7acfed..47c4f85 100644 --- a/src/states/PlayState.java +++ b/src/states/PlayState.java @@ -47,7 +47,7 @@ public class PlayState extends GameState { private boolean gameOver = false; private MenuState menu; private HighScore score = new HighScore(); -// private int clearedEnemies; + private int clearedEnemies; private String scoreText; @@ -61,7 +61,7 @@ public class PlayState extends GameState { gameOverText = "GAMEOVER\n" + informationText; bgColor = Color.BEIGE; fontColor = Color.BLUE; - scoreText = "Highscore: "; + scoreText = "Highscore: " + Integer.toString(score.getHighScore()); // + Integer.toString(score.getHighScore()); player = new Player(Constants.playerImg); @@ -131,7 +131,8 @@ public class PlayState extends GameState { if (!gameOver) { if ((enemy.getEnemyX() <= (player.getPlayerX() + 80)) && (enemy.getEnemyX() > player.getPlayerX())) { - if (!collided && enemy.getEnemyX() > player.getPlayerX()) { +// if (!collided && enemy.getEnemyX() > player.getPlayerX()) { + if (!collided) { checkCollision(); } // clearedEnemies ++; @@ -139,6 +140,8 @@ public class PlayState extends GameState { if (collided && enemy.getEnemyX() < player.getPlayerX()) { collided = false; + } else if (!collided && enemy.getEnemyX() < player.getPlayerX()) { + clearedEnemies ++; } @@ -174,11 +177,11 @@ public class PlayState extends GameState { if((player.getPlayerY() + 60) >= enemy.getEnemyY() ) { collided = true; // System.out.println("fäk"); - if (Integer.valueOf(player.getLives()) == 0) { + if (Integer.valueOf(player.getLives()) == 1) { // menu = new MenuState(model); // model.switchState(menu); gameOver = true; -// score.saveScore(clearedEnemies); + score.saveScore(clearedEnemies); } player.decreaseLives(); @@ -190,6 +193,7 @@ public class PlayState extends GameState { // } +// clearedEnemies ++; } -- GitLab