Types ---> each

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

pokop

Betreff: Types ---> each

BeitragSo, Jun 12, 2005 18:12
Antworten mit Zitat
Benutzer-Profile anzeigen
So, ich hab jetzt ein richtig doofes types-problem (obwohl mal wieder ganz sicher ne ganz einfache lösung kommt...)



BlitzBasic: [AUSKLAPPEN]
Graphics 800,600,16,2

Global tank1 = CreateImage(32,32)
Global tank2 = CreateImage(32,32)
Global mouse = CreateImage(16,16)
Global angew = CreateImage(32,32)

SetBuffer ImageBuffer(tank1)
Color 0,0,255
Rect 0,0,32,32
Color 255,255,0
Rect 14,0,4,4

SetBuffer ImageBuffer(tank2)
Color 255,0,0
Rect 0,0,32,32
Color 255,255,0
Rect 14,0,4,4

SetBuffer ImageBuffer(mouse)
Color 255,255,255
Line 0,0,16,8
Line 0,0,8,16
Line 15,8,8,15

SetBuffer ImageBuffer(angew)
Color 255,255,0
Plot 0,0
Plot 0,1
Plot 0,2
Plot 1,0
Plot 1,1
Plot 2,0

Plot 31,0
Plot 31,1
Plot 31,2
Plot 30,0
Plot 30,1
Plot 29,0

Plot 0,31
Plot 0,30
Plot 0,29
Plot 1,31
Plot 1,30
Plot 2,31

Plot 31,31
Plot 31,30
Plot 31,29
Plot 30,31
Plot 30,30
Plot 29,31


SetBuffer BackBuffer()



Type tank
Field x
Field y
Field side
Field energy
Field zielx
Field ziely
Field attack
Field agw
Field shot
End Type

Global j = 1

For i = 0 To 0

wartank.tank = New tank

wartank\x = Rnd(0,24) * 32
wartank\y = Rnd(0,17) * 32

j = j + 1

Next


HidePointer

Repeat

checktanks()


DrawImage mouse,MouseX(),MouseY() : Flip : Cls

Until KeyHit(1)
End



Function checktanks()

wartank.tank = First tank
For i = 0 To j - 1

If MouseHit(1) Then
If ImagesOverlap(mouse,MouseX(),MouseY(),tank1,wartank\x,wartank\y) Then
For tank.wartank = Each wartank
wartank\agw = 0
Next
wartank\agw = 1
EndIf
Else
For tank.wartank = Each wartank
wartank\agw = 0
Next
EndIf

If wartank\side = 0 Then DrawImage tank1,wartank\x,wartank\y
If wartank\side = 1 Then DrawImage tank2,wartank\x,wartank\y
If wartank\agw = 1 Then DrawImage angew,wartank\x,wartank\y

wartank = After wartank
Next

End Function




Das geht nicht, aber ich weis um gotteswillen nicht warum...
http://www.abandonia.com/

--->Nikola Tesla<---

BladeRunner

Moderator

BeitragSo, Jun 12, 2005 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
es geht nicht, ok. was geht nicht ?
Lernt richtig Fragen Stellen, Leute.
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

pokop

BeitragSo, Jun 12, 2005 18:18
Antworten mit Zitat
Benutzer-Profile anzeigen
"type wartank not found"

probiers am besten aus, ich weiß ja eben nicht, warum es nicht funktioniert, aber ich denke, das igentwo in der function der Fehler ist...
http://www.abandonia.com/

--->Nikola Tesla<---

BladeRunner

Moderator

BeitragSo, Jun 12, 2005 18:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Typischer vertauscher: Schau Dir die Zeile wo der Fehler gemeldet wird mal genau an Wink
For tank.wartank = Each wartank

den type wartank gibt es wirklich nicht Wink
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

pokop

BeitragSo, Jun 12, 2005 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
dangööööööö Very Happy
http://www.abandonia.com/

--->Nikola Tesla<---

pokop

BeitragSo, Jun 12, 2005 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
*heul*

jetzt ist doch noch ein Fehler drin, den ich nicht find, und diesaml hab ich nix vertauscht... Crying or Very sad
(blöde types)


BlitzBasic: [AUSKLAPPEN]
		If wartank\side = 0 Then DrawImage tank1,wartank\x,wartank\y
If wartank\side = 1 Then DrawImage tank2,wartank\x,wartank\y
If wartank\agw = 1 Then DrawImage angew,wartank\x,wartank\y


Wo bitte ist hier ein fehler

woooooooooo?!?

Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Crying or Very sad Mad Crying or Very sad Mad Mad Mad Mad Mad Mad Crying or Very sad
http://www.abandonia.com/

--->Nikola Tesla<---

BladeRunner

Moderator

BeitragSo, Jun 12, 2005 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Nochmal: Formulier dein Prolbem genauer. Hättest du direkt geschrieben dass als Fehler "object does not exist" kommt hättest Du wesentlich direkter ne Antwort erhalten. Zudem hat nicht jeder Lust deinen Code auf blosen Verdacht zu pasten und laufen zu lassen.
Je genauer Du beschreibst was du möchtest und wie der Fehler den du hast aussiehst umso schneller und genauer wird man Dir helfen.

"objekt does not exist" heisst dass von dem type noch keine instanz angelegt wurde bzw. der Variable keine zugewiesen wurde.

Der Debugger bestätigt dass übrigens, sowohl im Main als auch in deiner Checktanks-funktion zeigt er an dass wartank.tank null, also undefiniert ist.

Das Problem dürfte sein dass Wartank nicht global ist, daher findet das Proggie in der Function keinen Eintrag.
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

pokop

BeitragSo, Jun 12, 2005 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
hä?????
ich dachte functions sind immer global Shocked
http://www.abandonia.com/

--->Nikola Tesla<---

BladeRunner

Moderator

BeitragSo, Jun 12, 2005 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
die func ist es quasi auch, alle in ihr vorkommenden Variablen nicht, es sei denn sie wurden als global definiert.
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

Mr.Keks

BeitragSo, Jun 12, 2005 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
wie ich schon in http://www.blitz.inarie.de/viewtopic.php?t=160 schrieb, liegt es an der foreach in der foreach ^^. das, was du machst, ist, als würdest du schreiben:
Code: [AUSKLAPPEN]
For i = 0 to 10
 For i = 2 to 50
 Next
 Print i
Next
es kann einfach nicht funktionieren ^^.
MrKeks.net

BladeRunner

Moderator

BeitragSo, Jun 12, 2005 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt. Hätte ich übersehen.
Dass Du nach 10 Minuten schon im nächsten Forum postest zeugt übrigens nicht grade von Geduld...
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

d-bug

BeitragSo, Jun 12, 2005 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
For i = 0 To 0

wartank.tank = New tank

wartank\x = Rnd(0,24) * 32
wartank\y = Rnd(0,17) * 32

j = j + 1

Next

...weiterhin macht for i = 0 to 0 nun wirklich keinen sinn. Damit hast du deine Schleife zum Tanks erstellen zwar gebastelt, lässt sie aber nicht durchlaufen. Very Happy

pokop

BeitragSo, Jun 12, 2005 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hab ich beraits ausgebessert^^
http://www.abandonia.com/

--->Nikola Tesla<---

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group