Seite 1 von 1

Hilfe bei Lervelerstellung

Verfasst: 27.04.2005 02:46
von Mike0484
Guten abend wünsche ich euch,
Ich habe mir ein Blitzbasic Tutorial angeschaut und das beschriebene etwas für Purebasic abgewandelt aber jetzt abe ich ein Problem
Wenn ich versuche die Daten auszulesen bekomme ich den fehler:
Error at line 14: Read data error: no more data.
Aber es sind doch genug daten vorhanden, in dem Blitzbasic Tutorial geht es so doch auch. Wie muss ich es abändern dass es functioniert. Ich hänge schon 3 Tage an dem Porblem ich komme einfach nicht drauf. Also bitte, Hilffeee

Code: Alles auswählen

InitSprite()
InitKeyboard()

OpenScreen(1024, 768, 16, "Test")

Dim map(20,20)

LoadSprite(0, "wall.bmp")

Restore map

For y = 0 To 20
  For x = 0 To 20
    Read map(x,y)
  Next
Next



Repeat
  
  ExamineKeyboard()
  
  ClearScreen(0, 0, 0)
  
  For y = 0 To 20
    For x = 0 To 20
      If map(x,y)=1
        DisplaySprite(0, x*16, y*16)
      EndIf 
    Next
  Next 
  
  FlipBuffers()
  
Until KeyboardPushed(1)

DataSection

map:
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Data.b 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

EndDataSection

Verfasst: 27.04.2005 07:22
von DrShrek
Ändere mal wie folgt:

Code: Alles auswählen

Dim map.b(20,20) 

Verfasst: 27.04.2005 11:56
von Mike0484
:o ne oder :o
also da hätte ich auch wirklich selber drauf kommen können :oops:
und ich überlege ewig warum es nicht geht
Danke dir IceSoft

Verfasst: 29.04.2005 17:16
von Kaeru Gaman
zur erklärung:

da PB eine compilersprache ist, werden die DATA-zeilen einfach direkt in den speicher geschrieben.
wenn du DATA.b hast, benutzt er ein byte pro zahl.

wenn die variable bei read dann aber ne long ist, werden vier speicherstellen pro read in die variable gepackt.