Highscore.txt schreiben [gelöst]

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Chrissa

Betreff: Highscore.txt schreiben [gelöst]

BeitragSo, Jan 31, 2010 20:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute ich bins mal wieder!

Ich möchte für mein game ne Highscore.txt schreiben (nur die Höchste Punktzahl soll gespeichert werden, also nur ein Wert)
Dazu habe ich 2 Funktionen geschrieben:
BlitzBasic: [AUSKLAPPEN]

Global zwischenstand
Global hiscore
.
.
.


Function scoreopen()
hiscore=ReadFile("Highscore.txt")
zwischenstand=ReadFile("Highscore.txt")
End Function

Function scorewrite()
If hiscore > zwischenstand Then
datei=OpenFile("Highscore.txt")
SeekFile datei,0
WriteLine datei,hiscore
CloseFile datei
EndIf
End Function


Nach dem Start des Programms wird die Funktion scoreopne() ausgeführt, aber ein total falscher Wert wird als hiscore angezeigt.
Jetzt die Frage: Was ist an den Funktionen falsch?

Vielen Danke im Voraus

MfG Chrissa
  • Zuletzt bearbeitet von Chrissa am So, Jan 31, 2010 21:54, insgesamt einmal bearbeitet

Holzchopf

Meisterpacker

BeitragSo, Jan 31, 2010 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ReadFile gibt ein Integer-Handle der geöffneten Datei zurück, das was du willst (bei zwischenstand), ist aber der Inhalt der bereits geöffneten Datei auslesen. Schreib einfach
BlitzBasic: [AUSKLAPPEN]
zwischenstand=Int(ReadLine(hiscore))


Achja: Und vergiss nicht, CloseFile nach dem Lesen /Schreiben anzuwenden.

mfG

Edit
Moment, ich seh grad, dass das wahrscheinlich gar nicht das ist, was du willst. Probier mal:
BlitzBasic: [AUSKLAPPEN]
Function scoreopen()
datei=ReadFile("Highscore.txt")
hiscore=Int(ReadLine(datei))
zwischenstand=hiscore
CloseFile(datei)
End Function

Ist höchstwahrscheinlich eher das, was du wolltest. Eben, ReadFile gibt anders als in anderen Sprachen nicht den Inhalt der Datei zurück, sondern nur ein Handle das gebraucht wird um danach Datei-Lese-Operationen durchzuführen...
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Chrissa

BeitragSo, Jan 31, 2010 20:43
Antworten mit Zitat
Benutzer-Profile anzeigen
ok auslesen funktioniert jetzt Smile
Allerdings wird der neue score nicht reingeschrieben... Sollte eigentlich mit der Funktion scorewrite funktionieren oder hab ich da auch nen Fehler drinn??

hazumu-kun

BeitragSo, Jan 31, 2010 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich müssen "hiscore" und "zwischenstand" Global sein, ansonsten ist da kein Fehler drinne.

Die Zeile mit dem SeekFile darfst du dir sparen, wenn eine Datei frisch geöffnet wird ist der
Lese-/Schreibzeiger automatisch auf 0.
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Chrissa

BeitragSo, Jan 31, 2010 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
habs gelöst Smile funktioniert jetzt. Funktion stimmt hatte nur vergessen sie an allen Stellen, an denen das Spiel abgebrochen werden kann einzufügen Wink

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group