Level einlesen und speichern

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

orpheus_2003

Betreff: Level einlesen und speichern

BeitragMo, Aug 08, 2005 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi zusammen.

Ich bau mir gerade den Leveleditor für Gazerstar.
Mit den Grundfunktionen bin ich fertig.
Jetzt gehts nur noch ums speichern:
Geladen wird so:
Es gibt eine scrolling.dat
Da sind die leveldaten drin.
000 000 1AA usw
000 1Ba 000 usw

Code:
Dim Level$(15,255)
leveldatei = ReadFile("scrolling.dat")
For Zeile=0 To 14
A$ = ReadLine(leveldatei)
For Spalte=0 To 254
Level$(Zeile,Spalte) = Mid$(A$, (Spalte*4) +1, 3)
Next
Next
CloseFile leveldatei

Nun ändere ich im Leveleditor die Parameter.
zeigts auch super an.
Nun will ich wenn ich fertig bin die ganze Choose speichern.
Auf Knopfdruck.
Doch da blick ich nicht durch:
Kann mir jemand bitte helfen beim Code?
Thx
Mike

Gedacht war der so:

Code:

; Speichern
Function speichern()
if KeyHit(31) Then
leveldatei = WriteFile("scrolling.dat")
For Zeile=0 To 14
For Spalte=0 To 254
WriteLine Level$(spalte,zeile)
Next
Next
CloseFile leveldatei
EndIf
End Function
GazerStar - the beginning
http://gazerstar.lexigame.de/
Wizard (Worktitel)
http://wizard.lexigame.de

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Aug 08, 2005 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
// EDIT

Hi Orpheus,
da du ein 2 dimensionales Array hast und auch so speichern möchtest, würde ich lieber WriteByte/Readbyte oder WritwInt/ReadInt benutzen. Bei WritwLine wird bereits eine ganze Zeile (zum Beispiel: X-Felddaten) gespeichert. Da macht das doppelte verschachteln der Schleifen beim lesen/schreiben keinen Sinn. Bei WriteLine müsstest du erst eine Zeile generieren und dann komplet abspeichern.

Das würde dann in etwa so aussehen:

; Speichern
Function speichern()
if KeyHit(31) Then
leveldatei = WriteFile("scrolling.dat")
For Zeile=0 To 14
neuezeile$=""
For Spalte=0 To 254
neuezeile=neuezeile+Level$(spalte,zeile)
Next
WriteLine neuezeile
Next
end if
end Funtion

On the fly geschrieben.

orpheus_2003

Betreff: Hey. Vielen Dank

BeitragDi, Aug 09, 2005 9:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab nun meinen Leveleditor fertig. Fürs erste.
Ihr wisst. Ich bin alleine.
Aber er tut sein Pflicht.
Nun werd ich mich ums Leveldesign und Gegner kümmern.
Das Hauptspiel ist im Grund fertig.
Mal sehen.
Auf meiner Page seht ihr ein paar Screenshots der neuen Version.
Ich stells aber erst hier rein, wenn ich ne gute, funzige Version fertig hab.
Die Demo auf der Page läuft auch schon. Aber wie gesagt.
Nur 1 Level, und net gut ausbalanciert.

Danke für die super Hilfe hier in diesem Forum.

Der Code läuft nun.

; Speichern
Function speichern()
if KeyHit(31) Then
leveldatei = WriteFile("scrolling.dat")
For Zeile=0 To 14
neuezeile$=""
For Spalte=0 To 254
neuezeile$=neuezeile$+Level$(zeile,spalte)+" "
Next
WriteLine leveldatei,neuezeile$
Next
end if
End Function



Thx an alle
GazerStar - the beginning
http://gazerstar.lexigame.de/
Wizard (Worktitel)
http://wizard.lexigame.de

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group