illegal memory adress, warum?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

@ndinho

Betreff: illegal memory adress, warum?

BeitragSo, Apr 24, 2005 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Graphics 1024,768
SetBuffer BackBuffer()

AppTitle \"SpaceFight\"


schiff1 = LoadImage(\"Data\Gfx\1.png\")
schiff2 = LoadImage(\"Data\Gfx\3.png\")
rakete = LoadImage(\"Data\Gfx\rakete.png\")
rakete2 = LoadImage(\"Data\Gfx\rakete2.png\")
menu = LoadImage(\"Data\Gfx\menu.png\")
Explosion = LoadImage(\"Data\Gfx\exp.bmp\")

font1 = LoadFont(\"Times New Roman\", 36,1,0,1)
font2 = LoadFont(\"Times New Roman\", 30,0,0,0)

MaskImage schiff1, 255,0,255
MaskImage schiff2, 255,0,255
MaskImage rakete, 255,0,255
MaskImage rakete2, 255,0,255

timer = CreateTimer(50)


Repeat
Cls
Text 400,300, \"Spiel starten\"
If MouseHit(1) Then Goto hauptschleife
Flip
Until KeyDown(1)






Dim Rak(20,2)
Dim Ra(20,2)

a = 500
b = 50

x = 500
y = 700

energie1 = 100
energie2 = 100

muni1 = 100
muni2 = 10

FPS_Checker=MilliSecs()



.hauptschleife
Repeat
Cls


DrawImage schiff1, x,y
DrawImage schiff2, a,b
DrawImage menu, 780,-10


If KeyDown(205) Then x = x+3
If KeyDown(203) Then x = x-3

If KeyDown(32) Then a = a+3
If KeyDown(30) Then a = a-3

If x >= 740 Then x = 740
If x <= 0 Then x = 0
If a >= 740 Then a = 740
If a <= 0 Then a = 0





If KeyHit(57) Then
schuss = schuss+1
If schuss = 10 Then schuss = 1
Rak(schuss,0) = 1
Rak(schuss,1) = x+17
Rak(schuss,2) = y-19
EndIf

For Z=1 To 20
If Rak(Z,0) = 1 Then
If ImagesOverlap (schiff2,a,b,rakete,Rak (schuss,1) ,Rak (schuss,2) ) Then
energie2 = energie2 -1
DrawImage explosion,a-35,b-30
EndIf
DrawImage rakete, Rak(Z,1), Rak(Z,2)
Rak(Z,2) = Rak(Z,2) - 50
EndIf
Next
;;;;;;;;;;;;;;;;;;;;;;;

If KeyHit(31) Then
schus = schus+1
If schus = 10 Then schus = 1
Ra(schus,0) = 1
Ra(schus,1) = a+15
Ra(schus,2) = b+19
EndIf

For I=1 To 20
If Ra(I,0) = 1 Then
If ImagesOverlap (schiff1,x,y,rakete2,Ra (schus,1) ,Ra (schus,2) ) Then
energie1 = energie1 -1
DrawImage explosion, x-35,y-35

EndIf
DrawImage rakete2, Ra(I,1), Ra(I,2)
Ra(I,2) = Ra(I,2) + 50
EndIf
Next




SetFont font1
Color 0,0,255
Text 825,155, \"SPIELER 1\"
Color 0,0,255
Text 825,475, \"SPIELER 2\"
SetFont font2
Color 0,0,255
Text 825,200, \"Energie: \" + energie1 + \"%\"
Color 0,0,255
Text 825,530, \"Energie: \" + energie2 + \"%\"

; FPS
FPS_Milli=MilliSecs()
FPS_Zaehler=FPS_Zaehler+1



If FPS_Milli-FPS_Checker>999 Then
FPS_Checker=MilliSecs()
FPS=FPS_Zaehler
FPS_Zaehler=0
End If
Color 255, 0, 0
Text 10, 10, \"FPS: \" + FPS
;

If energie1 <= 0 Then
Cls
Text 500,350, \"Spieler 1 hat gewonnen!\"
Delay 5000
End
EndIf
If energie2 <= 0 Then
Cls
Text 500,350, \"Spieler 2 hat gewonnen!\"
Delay 5000
End
EndIf


WaitTimer timer



Delay 8
Flip
Until KeyDown(1)


End
User posted image

Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800
Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic Smile

diGGa

GruppenKaspar

BeitragSo, Apr 24, 2005 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
-> debugger
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und
glaubte im Licht der Straßenlampe
Den Geist unseres jahrhunderts auf der
Straße zu sehen
Der uns sagte, daß wir alle am Rande
des Abgrunds stehen.
- Al Steward


Athlon 64 3000+ / Radeon 9600 / 1024mb ddram

@ndinho

BeitragSo, Apr 24, 2005 18:37
Antworten mit Zitat
Benutzer-Profile anzeigen
hab ich aus, wenn ich anmache kommt aray index out of bounds!
User posted image

Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800
Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic Smile

Freeman

BeitragSo, Apr 24, 2005 18:37
Antworten mit Zitat
Benutzer-Profile anzeigen
normaler weise bekommt man die medung wenn eine datei nicht existiert,ansonsten springt der debugger auf die zeile die den fehler macht, schaus dir einfach an

FrEeMaN
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28
 

noir

BeitragSo, Apr 24, 2005 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
dein .hauptschleife muss vor

Dim Rak(20,2)
Dim Ra(20,2)

sonst wird dieser code-teil nie ausgeführt...
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting

@ndinho

BeitragSo, Apr 24, 2005 18:41
Antworten mit Zitat
Benutzer-Profile anzeigen
jetzt funzt es!

danke
User posted image

Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800
Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic Smile

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group