Moorhuhn Clone Gegner Problem
Übersicht

![]() |
BigPinguBetreff: Moorhuhn Clone Gegner Problem |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallöle,
Also ich bastel gerade an einem MoorhuhnClone. Jetzt hab ich da aber ein Problemundzwar habe ich Select Case benutzt um zu entscheiden ob ein Gegner von Links oder von rechts kommt jedoch kommt jetzt gar keiner ![]() Was hab ich falsch gemacht ? BlitzBasic: [AUSKLAPPEN] Graphics 800,600,32,1 |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
seite ist nicht global und daher ist seite in der Funktion 0.
Übergib seite an die funktion als Parameter oder machs global. Ach ja: beim Erstellen brauchst du keine for next zu machen, da Du es eh nur einmal durchlaufen lässt. |
||
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 |
![]() |
Rone |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
dein "Seite" ist local und deshalb bei deiner abfrage 0. Außerdem würde ich den gegnerTyp um das Attribut "Seite" erweitern... Code: [AUSKLAPPEN] Type gegner Field x Field y Field Seite End Type Function Move() For gner.gegner = Each gegner Select gner\seite Case 1 gner\x = gner\x + 3 gner\y = gner\y + 0 Case 2 gner\x = gner\x - 3 gner\y = gner\y + 0 End Select Next End Function mfg Rone Edit: Mist, zu spät... ![]() |
||
![]() |
BigPingu |
![]() Antworten mit Zitat ![]() |
---|---|---|
BladeRunner hat Folgendes geschrieben: seite ist nicht global und daher ist seite in der Funktion 0.
Übergib seite an die funktion als Parameter oder machs global. Ach ja: beim Erstellen brauchst du keine for next zu machen, da Du es eh nur einmal durchlaufen lässt. Alles klar klappt super, allerdings kehren die Gegner jetzt bei der nächsten Gegner Erstellung um, weil eine 2 kommt und dann wieder um, wenn eine 1 kommt. Eigentlich soll er nur für die entscheiden die neu erstellt werden und nicht die bereits existierenden ändern. |
||
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Ich würde es etwa so machen : Code: [AUSKLAPPEN] score = 0
Const screen_w = 800 Const screen_h = 600 Type enemy Field x ; x-position Field y ; y-position Field xs ; x-geschw. Field ys ; y-geschw. End Type Local a.enemy Graphics screen_w,screen_h,32,2 SetBuffer BackBuffer() HidePointer() While Not KeyHit(1) mx = MouseX() my = MouseY() mh = MouseHit(1) If Rand(1,50) = 1 Then a.enemy = New enemy If Rand(0,1) = 0 Then a\x = 0 a\xs = Rand(1,2) Else a\x = screen_w a\xs = Rand(-2,-1) EndIf a\y = Rand(screen_h) a\ys = 0 EndIf Cls For a.enemy = Each enemy a\x = a\x + a\xs draw_enemy(a\x,a\y) If a\x < 0 Or a\x > screen_w Then Delete a ElseIf mx >= a\x-15 And mx <= a\x+15 And my >= a\y-15 And my <= a\y+15 And mh Then Delete a score = score + 1 EndIf Next draw_crosshairs(mx,my) Text 10,10,"Score = "+score Flip Wend Function draw_crosshairs(x,y) Color(255,0,0) Line x-5,y,x+5,y Line x,y-5,x,y+5 End Function Function draw_enemy(x,y) Color(0,255,0) Rect x-15,y-15,31,31 End Function mfg Cardonic |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
![]() |
BigPingu |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Cardonic
na doll is ja schon fast fertig das spiel ^^. So einfach wollt ichs nun auch nicht. Aber trozdem THX ich guck mal inwiefern ich mein code damit "berichtigen" kann |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group