Level einlesen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Gast

Betreff: Level einlesen

BeitragFr, März 05, 2004 16:35
Antworten mit Zitat
Hi
Weiß jemand, wie man ein Level einliest und darstellt?
Ich habe es schon versucht aber es hat nicht geklappt
(man konnte nichts sehen) Sad

Vielen dank im voraus

Saibot
 

OJay

BeitragFr, März 05, 2004 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
zeig uns deinen code, und wir helfen dir. wir sind NICHT dafür da, dir die schreibarbeit abzunehmen!

Travis

BeitragFr, März 05, 2004 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Laughing Ein bisschen genauer musst du es schon erklären. Um was für ein Spiel handelt es sich denn? Was ist in der Leveldatei enthalten? Benutzt du Types, DIM-Felder oder andere Variablen? 2D oder 3D?
www.funforge.org

Ich hasse WASD-Steuerung.

Man kann alles sagen, man muss es nur vernünftig begründen können.

Mike Nike

BeitragFr, März 05, 2004 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hör auf Travis! Wink
und les René Meyers Buch oder lies dir die Tutorials auf www.blitzbase.de durch, ansonsten läufst du der Gefahr entgegen, dass du auf das Newbie-Gedicht von Hot-Bit verwiesen wirst, dass IonPainter im .ogg-Format vertont hat...

Ich helf dir jetzt aber mal mit ein wenig Code...(habs nicht getestet, aber müsste klappen)

https://www.blitzforum.de/view...highlight=
Dem nach zu urteilen hast du wohlmöglich BB2D und dein Problem ist wahrscheinlich eine 2D-Map einzuladen, dessen Werte vom Typ Integer sind.

Hier mal ein bisschen BB-Code zum einladen einfacher Maps mit Data

Code: [AUSKLAPPEN]


global x_max,y_max
dim map(0,0)

;Map einlesen
restore mapdata
read x_max
read y_max
dim map(x_max,y_max) ; ReDim
for y=1 to y_max
 for x=1 to x_max
  read map(x,y)
 next
next

;Map anzeigen
graphics 800,600,16,1
setbuffer backbuffer()

repeat
 cls
 for y=1 to y_max
  for x=1 to x_max
   rect x*50,y*50,50,50,map(x,y)
  next
 next
 flip
until keyhit(1)

;Mapdaten: 0=nichts, 1=Wand
.mapdata
data 6,4
data 1,1,1,1,1,1
data 1,0,0,0,0,1
data 1,0,0,0,0,1
data 1,1,1,1,1,1


Diesen Code könnte ich mittlerweile im Schlaf hinschreiben Wink
Deswegen wars auch nur Schreibarbeit und keine wirkliche Denkarbeit mehr...

Dein Problem war vielleicht, dass du mit CLS falsch umgegangen bist
oder die Map falsch geladen hast
oder schlicht vergessen hast, diese richtig auf dem Bildschirm zu platzieren...

Edit:

Einlesen einer Leveldatei mit ähnlichem Format, wie im Label "mapdata":
Ist absichtlich so basic, bzw. so unoptimiert gehalten...

FileLevel=readfile("level1.map")
x_max=readline(FileLevel)
y_max=readline(FileLevel)
dim map(x_max,y_max) ; ReDim
for y=1 to y_max
for x=1 to x_max
map(x,y)=readline(FileLevel)
next
next
closefile FileLevel

In der Datei level.map steht dann
4
6
1
1
1
1
1
1
0
.
.
.
usw.
..where the only limit is your imagination.
  • Zuletzt bearbeitet von Mike Nike am Sa, März 06, 2004 1:48, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragFr, März 05, 2004 19:57
Antworten mit Zitat
Benutzer-Profile anzeigen
...und du kannst auch gern unter deinem normalen nick posten, tobi ... Wink
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Flori-D

BeitragFr, März 05, 2004 20:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja du könntest jedes Level in ne Fnction machen.Wenn die siegesbedingung von Level1 geschafft sind rufst du einfach Level2 auf.
Korrigiert mich wenns ne doofe Idee ist.
BB is Macht!

Homepage: www.flori-d.de

Hubsi

BeitragSa, März 06, 2004 0:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist eine doofe Idee Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Holzchopf

Meisterpacker

BeitragSa, März 06, 2004 0:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hubsi: Das ist nicht korrigieren, das ist kritisieren.

Flori-D: Die Idee ist kaum zu empfehlen. Für jedes Level eine Funktion??? Buh, das sprengt denn Quellcode - und dann kommt noch hinzu, dass man mit dieser Variante keine externen Levels gebrauchen könnte, und darum gings ja hier eigentlich.
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

Hubsi

BeitragSa, März 06, 2004 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
War mehr als joke gemeint Wink Entschuldigt den OT.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Michi1988

BeitragSo, März 07, 2004 1:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich mache das genau so.
Ich lasse die x,y Werte und den Frame in eine
Datei schreiben. Das bringts. dann verschiedene Dateien einmal
für Häuser oder für Links,NPCs und so weiter. Alles was eine andere
form hat außer z.B. 20x20 was mir sehr zusagt. Bei kleinen Maps
mit der auflösung 800x600 würde ich vorschlagen Types zu nehmen.
Sie sind bei einer so geringen Stückzahl noch sehr schnell.
Collide Befehle sind so auch besser zu machen bzw. Bewegungen mit
dem TYPE.

Post Scriptum: Hoffe es hat geholfen; kann hier einer vernümpftig Netzwerk mit Ganxta BB?

Der Progger
 

Gast

BeitragDo, März 11, 2004 16:28
Antworten mit Zitat
`s klappt Very Happy Very Happy

Danke für die Hilfe!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group