У меня следующая задача:
Мы хотели бы сохранить наивысший балл игроков в предыдущих играх. Этот счет будет сохранен в файле и будет обновляться в конце каждой игры, если текущий счет выше, чем наивысший результат на данный момент.
Имя файла с наибольшим количеством очков должно быть рекордами и должно быть находится в папке, из которой запускалась игра. Этот файл будет содержать только одну строку со следующим содержанием: Наивысший результат на данный момент: XXX.
Если мы запускаем игру впервые, вам необходимо создать файл с текущим счетом. В конце следующего раза, когда мы запустим игру, вам нужно сравнить новый результат с самым высоким результатом, сохраненным в файле, и обновить файл только в том случае, если вы наберете наивысший балл.
Мой код это:
public class ScorePersistence {
private int score;
private File highscores;
private int currentHighScore;
private ScorePersistence(int finalScore) {
this.score = finalScore;
}
public void ShouldUpdate() {
File highScores = new File("highscores.txt");
if (highScores.exists()) {
if (currentHighScore < the score that inside of highscores.txt){
currentHighScore = the score that inside of highscores.txt
highscores.write("The highest score so far is: "+ the score that inside of highscores.txt)
}
else{
break; //means the currentHighScore is bigger than there is no reason to update the file
}
}
else {
//means that there is no file yet, which means this is the first time we run the game on the computer.
currentHighScore = score;
highScore.write("The highest score so far is: "+ score).
}
}
}
Я получаю "int finalScore" в конце игры от класса, который отвечает за управление уровнями и игрой.
Что вы думаете ? Как вы думаете, следует ли мне получить оценку из этого текстового файла и сравнить ее с «оценкой», полученной мной в текущей игре?
Спасибо. Это простая офлайн-игра. кирпичи и мяч, который в них попадает.