Bewegung der Gegner

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Jul3s

Betreff: Bewegung der Gegner

BeitragSo, Apr 10, 2005 13:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich hätte mal ne frage ich hab ihr den code der meine gegner bewegt allerdings läuft nur einmal ein monster über den bildschirm und dann passiert nix mehr kann mir einer sagen warum ich verseh das nicht. Eigentlich war der code so gedacht das immer wenn o = 100 ist das dann ein neues monster erscheint


Code: [AUSKLAPPEN]

;Monster Bewegung

o = o + 1
If o = 100 Then o = 1 And mon = mon + 1
If mon = 30 Then mon = 1
gegner(mon,0) = 1
gegner(mon,1) = Rnd(0,800) = mon_x
gegner(mon,2) = -10 = mon_y

For z = 0 To 30
If gegner(z,0) = 1 Then
evil = evil + 1
If evil = 360 Then evil = 0
mon_x = Sin(evil) * 360
mon_y = mon_y + 1
EndIf
Next

DrawImage monster,mon_x,mon_y

BladeRunner

Moderator

BeitragSo, Apr 10, 2005 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Du legst brav dein Array für die einzelnen Monster an, nutzt dann aber nur mon_x und Mon_y anstatt gegner(nr,1) und gegner(nr,2).
Vermute daher mal dass du nicht wirklich weisst wofür das array da ist.
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
 

Jul3s

BeitragSo, Apr 10, 2005 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
ohhh man bin ich verplannt.....

Edit:
aber habs jetzt verbessert funst aber trotzdem nicht


Code: [AUSKLAPPEN]

For z = 0 To 30
If gegner(z,0) = 1 Then
evil = evil + 1
If evil = 360 Then evil = 0
mon_x = Sin(evil) * 360
mon_y = mon_y + 1
EndIf
Next

o = o + 1
If o = 100 Then o = 1 And mon = mon + 1
If mon = 30 Then mon = 1
gegner(mon,0) = 1
gegner(mon,1) = mon_x
gegner(mon,2) = mon_y

For b = 0 To 30
DrawImage monster,gegner(b,1),gegner(b,2)
Next
Embarassed Embarassed Embarassed

skey-z

BeitragSo, Apr 10, 2005 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
sry, frage nicht ganz durchgelesen^^
 

hitokiri

BeitragSo, Apr 10, 2005 15:03
Antworten mit Zitat
Benutzer-Profile anzeigen
ganz einfach, alle deine gegner haben denselben x und y wert.

mon_x = Sin(evil) * 360
mon_y = mon_y + 1

es werden alle gegner auf denselben punkt gezeichnet


-> mach deinen code mal etwas übersichtlicher, da steigt ja keiner durch Wink

Kryan

BeitragSo, Apr 10, 2005 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Sin(evil) * 360
mon_y = mon_y + 1
EndIf
Next

o = o + 1
If o = 100 Then o = 1 And mon = mon + 1
If mon = 30 Then mon = 1
gegner(mon,0) = 1
gegner(mon,1) = gegner(mon,1) <------
gegner(mon,2) = gegner(mon,2) <------

For b = 0 To 30
DrawImage monster,gegner(b,1),gegner(b,2)
Next
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Jul3s

BeitragSo, Apr 10, 2005 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm.....stimmt jeder gegner liegt genau auf dem nächsten...
aber wie kann ich das machen das jedes monster wo anders startet ??
 

Absoluter Beginner

BeitragSo, Apr 10, 2005 18:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Stichwort: Zufallszahlen (Rand)
Error Inside!

BladeRunner

Moderator

BeitragSo, Apr 10, 2005 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
kryan, was postest du da für einen grauenerregenden Mist ?
Du gibst einer var den Wert den sie eh schon hat. Was soll der Sch... ?

Wenn du keine Ahnung hast was du verzapfst lass es lieber ganz bleiben.
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

Alfadur

BeitragMo, Apr 11, 2005 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ich finds arschgeil. besonders mag ich :

Sin(evil) * 360
If o = 100 Then o = 1 And mon = mon + 1
gegner(mon,1) = gegner(mon,1) <------
gegner(mon,2) = gegner(mon,2) <------

oh man, koryphäen gibts hier ...

aber zum problem ...

BlitzBasic: [AUSKLAPPEN]

;erstellen
Dim gegner(29,2)
For count=0 To 29
gegner(count,0)=1
gegner(count,1)=0;oder mit sinus oder irgendwas
gegner(count,2)=count*15
Next

;malen
For count=0 To 29
If gegner(count,0)=1 Then
Plot(gegner(count,1),gegner(count,2))
End If
Next

;bewegen
For count=0 To 29
If gegner(count,0)=1 Then
gegner(count,1)=gegner(count,1)+1
gegner(count,2)=gegner(count,2)-Cos(gegner(count,3))
gegner(count,3)=gegner(count,3)+1
gegner(count,3)=(gegner(count,3)+360) Mod 360
End If
Next



edit : bewegen vergessen .-) *hüstel* ...
A Cray is the only computer that runs an endless loop in less than four hours.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group