Datein Typen
Übersicht

![]() |
YankeeBetreff: Datein Typen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Ich habe mein erstes Spiel jetzt fertig und da, wo es fertg wahr, ist mir aufgefallen, dass ich den highscore vergessen habe ![]() ![]() ![]() Jetzt wollte ich mal fragen, ob mir jmd erklaeren kann, wie das funktioniert, mit den lesen speichern und so.... Ich braechte(wenn das geht) einmal den namen, dann den schwierichkeitsgrad und dann die zeit(wie schnell man war, also der schnellste is der beste) Waehr echt dankbar, wenn ihr mir erklaert, wie das funktioniert.... Danke im Vorraus, Yankee PS: ich habe bei robsite und so schon nachgeschaut und es net kapiert...... |
||
Um so kleiner der code, um so schwieriger den Fehler zu finden:
Siehst du den Fehler? Klick mal hier drauf... hehehe |
![]() |
Ralff |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi,
also zuerst musst du eine datei öffnen, zum beispiel: Code: [AUSKLAPPEN] highscore_datei=readfile("highscore.txt") danach verglichst du jede zeile der datei(zeit,name,schwierigkeit) mit den daten des neuen spielers: Code: [AUSKLAPPEN] high_zeit=readline highscore_datei high_name=readline highscore_datei ... closefile highscore_datei und am ende schreibst du die neue zeit und den neuen namen etc. in die datei: Code: [AUSKLAPPEN] highscore_datei=writefile("highscore.txt") writeline highscore_datei,high_zeit ... hoffe das hilft dir etwas weiter... schau dir die befehle am besten nochmal in der OH an... mfg Ralff |
||
Zieht euch das rein...:
http://myspace.com/ndyderchef Hammertracks, kostenlos... N-Dy rulez |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn es eine begrenzte Anzahl an Highscoreeinträgen geben soll (meistens so), dann würde ich ein etsprechendes Dim-Array dafür anlegen. Neue Einträge kannst du zB per Bubblesort in dieses einsortieren. -Bubblesort ist eines der einfachsten Sortieralgorhythmen. Einfach mal danach suchen-
Beim Speicherformat gibt es unterschiedliche Möglichkeiten. 1) Das einfachste währe per String (ql:WriteLine, ql:ReadLine). Allerdings könnte dann auch jeder die Einträge mit einen einfachen Texteditor manipulieren. 2) Etwas schwieriger währe der Einsatz einer byteweisen Speicherung (zB ql:WriteByte, ql:WriteShort, ql:WriteInt). Hier kann man aber ganz einfach zusätzlich noch einfache Verschlüsselung durch eine XOR-Maske durchführen. Beim ersten kann man dann alles so wieder einlesen, wie man es gespeichert hatte. Bei Werten muß halt nur ein Int(string) vorgesetzt werden um den String wieder in eine Zahl umzuwandeln. Beim zweiten würde ich Bytecodes verwenden, die angeben welche Stelle als nächstes gelesen wird. Ansonsten wird es schwierig das komplette Konzept hier zu beschreiben, da es viele Möglichkeiten gibt. Auch kenne ich dein Kenntnisstand nicht, so währe es besser, wenn hier 'Schrittweise' erklärt wird... |
||
![]() |
Yankee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okee dokee..... Danke nochmal
Ich kapiers zwar net, bin aber schon ein schritt weiter^^. Koenntet ihr mir vllt mal ein bsp hinschreiben? buedde.... Danke, Yankee |
||
Um so kleiner der code, um so schwieriger den Fehler zu finden:
Siehst du den Fehler? Klick mal hier drauf... hehehe |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Beispielcode ohne zu wissen wie du vorgehen willst? Rallf hat zB ein Beispiel gegeben, und ich habe zwei Beispiele erläutert. Wie willst du vorgehen? Wieviele Einträge? Wieviele Schwierigkeitsgrade? Maximalbegrenzung bei Nicknamen ja/nein?
Alles Informationen die wichtig sind, um dir helfen zu können... |
||
![]() |
Yankee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok.... ![]() Dann sage ich mal, was ich wollte...^^(fals es moeglich ist^^) Also.... Ich wollte eine highscoreliste, wo man sieht, wer am besten in der Zeit war. Man sollte seinen namen eingeben koennen, dann die Zeit sehen(der schnellste) und dann am schluss der Schwierichkeitsgrad. Einfach alle schwierichkeitsgrade(easy,middle,schwer) ganz hinten dann.... Also wenn das moeglich waehre, dann bitte mir sagen, damit mein erstes rchtiges Spiel endlcih fertig wird..... Danke im Vorraus, Yankee PS: Kann mir jmd sagen, wie die .txt datei ganz am anfang ausschauen soll? |
||
Um so kleiner der code, um so schwieriger den Fehler zu finden:
Siehst du den Fehler? Klick mal hier drauf... hehehe |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du es ganz einfach haben willst, dann kann man wie folgt vorgehen:
Textdatei mit Inhalt der so ähnlich aussieht: Code: [AUSKLAPPEN] easy 1262Mustermann
easy 3321Yankee easy 15422Mustermann middle 2196Yankee hard 7821Mustermann hard 19675hectic In diesem Beispiel: 6 Zeichen für Schwierigkeitsgrad, 8 Zeichen für Zeiten zB in Sekunden, Name mit maximaler Länge von 256 Zeichen. Das Auslesen erfolgt dann zB so: Code: [AUSKLAPPEN] datei=ReadFile("highscore.txt")
While Not Eof(datei) zeile$=ReadLine$(datei) If Left$(zeile,6)="easy " Print "Zeit: "+Int(Mid$(zeile,7,8)) Print "Name: "+Mid$(zeile,15,256) Print "--" End If Wend CloseFile datei Die Zeit wurde hier schon in eine Zahl umgewandelt (man kann damit also schon rechnen). Beim abspeichern wird dann sortiert etc... Willst du eine Zeile mit den Vorgaben (8,6 und bis 256) in eine Datei speichern, dann kannst du es so machen. zB on the fly Code: [AUSKLAPPEN] WriteLine datei,"easy "+right$(" "+str$(zeit),8)+name$
|
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
hab das Forum mal durchstöbert und einen alten Beitrag gefunden Da steht bestimmt etwas nützliches drin. https://www.blitzforum.de/foru...=highscore |
||
[BB2D | BB3D | BB+]
|
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo, genau danach hatte ich auch schon gesucht, aber wohl zu früh wieder aufgegeben... ![]() |
||
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ralff:
zu funktionen, die etwas zurückgeben sollen, MUSST du klammern nehmen: also ...=ReadByte(datei) ![]() |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group