Ich möchte statische Daten möglichst kompakt im Programm ablegen.
Dazu habe ich einen Source auf der PureBasic.com Seite gefunden.
Das Programm heisst Ladys Garden.
Ich kann erkennen, dass die Daten in einem Array gespeicher werden.
Was ich nicht herausfinden konnte, ist wie diese Daten aus der "DataSection" gelesen werden.
Im Manual hab ich auch zu DataSection nichts gefunden.
Kann mir jemand erklären wie das funktioniert, oder gibt es eine bessere Methode statische Daten abzulegen?
Danke für jede Hilfe.
http://www.purebasic.com/download/examp ... sGarden.pb
DataSection ;maze data and movement data for Lady
level1: ;each level has 2 sets of maze data
Data.l 1,1,1,1,1,1,1,1,1,1,1,1
Data.l 1,3,5,5,5,5,5,5,5,5,5,1
Data.l 1,5,2,2,5,1,1,5,2,2,5,1 ;1 = bush1
Data.l 1,5,2,5,5,5,5,5,5,2,5,1 ;2 = bush2
Data.l 1,5,2,5,2,2,2,2,5,2,5,1 ;3 = no flower (space)
Data.l 1,5,5,5,5,5,5,5,5,5,5,1 ;5 = flower
Data.l 1,5,1,1,5,1,1,5,1,1,1,1
Data.l 1,5,5,5,5,5,5,5,5,5,5,1
Data.l 1,5,2,5,2,2,2,2,5,2,5,1
Data.l 1,5,2,5,5,5,5,5,5,2,5,1
Data.l 1,5,2,2,5,1,1,5,2,2,5,1
Data.l 1,5,5,5,5,5,5,5,5,5,5,1
Data.l 1,1,1,1,1,1,1,1,1,1,1,1
Data.l 74 ;number of flowers to collect
[/url]
DataSection ?
DataSection ?
Denke nie gedacht zu haben denn das Denken der Gedanken ist gedankenloses Denken und wer denkt er denkt der denkt nur dass er denkt aber denken tut er nie.
Die Daten werden mit PeekL() ausgelesen. (Hab den Code jetzt nicht gelsen)
du gibst dann einfach an wo das zu suchen ist.
Datasection ist immer dann gut wenn man keine Extradateien ablegen will.
Man kann in so ne Datasection mit IncludeBinary ja auch Dateien reinlegen und dann mit CatchImage() oder so lesen.
Adresse: ?level1 + Kommastelle + Zeile*12
Da braucht man dann auch kein Array für.
du gibst dann einfach an wo das zu suchen ist.
Datasection ist immer dann gut wenn man keine Extradateien ablegen will.
Man kann in so ne Datasection mit IncludeBinary ja auch Dateien reinlegen und dann mit CatchImage() oder so lesen.
Adresse: ?level1 + Kommastelle + Zeile*12
Da braucht man dann auch kein Array für.
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
@Batze
argl... Data werden mit Read ausgelesen... >_<
natürlich kann man die auch mit Peek auslesen, aber machs erstmal easy, hier ist der anfänger-bereich
@Thomas
...außerdem müßte in der help was drin stehen...
geh einfach mal mit dem Cursor auf den begriff DataSection, und drück F1
...mal ein kleines sample:
argl... Data werden mit Read ausgelesen... >_<
natürlich kann man die auch mit Peek auslesen, aber machs erstmal easy, hier ist der anfänger-bereich
@Thomas
...außerdem müßte in der help was drin stehen...
geh einfach mal mit dem Cursor auf den begriff DataSection, und drück F1
...mal ein kleines sample:
Code: Alles auswählen
Restore Label
Q.l
For N = 0 to 15
Read Q
Debug Q
Next
End
DataSection
Label:
Data.l 37, 45, 21, 99, 52, 64, 92, 37, 45, 17, 86, 69, 42, 58, 23, 71
EndDataSectionDer Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
DarkDragon
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Kaeru Gaman hat geschrieben:@Batze
argl... Data werden mit Read ausgelesen...
Is doch egal wie mans macht, es ist doch immer ein Speicherbereich.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Danke für die Tips
Das mit DataSection F1 funktioniert tatsächlich.
Ich hatte in der Hilfe im Index DataSection und Read eingetippt und dabei nichts gefunden.
Ich hatte in der Hilfe im Index DataSection und Read eingetippt und dabei nichts gefunden.
Denke nie gedacht zu haben denn das Denken der Gedanken ist gedankenloses Denken und wer denkt er denkt der denkt nur dass er denkt aber denken tut er nie.
- Andre
- PureBasic Team
- Beiträge: 1765
- Registriert: 11.09.2004 16:35
- Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10 - Wohnort: Saxony / Deutscheinsiedel
- Kontaktdaten:
Re: Danke für die Tips
Im Index fehlen die Schlüsselwörter.ThomasT hat geschrieben:Das mit DataSection F1 funktioniert tatsächlich.
Ich hatte in der Hilfe im Index DataSection und Read eingetippt und dabei nichts gefunden.
Muss ich gleich nochmal Fred erinnern.