In Java einen Highscore programmieren?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wenn ich das richtig verstanden habe, wollt ihr einmal die Bestzeit haben und wenn diese geschlagen wird, das diese ersetzt wird.

Das könnt ihr doch einfach so machen, indem ihr eine Variable highscore anlegt. Nach dem Ende jedes durchlaufes wird durch eine if-Abfrage geprüft, ob die neue Zeit höher ist als die Bestzeit oder nicht.

Wenn ja: überschreibe sie einfach mit der neuen Zeit (mach das selbe mit dem Namen)

Wenn neine: gebe den Highscore aus mit dem Namen.

[CODE]

int highscore = 0;                                                                           String highscore_name;                                                                int geschaffte_Zeit;                                                                             String name;

//Code

if(geschaffte_Zeit >highscore)

{

highscore = geschaffte_Zeit ;

highscore_name = name;

}else{

System.out.println("Der Highscore von "+highscore_name+" mit der Punktzahl "+highscore+" wurde nicht geschlagen");

}

[/CODE]


Danke :) Das klingt für mich eigentlich logisch. Wenn`s jetzt noch funktioniert dann ist das super. Danke noch mal du hast mir echt weitergeholfen :)

0

Ich habe damals in der Schule zu manchen Spielen auch einen High-Score programmieren müssen.

Habe das ganze über eine externe Textdatei gelöst.

Bedeutet also, nachdem ihr erkannt habt, ob der High-Score überboten wurde, speichert ihr die Zahl in einem Textdokument.

PrintWriter pw = new PrintWriter("path.txt", "UTF-8");
pw.println(highscore);
pw.close();

Die Datei könnt ihr dann auch auslesen um den aktuellen High-Score anzeigen zu lassen.

MfG, TheErdnuss

Ja das ist genau das, was auf den anderen Seiten auch stand aber ich muss ganz ehrlich sagen, dass ich da nicht wirklich durch blicke.. :/

0
@Dreamer3110

Was genau verstehst du denn nicht?

Den PrintWriter gibt es in Java, vielleicht musst du ihn importieren, aber das sollte ja machbar sein.

Wie du ein Objekt erzeugst, sollte dir doch auch klar sein also macht die erste Zeile doch eigentlich Sinn für dich, oder nicht?

Die zweite Zeile schreibt den Wert, den du in Klammern einträgst, in die Datei, die du bei der Erzeugung mitgibst.

Und die letzte Zeile schließt einfach nur den PrintWriter, aus Performancegründen.

0
@Dreamer3110

Sag bescheid, falls ich dir helfen kann.
Musst nur sagen wo genau das Problem liegt ;)

0

Verstehe das Problem nicht wenn ihr den Rest auch geschafft habt. Ihr speichert den Bestwert in einer Variable. Beim nächsten Durchlauf vergleicht man die Werte und fragt ggf. nach dem Namen und speichert den auch.

Wenn du das so machst, ist der High-Score allerdings nur solange da, wie das Programm läuft. Sobald du es neu startest, ist er wieder zurückgesetzt.

0
@TheErdnuss

In der Frage wurde erwähnt dass es nur während das Programm läuft gespeichert werden soll.

0

Das war mir schon klar aber ich hab ja nach einem möglichst einfachen Weg gesucht das umzusetzten..

0

Was möchtest Du wissen?