Werte aus einer Textdatei in ein Array schreiben

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

garret

BeitragMo, Aug 14, 2006 1:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja, wer lesen kann ist klar im Vorteil Rolling Eyes
Das Beispiel aus dem BlitzBasic-Buch wird ihm sicher nicht bei seinem Problem helfen...

garret hat Folgendes geschrieben:

Umklammere das Readline() mit Int(), dadurch wird das Eingelesene in eine Ganzzahl umgewandelt. Oder nimm einfach ReadInt()


Du musst ja nicht alles mit WriteLine schreiben, sondern kannst auch hintereinander WriteString, WriteInt oder WriteShort benutzen. Du selbst weißt doch am Besten, wie die Dateien aufgebaut sind. Was du reinschreibst, musst du einfach nur umgekehrt wieder auslesen.

Wenn du nur den Namen des Monsters reinschreibst und der zugehörigen Bilddatei den gleichen Namen gibst, sparst du dir eine Zeile:

(zombie.dat)
Zombie
1
2

Dann liest du nur den Namen aus (Zombie), und lädst im Spiel "gfx\"+monstername+".png", also hier Zombie.png.

MfG garret
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht)
 

Gray Fox

BeitragMo, Aug 14, 2006 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Gut das Laden habe ich so weit ja hinbekommen, aber ich hardere an der Tatsache, dass ich keine Strings in ein Array schreiben kann Wink

garret

BeitragMo, Aug 14, 2006 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Dim A$(x)


erzeugt ein Feld nur für Zeichenketten mit der Größe x (+1, da 0 auch mitzählt). Einfach mal Datentypen ansehen.

MfG garret
>>nec aspera terrent<< (Auch Widerwärtigkeiten schrecken nicht)
 

Gray Fox

BeitragMo, Aug 14, 2006 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
garret hat Folgendes geschrieben:
Code: [AUSKLAPPEN]

Dim A$(x)


erzeugt ein Feld nur für Zeichenketten mit der Größe x (+1, da 0 auch mitzählt). Einfach mal Datentypen ansehen.

MfG garret


Shocked

Sonst hört man von allen Seiten, Arrarys mit Strings klappt net...

Danke werds mal ausprobieren.

StepTiger

BeitragMo, Aug 14, 2006 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
wer sagt denn sowas?

glaub denen nie wieder was!
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Gray Fox

BeitragMo, Aug 14, 2006 20:11
Antworten mit Zitat
Benutzer-Profile anzeigen
StepTiger hat Folgendes geschrieben:
wer sagt denn sowas?

glaub denen nie wieder was!


Vor allem, da es in den "offziellen" Tutorials unter den Teppich gekehrt wird, dass man die Arrays auf für Strings nutzten kann Wink

StepTiger

BeitragMo, Aug 14, 2006 20:30
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst arrays auch für types nutzen
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Gray Fox

BeitragMo, Aug 14, 2006 23:05
Antworten mit Zitat
Benutzer-Profile anzeigen
So langsam klappts Very Happy

Mein Testcode:

Code: [AUSKLAPPEN]

Graphics 640,480,16,2
;Global bild
Dim a$(8)
Global x = 0

If FileType("test.txt") = 1 Then

datei = OpenFile("test.txt")

Repeat
a$(x) = ReadLine$(datei)
x = x + 1
Until Eof(datei) 
CloseFile(datei)

For i = 0 To 7
Print a$(i)
Next
;Bild = LoadImage(a$(3))
;DrawImage bild, 0,100,0

Else

Print "Keine Datei gefunden"

End If


Inhalt der Test.txt:

Zombie
1
2
grafiken\karte_zombie.png
Hunter
2
3
grafiken\karte_hunter.png

Es wird mir der Inhalt angezeigt, Bilder laden geht auch und mit variable = INT(a$(x) kann ich die Strings in Werte umwandeln Smile

Das Einzige was mich noch etwas stört, dass ich noch nich ganz raushabe, wie ich etwas Formatierung in die Txt bringen kann z.B. eine Leerzeile zwischen jeder Karte.

StepTiger

BeitragMo, Aug 14, 2006 23:23
Antworten mit Zitat
Benutzer-Profile anzeigen
indem du nach jeder zeile noch einmal ReadLine(file) machst
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Gray Fox

BeitragMo, Aug 14, 2006 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
StepTiger hat Folgendes geschrieben:
indem du nach jeder zeile noch einmal ReadLine(file) machst


hmm das wäre wohl das Einfachste, aber dann mit ner "tempvar"?
 

0penguin0

BeitragMo, Aug 14, 2006 23:43
Antworten mit Zitat
Benutzer-Profile anzeigen
also wenn du das mal zum laufen gebracht hast (mit den arrays), dann würde ich mal nachsehen, was types sind und es dann nochmal machen.
 

Gray Fox

BeitragDi, Aug 15, 2006 6:30
Antworten mit Zitat
Benutzer-Profile anzeigen
0penguin0 hat Folgendes geschrieben:
also wenn du das mal zum laufen gebracht hast (mit den arrays), dann würde ich mal nachsehen, was types sind und es dann nochmal machen.


Mal schauen, aber erst will ich das Spiel in ein präsentierfähiges Stadium bringen Wink

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group