-1

我正在创建一个游戏,需要在不同的人玩它时跟踪高分。我希望它能够自行组织,以便顶级玩家保持在顶部,并且在添加新乐谱时文件并不总是被覆盖。我需要一次保存至少 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您获得足够高的分数以击败它之前,您重玩游戏的次数是多少。

4

1 回答 1

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。一旦你通过这个集合添加了一个循环,就会覆盖这个文件。在这个循环中,您还可以保持要写入的最大分数。

于 2013-10-16T05:55:30.207 回答