我正在制作一款需要跟踪高分的游戏,因为不同的人会玩它。我希望它能够自我组织,以便顶级玩家保持在顶部,并且在添加新分数时并不总是覆盖该文件。我需要一次至少保存6个分数。
这是我的高分写作方法:
public void high_score() throws IOException {
Writer output = null;
String text = "Highscore:" + replay_score;
File file = new File("C:\\Users\\Liam\\Desktop\\BOMB GAME\\Bomb_Highscores.txt");
output = new BufferedWriter(new FileWriter(file));
output.write(text);
output.close();
System.out.println("Your file has been written");
}
replay_score
是你重播游戏的次数,直到你得分足够高才能击败游戏。
答案 0 :(得分:0)
你应该维护SortedSet,但这不是编码方式的简单方法。
假设你有一个用户类
class User implements Comparable<User> {
//implement getter and setter of score and maintain this property
public int compareTo(User o) {
return o.getScore() - this.getScore();
}
}
在您要将分数添加到文件的方法中,您应该逐行读取现有文件,创建用户对象并填充SortedSet。现在为此Set添加新分数。通过此集添加循环后,将覆盖此文件。在此循环中,您还可以保持要写入的最大分数。