You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.3 KiB

  1. package playground;
  2. import java.io.*;
  3. import java.util.Scanner;
  4. import org.apache.logging.log4j.Logger;
  5. import org.apache.logging.log4j.LogManager;
  6. // Klasse um Highscore umzusetzen
  7. public class HighscoreManager {
  8. Scanner s;
  9. private static Logger logger = LogManager.getLogger(HighscoreManager.class);
  10. public HighscoreManager() {
  11. try {
  12. File f = new File("./highscore.txt");
  13. if (!f.exists()) {
  14. logger.warn("WARNING: Highscore file was not found and reset");
  15. writeHSToFile(0, -1);
  16. }
  17. s = new Scanner(f);
  18. } catch (FileNotFoundException e) {
  19. e.printStackTrace();
  20. }
  21. }
  22. public int readHSFromFile() {
  23. if (s.hasNext()) {
  24. int highscore = s.nextInt();
  25. return highscore;
  26. }
  27. return 0;
  28. }
  29. public static void writeHSToFile(Integer pts, Integer highscore) {
  30. String highscore2 = String.valueOf(pts);
  31. BufferedWriter bw;
  32. try {
  33. if (pts > highscore) {
  34. FileWriter fw = new FileWriter("./highscore.txt");
  35. bw = new BufferedWriter(fw);
  36. bw.write(highscore2);
  37. bw.close();
  38. logger.info("Highscore file was opened and saved score: " + highscore2);
  39. }
  40. } catch (IOException e) {
  41. logger.error("File for Highscore not writeable! Score lost.");
  42. }
  43. }
  44. public void closeFile() {
  45. s.close();
  46. }
  47. }