Hallo,
Ich habe angefangen mich in Pure Basic einzuarbeiten. Nun mache ich mit meinem Bruder ein kleines Spiel. Es besteht daraus, das 2 helikopter sich gegenseitig abschiessen müssen. Jeder steuert einen. Nun haben wir aber das Problem, das Wir nur einen Schuss machen können... Wir bräuchten eine Beschreibung wie es funktuniert, mehrere Schüsse nacheinander abzugeben.
Hier mal der Source Code:
Ich habe angefangen mich in Pure Basic einzuarbeiten. Nun mache ich mit meinem Bruder ein kleines Spiel. Es besteht daraus, das 2 helikopter sich gegenseitig abschiessen müssen. Jeder steuert einen. Nun haben wir aber das Problem, das Wir nur einen Schuss machen können... Wir bräuchten eine Beschreibung wie es funktuniert, mehrere Schüsse nacheinander abzugeben.
Hier mal der Source Code:
Global Heli1X.w
Global Heli1Y.w
Global Heli2X.w
Global Heli2Y.w
Global Kugel1X.w
Global Kugel1Y.w
Global Kugel2X.w
Global Kugel2Y.w
Global Rakete1X.w
Global Rakete1Y.w
Global Rakete2X.w
Global Rakete2Y.w
;Position Helis
Heli1X =100
Heli1Y =100
Heli2X =400
Heli2Y =100
InitSound()
InitKeyboard()
InitSprite()
OpenScreen(800,600,16,"Heligame")
UseOGGSoundDecoder()
;Laden
LoadSprite(0,"GFX\Helicopter1.bmp")
TransparentSpriteColor(0,RGB(255,0,255))
LoadSprite(1,"GFX\Helicopter2.bmp")
TransparentSpriteColor(1,RGB(255,0,255))
LoadSound(Kampfmusik,"SFX\Kampfmusik.ogg")
LoadSprite(2,"GFX\back.bmp")
PlaySound(Kampfmusik,(1))
Repeat
ClearScreen(0)
ExamineKeyboard()
;Helis usw anzeigen
DisplaySprite(2,0,0)
DisplayTransparentSprite(0,Heli1X,Heli1Y)
DisplayTransparentSprite(1,Heli2X,Heli2Y)
FlipBuffers()
;Bewegung Heli1
If KeyboardPushed(#PB_Key_Up)
Heli1Y - 2
EndIf
If KeyboardPushed(#PB_Key_Down)
Heli1Y + 2
EndIf
If KeyboardPushed(#PB_Key_Right)
Heli1X + 2
EndIf
If KeyboardPushed(#PB_Key_Left)
Heli1X - 2
EndIf
;Bewegung Heli2
If KeyboardPushed(#PB_Key_W)
Heli2Y - 2
EndIf
If KeyboardPushed(#PB_Key_S)
Heli2Y + 2
EndIf
If KeyboardPushed(#PB_Key_D)
Heli2X + 2
EndIf
If KeyboardPushed(#PB_Key_A)
Heli2X - 2
EndIf
;Kollisionen Heli1
If Heli1X >735
Heli1X =735
EndIf
If Heli1Y <-10
Heli1Y =-10
EndIf
If Heli1Y >570
Heli1Y =570
EndIf
If Heli1X <0
Heli1X =0
EndIf
;Kollisionen Heli2
If Heli2X >735
Heli2X =735
EndIf
If Heli2Y <-10
Heli2Y =-10
EndIf
If Heli2Y >570
Heli2Y =570
EndIf
If Heli2X <0
Heli2X =0
EndIf
Until KeyboardPushed(1)
Global Heli1Y.w
Global Heli2X.w
Global Heli2Y.w
Global Kugel1X.w
Global Kugel1Y.w
Global Kugel2X.w
Global Kugel2Y.w
Global Rakete1X.w
Global Rakete1Y.w
Global Rakete2X.w
Global Rakete2Y.w
;Position Helis
Heli1X =100
Heli1Y =100
Heli2X =400
Heli2Y =100
InitSound()
InitKeyboard()
InitSprite()
OpenScreen(800,600,16,"Heligame")
UseOGGSoundDecoder()
;Laden
LoadSprite(0,"GFX\Helicopter1.bmp")
TransparentSpriteColor(0,RGB(255,0,255))
LoadSprite(1,"GFX\Helicopter2.bmp")
TransparentSpriteColor(1,RGB(255,0,255))
LoadSound(Kampfmusik,"SFX\Kampfmusik.ogg")
LoadSprite(2,"GFX\back.bmp")
PlaySound(Kampfmusik,(1))
Repeat
ClearScreen(0)
ExamineKeyboard()
;Helis usw anzeigen
DisplaySprite(2,0,0)
DisplayTransparentSprite(0,Heli1X,Heli1Y)
DisplayTransparentSprite(1,Heli2X,Heli2Y)
FlipBuffers()
;Bewegung Heli1
If KeyboardPushed(#PB_Key_Up)
Heli1Y - 2
EndIf
If KeyboardPushed(#PB_Key_Down)
Heli1Y + 2
EndIf
If KeyboardPushed(#PB_Key_Right)
Heli1X + 2
EndIf
If KeyboardPushed(#PB_Key_Left)
Heli1X - 2
EndIf
;Bewegung Heli2
If KeyboardPushed(#PB_Key_W)
Heli2Y - 2
EndIf
If KeyboardPushed(#PB_Key_S)
Heli2Y + 2
EndIf
If KeyboardPushed(#PB_Key_D)
Heli2X + 2
EndIf
If KeyboardPushed(#PB_Key_A)
Heli2X - 2
EndIf
;Kollisionen Heli1
If Heli1X >735
Heli1X =735
EndIf
If Heli1Y <-10
Heli1Y =-10
EndIf
If Heli1Y >570
Heli1Y =570
EndIf
If Heli1X <0
Heli1X =0
EndIf
;Kollisionen Heli2
If Heli2X >735
Heli2X =735
EndIf
If Heli2Y <-10
Heli2Y =-10
EndIf
If Heli2Y >570
Heli2Y =570
EndIf
If Heli2X <0
Heli2X =0
EndIf
Until KeyboardPushed(1)