Hilfe bei Lervelerstellung

Anfängerfragen zum Programmieren mit PureBasic.
Mike0484
Beiträge: 28
Registriert: 26.03.2005 16:10

Hilfe bei Lervelerstellung

Beitrag 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
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Ändere mal wie folgt:

Code: Alles auswählen

Dim map.b(20,20) 
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Mike0484
Beiträge: 28
Registriert: 26.03.2005 16:10

Beitrag 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
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten