Thema : Mein Problem mit dateibefehlen Teil 2

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Freeman

Betreff: Thema : Mein Problem mit dateibefehlen Teil 2

BeitragFr, Apr 09, 2004 1:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

also ich hab grad ein bisschen mit den Befehlen herumgespielt und mir is die Idee gekommen (ohh, wow) das ich meine Maps als externe Dateien speichern könnte . Dazu wollte ich in der Datei alles reinschreiben sprich :

data 12..........................

soetwas ebn. Jetzt benutze ich mehrere Layer für eine Map und ich dachte mir du gibst in die Datei einfach Schlüsselwörter ein, nachdenen du beim einlesen suchst, und dem Programm somit sagst wo es sich grad befindet.

Gibt es einen Befehl um nach bestimmten Strings in Dateien zu suchen?
Wenn ja. bitte nennt mir den namen, danke

mfg FrEeMaN
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

Suco-X

Betreff: ......

BeitragFr, Apr 09, 2004 1:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah ja. Du könntest aber auch einfach den data mißt aus der Datei rauslassen und Bytes und Ints für Tile Id´s etc zum speichern benutzen in der Datei. Gibt es doch paar Tutorials für, ich dachte jeder Anfänger stößt mal auf die Schriften von Blitzmaster oder Rob.
bye
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB

DC

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragFr, Apr 09, 2004 1:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm das geht einfacher - du willst eigentlich ja nur ein mehrdimensionales Array speichern, oder?

Würde ich so machen:
(Hier als Beispiel ne 100x100 Map mit 3 Layern)
Code: [AUSKLAPPEN]

Dim map(100,100,2)

Function speichern(file$)
   Local stream=WriteFile(file$)
   For x=0 To 100
      For y=0 To 100
         For layer=0 To 2
            WriteByte(stream,map(x,y,layer))
         Next
      Next
   Next
   CloseFile(stream)
End Function

Function laden(file$)
   Local stream=ReadFile(file$)
   For x=0 To 100
      For y=0 To 100
         For layer=0 To 2
            map(x,y,layer)=ReadByte(stream)
         Next
      Next
   Next
   CloseFile(stream)
End Function
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com |
www.CarnageContest.com | www.Stranded3.com

Gossi

BeitragFr, Apr 09, 2004 10:59
Antworten mit Zitat
Benutzer-Profile anzeigen
So würd ich's auch machen. Geht aber schwerer, wenn die Felder verschieden groß sind. Aber ansonsten ist das wirklich die beste Lösung.
Alle Wasser laufen ins Meer, doch wird das Meer nicht voller; an den Ort, dahin sie fließen, fließen sie immer wieder. (...) Was geschehen ist, eben das wird hernach sein. Was man getan hat, eben das tut man hernach wieder, und es geschieht nichts neues unter der Sonne. Geschieht etwas, von dem man sagen könnte: "Sieh, das ist neu"? Es ist längst vorher auch geschehen in den Zeiten, die vor uns gewesen sind.
 

Omenaton_2

BeitragFr, Apr 09, 2004 11:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt viele Möglichkeiten.
Mein Map ist in Banks drin. Bank ist sehr einfach, linear aufgebaut und kann am einfachsten gespeichert und gelesen werden.

Hier die Grundidee.

Bank
Offsets:
0 = Level Name, ID
1 = horizontale Größe
2 = vertikale Größe
4 = Inhalt von Feld 1 Layer 1
5 = Inhalt von Feld 1 Layer 2
6 = Inhalt von Feld 1 Layer 3
7 = Inhalt von Feld 1 Layer 4
8 = Inhalt von Feld 2 Layer 1
9 = Inhalt von Feld 2 Layer 2
10 = Inhalt von Feld 2 Layer 3
11 = Inhalt von Feld 2 Layer 4

etc...

Freeman

BeitragFr, Apr 09, 2004 11:56
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Omenaton_2

kannste mal nen Beispiel schreiben? danke


mfg FrEeMaN
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

TheShadow

Moderator

BeitragFr, Apr 09, 2004 12:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Omenaton_2 - das ist die Beste Möglichkeit - nur würde ich jeden layer einzeln so speichern (also pro layer eine bank)
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group