Array Index out of bounds!

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Rob_

Betreff: Array Index out of bounds!

BeitragDo, Feb 03, 2005 3:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, ich hab mir schon das Rpg tut angesehen und es gleich gemacht und ich bekomme trozdem den fehler : ( kann mir mal einer sagen wieso?

Hier mein bisheriger code ich will ein spiel drauß machen ist halt test,

Code: [AUSKLAPPEN]

Graphics 800,600,32,2
SetBuffer BackBuffer()

tile_set = LoadAnimImage("Data\tile_set.bmp",64,64,0,27)
player   = LoadImage("Data\player.bmp")

move_player = 1

   Restore test_level_datas
   Dim mapdata(10,10)   
   For y = 0 To 10
   For x = 0 To 10
   Read mapdata(x,y)
   Next
   Next
   
player_x = 128
player_y = 64

Repeat
Cls

For y = 0 To 10
For x = 0 To 10
DrawImage tile_set,x*64,y*64,mapdata(x,y)
Next
Next

If KeyDown(200) Then player_y = player_y - 1
If KeyDown(208) Then player_y = player_y + 1

If KeyDown(205) Then
   If mapdata(player_x+1,player_y) < 12 Then
       player_x = player_x + 1
       move_player = 1
   EndIf
EndIf

If KeyDown(203) Then player_x = player_x - 1

If move_player = 1 Then x = player_x * 64: y = player_y * 64: DrawImage player,player_x,player_y

Flip
Until KeyHit(1)
End    

    .test_level_datas
   Data 6,11,11,11,11,11,11,11,11,11,5
   Data 13,2,2,2,2,2,2,2,2,2,12
   Data 13,2,2,2,2,2,2,2,2,2,12
   Data 13,1,1,1,1,1,1,16,10,10,3
   Data 13,0,0,0,0,0,0,12,15,15,15
   Data 13,0,0,0,0,0,0,12,15,15,15
   Data 13,0,0,0,0,0,0,12,15,15,15
   Data 13,0,0,0,0,0,0,23,11,11,5
   Data 13,1,1,1,1,1,1,1,1,1,12
   Data 13,1,1,1,1,1,1,1,1,1,12
   Data 4,10,10,10,10,10,10,10,10,10,3
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX

Ebola33

BeitragDo, Feb 03, 2005 3:31
Antworten mit Zitat
Benutzer-Profile anzeigen
guck ma...
du hast folgendes dimensioniert :
Code: [AUSKLAPPEN]

Dim mapdata(10,10)

und folgende variablen deklariert.
Code: [AUSKLAPPEN]

player_x = 128
player_y = 64

und dann fargst du folgendes ab :
Code: [AUSKLAPPEN]

If mapdata(player_x+1,player_y) < 12 Then

Das liegt ausserhalb der dimension. Deshalb der fehler...
mapdata(x,y) darf mapdata(10,10) niemals überschreiten.... sonst kommt nämlich array index out of bounds Wink

edit: data/read ist Käse

Mfg Ebola
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

Rob_

BeitragDo, Feb 03, 2005 5:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ich habe noch ne frage, und zwar wie mache so eine mouse rotation alá CS2D?
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX

frigi

BeitragDo, Feb 03, 2005 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
DC hatte mal geschrieben, dass er es mit atan2() gemacht hat

Rob_

BeitragFr, Feb 04, 2005 2:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibts hier kein code dafür oder so?
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX

Mattis_the_brain

BeitragFr, Feb 04, 2005 13:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Allein deine überschrift lässt mich schon mit dem kopf schütteln... du hättest dir ruhig mal die mühe machen können diese Fehlermeldung zu übersetzen wenn du noch nicht so gut Englisch kannst und schon hättest du gewusst wo dein Problem liegt...

Und dein zweites Problem ist auch ganz simpel...

-schreibe eine Function die den winkel bezogen auf die Horizontale zwischen zwei Punkten berechnet (dazu schau dir mal im Tafelwerk die Winkelfunltionen an einem Rechtwinkligen Dreieck an)

-dann brauchst du nur noch in deiner Funktion als ersten Punkt die Koordinaten deines Spielers angeben und als zweiten die deiner Maus

-Fertig!^^

Ebola33

BeitragSa, Feb 05, 2005 9:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, ich hab wohl irgendwo nicht aufgepasst Embarassed
Was ist CS2D ?
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

Bigmichi

BeitragSa, Feb 05, 2005 9:34
Antworten mit Zitat
Benutzer-Profile anzeigen
damit machst du dir nun richtig feinde Wink

eins der bekanntesten Spiele von BB wurde sorgar bei Giga gezeigt

is Counter Strtike halt nur in 2D

ich glaub du solltest nun beten das das hier niemand findet Wink

Ebola33

BeitragSa, Feb 05, 2005 9:50
Antworten mit Zitat
Benutzer-Profile anzeigen
*versteckimletzteneck* Embarassed Embarassed Embarassed Embarassed Embarassed Embarassed

EDIT :

trotz allem, Denkanstoss :

Code: [AUSKLAPPEN]
Graphics 1024,768,16,1
basis_x=512
basis_y=368
While Not KeyHit(1)
   Cls
   maus_x=MouseX()
   maus_y=MouseY()
   Plot basis_x,basis_y
   Plot maus_x,maus_y
   Text 10,10 , ATan2(maus_x-basis_x,maus_y -basis_y)+180
   Flip
Wend
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

Rob_

BeitragSa, Feb 05, 2005 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
CS2D war bei giga? Wow habs wohl verpasst Sad , da habe ich wohl nicht aufgepasst Sad , das passt mir gar nicht Crying or Very sad
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group