Programm startet und beendet sofort nach Drawtext

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

Firstdeathmaker

Betreff: Programm startet und beendet sofort nach Drawtext

BeitragDo, Mai 19, 2005 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Irgentwie ist das komisch: Das Programm startet und beendet sofort wieder, wenn ich beim Drawtext versuche Variable Sachen anzuzeigen. Wenn ich die Variable durch "Testtextlaberlaber" ersetzte funktioniert alles normal...:

BlitzBasic: [AUSKLAPPEN]
Const GFX_X=1280
Const GFX_Y=1024



Graphics gfx_x,gfx_y

SetMaskColor 255,0,255
tmptile=LoadImage(\"Bodentiles\1.PNG\")
cursor=LoadImage(\"Bodentiles\cursor.PNG\")


Local MAP[19,19]


For i=0 To 19
For i2=0 To 19
MAP[i,i2]=1
Next
Next




Repeat
Cls
For i=0 To 19
For i2=0 To 19
DrawImage(tmptile,i*32-i2*32,i2*16+i*16)
Text$=i+\"/\"+i2
DrawText Text,i*32-i2*32,i2*16+i*16
Next
Next

DrawImage cursor,MouseX(),MouseY()

Flip
FlushMem
Until KeyHit(27)
End


Weis jmd die Lösung dieses Rätsels?
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

Artemis

BeitragDo, Mai 19, 2005 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Was hat dan in B+ zu suchen?
2. Du kannst keine Vriable wie eine Funktion nennen!
 

Dreamora

BeitragDo, Mai 19, 2005 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Debug Modus einstellen, dann siehst du wo das Problem auftritt.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Firstdeathmaker

BeitragDo, Mai 19, 2005 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh, entschuldigt bitte, ich habe mich bei den Foren vertan!

Ich weis jetzt wo der Fehler liegt: Beim Array. Gibt es bei Blitzplus keine Dim-Felder ähnlichen Sachen mehr?

@ Mods: Könntet ihr den Thread bitte nach BlitMax->Beginner verschieben?
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

BladeRunner

Moderator

BeitragDo, Mai 19, 2005 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~

Gruss BladeRunner
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Dreamora

BeitragDo, Mai 19, 2005 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~

Falsches Forum
Dreamora


was das Problem betrifft: Du darfst keine keywords und funktionen von modulen verwenden als variablennamen, das mag BlitzMax garnet.
also einfach text$ durch text_input$ ersetzen oder so Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Firstdeathmaker

BeitragDo, Mai 19, 2005 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei BMax gibt es keine Funktion namens "Text", somit kann ich das auch als Variable verwenden. Daran liegt der Fehler auch nicht, sondern es muss irgentwas mit dem Array zu tun haben. Mein Code sieht im Moment so aus:

BlitzBasic: [AUSKLAPPEN]
Const GFX_X=800
Const GFX_Y=600
Global sight_x=400
Global sight_y=0



Graphics gfx_x,gfx_y

SetMaskColor 255,0,255
tmptile=LoadImage(\"Bodentiles\1.PNG\")
cursor=LoadImage(\"Bodentiles\cursor.PNG\")




Local MAP:Int[19,19]


For i#=0 To 19
For i2#=0 To 19
'MAP[i,i2]=1 <<<< Warum geht das so nicht?
Next
Next




Repeat
Cls
For i=0 To 19
For i2=0 To 19
DrawImage(tmptile,i*32-i2*32+sight_x,i2*16+i*16+sight_y)
DrawText(Int(i)+\"/\"+Int(i2),i*32-i2*32+sight_x,i2*16+i*16+sight_y)
Next
Next


mx#=MouseX()-32-sight_x
my#=MouseY()-sight_y

i2=Int((my/16-mx/32)/2)
i=Int((mx/32+my/16)/2)

If i<0 i=0
If i>19 i=19
If i2<0 i2=0
If i2>19 i2=19

DrawImage cursor,i*32-i2*32+sight_x,i2*16+i*16+sight_y


If KeyDown(37) sight_x=sight_x+1
If KeyDown(39) sight_x=sight_x-1
If KeyDown(38) sight_y=sight_y+1
If KeyDown(40) sight_y=sight_y-1

Flip
FlushMem
Until KeyHit(27)
End
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image
 

Dreamora

BeitragDo, Mai 19, 2005 19:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja dafür gibts debug.

Da steht dann nämlich "Array index out of bound".
Da BM endlich so funktioniert wie programmiersprachen funktionieren sollen, wird da zuviel abgefragt:


Map[19,19] erzeugt einen Array von 19x19 zellen, Index 0 - 18

für einen 0 - 19 array müsste map[20,20] stehen, die zahl in der eckigen klammer gibt ja die anzahl elemente an, nicht den index des höchsten elementes wie in den alten BlitzBasics.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Firstdeathmaker

BeitragDo, Mai 19, 2005 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Und ich frag mich noch: Warum kommt diese Debugmeldung wenn ich das Array richtig angebe?

Naja, das war jedenfalls der Fehler. Vielen Dank!
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group