kleine frage

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

tobias12

Betreff: kleine frage

BeitragMo, Nov 10, 2008 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe ein kleines problem.
und zwar habe ich eine load funktion, die in meinem editor problemlos funktioniert.
also ich diese funktion nacher in ein anderes programm reinkopierte, kam bei mir eine fehlermeldung

hier mal den code:
Code: [AUSKLAPPEN]
Graphics 640,480,16,1


Global x,y
Global mapx,mapy
Global tile = 1
Global mx,my
Global karte$

Repeat
SetBuffer BackBuffer()

If KeyHit(38) Then load()

Flip
Until KeyHit(1)



Function load()

karte$ = ReadFile("karte.map")

For y = 0 To 15
For x = 0 To 20
   tile = ReadLine(karte$)
   map(x,y) = ReadInt(karte$)
Next
Next

CloseFile(karte$)

End Function



so, bei map(x,y) = ReadInt(karte$) kommte die fehlermeldugn Expecting ')'

nur sehe ich den fehler nicht.
danke jetzt schonmal im voraus.

tobias12

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Nov 10, 2008 20:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Lese mal zu ReadInt wie es richtig funktioniert. Nicht der Dateipfad sondern das Handle muß da rein als Parameter.

Edit1: Sorry, das Handle karte muß ein Integer sein. Du hast aber es als String initialisiert.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

tobias12

BeitragMo, Nov 10, 2008 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
nur komisch, dass es in einem anderen programm, genau diese funktion, ohne probleme läuft

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Nov 10, 2008 20:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Egal ob es irgendwann irgendwie mal funktioniert hat, es bleibt falsch. Ich habe mir mal die Freiheit genommen und dein Code etwas umgestellt. Versuch unnötige globale Variablen zu meiden. Auch sollte nach Möglichkeit eine Funktion so gemacht werden, dass sie variabel für andere Dinge ist. Variablenamen sollten eindeutig sein. Funktionsnamen sollten auch eindeutig sein, denn später könnte noch LoadHighscore oder LoadUserSettings kommen etc...

Code: [AUSKLAPPEN]
Graphics 640,480,16,1
SetBuffer BackBuffer()

Global MapX,MapY
Global Tile = 1
Global MX,MY
Dim Map(20,15)


Repeat
   
   If KeyHit(38) Then LoadMap("karte.map")
   
   Flip
Until KeyHit(1)




Function LoadMap(FMap$)
   
   Local Karte = ReadFile(FMap$)
   Local X,Y
   
   For Y = 0 To 15
      For X = 0 To 20
         Tile = ReadLine(Karte)
         Map(X,Y) = ReadInt(Karte)
      Next
   Next
   
   CloseFile(Karte)
   Return True
   
End Function


Edit1: Globale Variable Tile ist ein Integer, aber in der Funktion wird ein String auf diese eingelesen. Eventuell solltest du dich noch einmal mit den Variablentypen und dessen Funktionsweise und Anwendung vertraut machen.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

tobias12

BeitragMo, Nov 10, 2008 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
herzlichen danke, es funktioniert

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group