-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 を維持する必要がありますが、コーディングの点で簡単ではありません。

クラス User があるとしましょう

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();
    }
}

スコアをファイルに追加するメソッドでは、既存のファイルを 1 行ずつ読み取り、User オブジェクトを作成して、SortedSet にデータを入力する必要があります。このセットに新しいスコアを追加します。このセットにループを追加したら、このファイルを上書きします。このループ内で、書きたいスコアの最大数を維持することもできます。

于 2013-10-16T05:55:30.207 に答える