From b3b30e3757ca4f2b6df80222115c4897995cc6eb Mon Sep 17 00:00:00 2001 From: Josh Alejandro <jalejand@myune.edu.au> Date: Wed, 20 Sep 2023 19:20:09 +1000 Subject: [PATCH] ScoringSystem will now load from highscore text file --- .../main/java/brickbreaker/ScoringSystem.java | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/brickbreaker/ScoringSystem.java b/app/src/main/java/brickbreaker/ScoringSystem.java index d55638f..39d164d 100644 --- a/app/src/main/java/brickbreaker/ScoringSystem.java +++ b/app/src/main/java/brickbreaker/ScoringSystem.java @@ -1,11 +1,39 @@ +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; + + public class ScoringSystem { private int score; // Current Score private int highScore; // Highest Score private static final int POINTS = 1; // Point Value + private static final String HIGHSCORE_FILE = "src/main/resources/highscore.txt"; + public ScoringSystem() { this.score = 0; - this.highScore = 0; + this.highScore = loadHighScore(); + } + + private int loadHighScore() { + try (BufferedReader reader = new BufferedReader(new FileReader(HIGHSCORE_FILE))) { + String line = reader.readLine(); + if (line != null) { + return Integer.parseInt(line.trim()); + } + } catch (IOException e) { + System.err.println("Loading Error: " + e.getMessage()); + } + return 0; + } + + private void saveHighScore(int newHighScore) { + try (FileWriter writer = new FileWriter(HIGHSCORE_FILE)) { + writer.write(Integer.toString(newHighScore)); + } catch (IOException e) { + System.err.println("Saving Error: " + e.getMessage()); + } } // Add point to each broken brick @@ -14,10 +42,11 @@ public class ScoringSystem { checkForNewHighScore(); } - // Compare Current Score and highest score + // Compare Current Score and Hgihest Score private void checkForNewHighScore() { if (score > highScore) { highScore = score; + saveHighScore(highScore); } } -- GitLab