Die map von der Festplatte Laden

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

bruce185

Betreff: Die map von der Festplatte Laden

BeitragMo, Aug 01, 2005 4:36
Antworten mit Zitat
Benutzer-Profile anzeigen
hi
ich wollte mal fragen wie ich eine map von der Festplatte Laden kann, ich habe das hier als Level1.Dat Datei abgespeichert:

MMMMMMMMMMMMMMMMMMMMM
MFFFFMFFFFFFFFFFFFFFM
MMMMFMFMFMFMMMMMMMMFM
MFFMFMFMFMFMFFFFFFMFM
MFMMFMMMFMMMFMMMMMMFM
MFMFFFFFFFFFFMFFFFFFM
MFMMMMMMMMMMFMMMMMMMM
MFFFFFFFFFFMFMFFFFFFM
MFFFFFFFFMMMFMMFFFFFM
MFFFFFFFFGFFFFMMFFFFM
MMMMMMMMMMMMFFFMMFFFM
MFFFFFFFFFFMFFFFMMFFM
MFFFFFFFFMMMFFFFFMMFM
MFFFFFFFFGFFFFFFFFMFM
MFFFFFFFFMFFFFFFFFGFM
MMMMMMMMMMMMMMMMMMMMM

ich weiss jetzt nicht wie ich das in mein Spiel Laden kann, für jede hilfe bin ich euch sehr dankbar 8)

bruce185

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Aug 01, 2005 5:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Bruce,
so gehts zum Beispiel:

Code: [AUSKLAPPEN]

Graphics 640,480,0,2
SetBuffer FrontBuffer()

datei=ReadFile("level1.dat")

While Not Eof(datei)
 zeile$=ReadLine$(datei)
 y=y+1

 For x=1 To Len(zeile)
  Color Asc(Mid$(zeile,x,1))*2,0,0
  Rect x*20,y*20,19,19,1
  Color 0,0,0
  Text x*20,y*20,Asc(Mid$(zeile,x,1))
 Next
Wend

CloseFile datei


Würde den Level in ein zwei dimensionales Array (Dim) speichern. Dann kann man später damit auch was anfangen.

garret

BeitragMo, Aug 01, 2005 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Bruce:
Ich nehme an, du willst die Map für dein Pac-Man-Spiel haben, oder?
Statt nun zehn verschiedene Threads zu eröffnen, mach doch lieber einen (z.B. in der Beginner's Corner) auf und stell dort deine Fragen. Dann ist es für alle (und ganz besonders für dich) viel übersichtlicher.


Solltest du das BlitzBasic-Buch von Rene Meyer haben, kannst du auch dort nachlesen, wie man eine Map aus einer Datei ausliest.
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht)

bruce185

BeitragMo, Aug 01, 2005 13:26
Antworten mit Zitat
Benutzer-Profile anzeigen
genau, ich hab das buch von Rene Meyer, aber es ist zu kompliziert beschrieben bei Level von der Festplatte zu Laden, abert trotzdem vielen dank für den tip:

hi "hectic", ich werde dein Code mal ausprobieren, ich melde mich wieder wenn ich es hinbekommen habe, und danke für die antworten Very Happy

bruce185

garret

BeitragMo, Aug 01, 2005 14:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Was ist daran kompliziert?!

So, wie du sie da hinein schreibst, liest du sie doch auch wieder aus.

Dim feld(20,15)
For zeile=0 to 20
For spalte=0 to 15
Writeint datei,feld(zeile,spalte)
Next
Next


Lesen:
For zeile=0 to 20
For spalte=0 to 15
feld(zeile,spalte)=Readint(datei)
Next
Next

Am besten verdeutlichst du dir das in einem eigenen Beispiel.
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht)

Jack

BeitragMo, Aug 01, 2005 14:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum machst du's nicht mit dem MapEditor Question
Wer kein HTML kann und lernen will, der ist wirklich dumm... MFG Dennerlein

bruce185

BeitragMo, Aug 01, 2005 16:42
Antworten mit Zitat
Benutzer-Profile anzeigen
ich möchte das selber schreiben, um das auch zu lernen, deshalb möchte ich das nicht mit dem Map Editor machen, aber trotzdem vieln danke für den tip

"hectic" dein beispiel ist wirklich gut, ich werde ein bisschen rumexperimentieren, um das auch zu verstehen, vielen herzlichen dank Very Happy

bruce185

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Aug 01, 2005 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
bruce185 hat Folgendes geschrieben:
ich möchte das selber schreiben, um das auch zu lernen, deshalb möchte ich das nicht mit dem Map Editor machen, aber trotzdem vieln danke für den tip

"hectic" dein beispiel ist wirklich gut, ich werde ein bisschen rumexperimentieren, um das auch zu verstehen, vielen herzlichen dank Very Happy

bruce185

Hi Bruce, schön das dir der Code gefällt. Ich würde dir aber eher empfehlen einen Mapeditor zu benutzen oder selber zu programmieren. Einen Tiles-Mapeditor selber programmieren ist wesentlich einfacher als ein Pac-Man-Clon zu progen. Ausserdem hast du dann gleich die richtige Grafik wie sie später im Spiel erscheinen wird. So wirst du immer mit einem Texteditor wie Notepad was eintragen müssen, abspeichern, im Spiel einlesen um dann festzustellen das dir das eine Tile nicht neben der anderen gefällt, wieder Spiel beenden, Notepad öffnen, ändern, speichern....

Das Beispiel von Garret ist zudem sehr gut. Er benutzt ein zweidimensionales Array und speichert dort die Werte ein. Vorteil: Es entstehen keine Fehler wie zB vergessen eingetragene Zeichen im Notepad usw.

Anstelle von WriteInt/ReadInt kannst du auch WriteByte/ReadByte benutzen, für ein Packman-Spiel braucht man sicherlich nicht mehr als 256 verschiedene Hintergrundsteine/Tiles...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group