Hallo allerseits,
hatte vor ein paar Wochen schon mal eine ähnliche Frage gestellt! Allerdings immernoch keine Lösung gefunden!
Ich habe folgende HighScore Liste :
Wenn mein Spieler das Ziel erreicht hat, dann schreibt er einen Eintrag mittels der HighScoreList.saveScore(score, spielername) die Daten in eine .txt (highscore.txt)!
Danach benutze ich den Befehl initHighScore und lade die Daten in mein Spiel! Allerdings erscheint der neue Datensatz nicht!
Kann ich die HighScoreListe irgendwie "refreshen"`?? Muss in der initHighScore() etwat veränder/hinzugefügt werden?
Danke schonmal ;-)
PS: ich übernehme die Werte player1, player2 .... in mein Spiel indem ich dort initHighScore() aufrufe!
hatte vor ein paar Wochen schon mal eine ähnliche Frage gestellt! Allerdings immernoch keine Lösung gefunden!
Ich habe folgende HighScore Liste :
Code:
package util;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Properties;
import java.util.SortedMap;
import java.util.TreeMap;
public class HighScoreList{
private static Properties p;
private static InputStream inStream;
private static OutputStream out;
private static SortedMap<Float, String> playerMap;
private static String player1, player2, player3, player4, player5;
public static void initHighScore(){
p = new Properties();
try {
inStream = new FileInputStream("highscore.txt");
p.load(inStream);
} catch (IOException ex) {
ex.printStackTrace();
}
Enumeration<?> players = p.propertyNames();
playerMap = new TreeMap<Float, String>();
while(players.hasMoreElements()){
String player = (String) players.nextElement();
float score = Float.parseFloat(p.getProperty(player));
playerMap.put(score, player);
}
String[]array = new String[600];
int i = 0;
//Sortierte Liste ausgeben
for (Float score : playerMap.keySet()){
array[i] = "" + score + " sec - " + playerMap.get(score);
i++;
}
player1 = array[0];
player2 = array[1];
player3 = array[2];
player4 = array[3];
player5 = array[4];
// saveScore(77, "Lalala");
}
public static void saveScore(final float score, final String player){
try {
out = new FileOutputStream("highscore.txt", true);
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
p.put(player, String.valueOf(score));
try {
p.store(out, "");
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
Wenn mein Spieler das Ziel erreicht hat, dann schreibt er einen Eintrag mittels der HighScoreList.saveScore(score, spielername) die Daten in eine .txt (highscore.txt)!
Danach benutze ich den Befehl initHighScore und lade die Daten in mein Spiel! Allerdings erscheint der neue Datensatz nicht!
Kann ich die HighScoreListe irgendwie "refreshen"`?? Muss in der initHighScore() etwat veränder/hinzugefügt werden?
Danke schonmal ;-)
PS: ich übernehme die Werte player1, player2 .... in mein Spiel indem ich dort initHighScore() aufrufe!