Mehrere Highscores?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Quellcode

    1. game_save(string) Speichert das Spiel als Datei, wobei "string" der Dateiname ist.


    Aber lies dir zusätzlich in der Help mal durch, was alles gespeichert wird und was nicht - damit es nicht zu Überraschungen kommt ;)
    Der Charakter eines Menschen läßt sich leicht daran erkennen, wie er mit Leuten umgeht, die nichts für ihn tun können.
    (anonym)
  • das mit den variablen war nicht so ne gute idee von mir weil wenn das spiel nach dem x-ten room vieleicht abstürzt gehen die highscores von den vorherigen räumen ja verloren...
    also hab ich mich heute nacht mal hingesetzt und ein bissel rumgewerkelt ^^

    und das ist dabei raus gekommen. ich hoffe es hilft dir weiter.
    [PHP]
    // Room-Highscore anlegen oder lesen (Room-start) cad2525 Nov.2004
    {
    var f_name, f_id, name, punkte; // Variablen anlegen

    f_name = "HI_score" + string (room); // Filenamen festlegen (hier die Room-id als teil des Filenamens)
    highscore_clear(); // den alten Highscore (von anderen Rooms) brauchen wir nicht mehr....

    // Prüfen ob das File schon exestiert wenn ja lesen wenn nein anlegen

    if ( file_exists (f_name))
    {
    f_id = file_text_open_read(f_name); // File zum lesen öffnen und File-id merken
    // Daten für Highscore 1 bis 10 einlesen
    repeat (10)
    {
    name = file_text_read_string(f_id); // Namen lesen
    file_text_readln(f_id); // Rest der Zeile weglassen
    punkte = file_text_read_string(f_id); // Punkte lesen
    file_text_readln(f_id); // nochmal Rest weglassen
    highscore_add(name,real(punkte)); // und in die highscoreliste eintragen (Punkte wieder als Zahl)
    }
    file_text_close(f_id); // Daten sind drin also schön das File wieder zumachen ^^
    }
    // File gibts noch nicht -> also erstmal eins anlegen ^^
    else
    {
    f_id = file_text_open_write(f_name); // Erstmal ein File zum schreiben anlegen und wieder File-id merken
    // 10 mal Dummy-Werte eintragen
    punkte = string(10); // is ja noch nicht gespielt worden also score = 10 damit der score auch eingetragen wird
    name = "CAD2525"; // (Hier könnte Ihr Name stehen ^^)
    repeat (10)
    {
    file_text_write_string(f_id,name); // einen "Dummy"-Namen eintragen ^^
    file_text_writeln(f_id); // neue Zeile sonst gibts stress beim lesen ^^
    file_text_write_string(f_id,punkte); // und die Punkte....
    file_text_writeln(f_id); // nochmal ne neue Zeile....
    highscore_add(name,real(punkte)); // und gleich auch in die Highscore-liste von diesem Room eintragen
    }
    file_text_close(f_id); // und nicht vergessen das File wieder zu zu machen ^^
    }
    }
    // den Code könnt ihr beim room-start ausführen....
    // fehlt noch der zum schreiben....
    //--------------------------------------------------------------------------------------------------------------------------------------------------------------
    // Room-Highscore schreiben (Room-ende oder game-over) cad2525 Nov.2004
    {
    var f_name, f_id, nr, name, punkte; // Variablen anlegen

    f_name = "HI_score" + string (room); // Filenamen festlegen (hier die Room-id als teil des Filenamens)

    file_delete(f_name); // weg mit dem alten Room-Highscore

    f_id = file_text_open_write(f_name); // File neu anlegen
    // Plätze von 1 bis 10 holen und schreiben
    for ( nr = 1, nr <= 10, nr += 1)
    {
    name = highscore_name(nr); // Namen aus Highscore holen
    punkte = string (highscore_value(nr)); // Punkte holen als string
    file_text_write_string(f_id,name); // den neuen Namen eintragen
    file_text_writeln(f_id); // neue Zeile sonst gibts stress beim lesen ^^
    file_text_write_string(f_id,punkte); // und die Punkte....
    file_text_writeln(f_id); // nochmal ne neue Zeile....
    }
    file_text_close(f_id); // und nicht vergessen das File wieder zu zu machen ^^
    }

    // diesen Teil hab ich noch nicht getestet aber er müsste funktionieren....
    // ich hoffe das es einigen weiterhilft... ^^
    [/PHP]