保持有组织的分数记录

时间:2013-10-16 04:56:11

标签: java eclipse filewriter

我正在制作一款需要跟踪高分的游戏,因为不同的人会玩它。我希望它能够自我组织,以便顶级玩家保持在顶部,并且在添加新分数时并不总是覆盖该文件。我需要一次至少保存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是你重播游戏的次数,直到你得分足够高才能击败游戏。

1 个答案:

答案 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添加新分数。通过此集添加循环后,将覆盖此文件。在此循环中,您还可以保持要写入的最大分数。