Code: Select all
Type AMMUS 'luo kokoelma, jonka nimi on AMMUS
Field obj 'yksi kenttä nimeltään 'obj'
End Type
FrameLimit 70
SCREEN 1200,1000
ääniAmmu = LoadSound ("Media\Blaster.wav")
kartta = LoadMap("Media\cdm2.til","Media\tileset.bmp")
PlayObject kartta,0,0,2
auto2 = LoadObject("Media\car4.bmp", 72)
auto = LoadObject("Media\car3.bmp", 72)
pati=LoadObject("Media\bullet.bmp")
ShowObject pati,OFF
pati2=LoadObject("Media\bullet.bmp")
ShowObject pati2, OFF
SetupCollision auto2, auto, 2, 2, 2
SetupCollision auto, auto2, 2, 2, 2
SetupCollision pati, kartta, 1, 4, 2
SetupCollision auto, kartta, 1, 4, 2
SetupCollision auto2, kartta, 1, 4, 2
Repeat
'soita musiikki uudelleen, jos se lo4ppuu
If SoundPlaying(musa)=0 Then
musa = PlaySound ("Media\SK_Battle2.mp3")
'satunnainen tapahtuma..
'tasataanko ääni oikealle vai vasemmalle
If Rand(1,2)=1 Then
SetSound musa,0,100,-100 'vasen kajari
Else
SetSound musa,0,100,100 'oikea kajari
EndIf
EndIf
'Ammu-systeemi. Vain, jos ase on ladattu
If KeyDown(cbKeyRControl) And reload=0 Then
luoti.AMMUS = New(AMMUS) 'luo uusi ammus
luoti\obj=CloneObject(pati2) 'tee klooni
'asetetaan pati samaan paikkaan
CloneObjectPosition luoti\obj,auto
'käännetään pati samaan suuntaan
CloneObjectOrientation luoti\obj,auto
PlaySound ääniAmmu,50
reload=5 'aseen lataus
EndIf
For luoti.AMMUS = Each AMMUS
MoveObject luoti\obj,6
If GetMap(2,ObjectX(luoti\obj),ObjectY(luoti\obj)) or ObjectsOverlap(luoti\obj,auto,3) or objectsoverlap(luoti\obj,auto2,3) Then
poistettava = 1
EndIf
If poistettava Then
DeleteObject luoti\obj
Delete luoti
poistettava = 0
EndIf
Next luoti
'Ammu-systeemi. Vain, jos ase on ladattu
If KeyDown(cbKeyLAlt) And reload2=0 Then
luoti.AMMUS = New(AMMUS) 'luo uusi ammus
luoti\obj=CloneObject(pati) 'tee klooni
'asetetaan pati samaan paikkaan
CloneObjectPosition luoti\obj,auto2
'käännetään pati samaan suuntaan
CloneObjectOrientation luoti\obj,auto2
PlaySound ääniAmmu,50
reload2=5 'aseen lataus
EndIf
'päivitä aseen lataaminen
If reload>0 Then reload=reload-1
If reload2>0 Then reload2=reload2-1
'Päivitä kaikki ammukset
For luoti.AMMUS = Each AMMUS
MoveObject luoti\obj,6
If GetMap(2,ObjectX(luoti\obj),ObjectY(luoti\obj)) Then
DeleteObject luoti\obj
Delete luoti
EndIf
Next luoti
'tämä ennen muuta grafiikkaa (box)
DrawGame
'piirrä "kenttä"
If LeftKey() Then TurnObject auto, 5
If RightKey() Then TurnObject auto, -5
If UpKey() Then MoveObject auto, 7
If DownKey() Then MoveObject auto, -7
If KeyDown(30) Then TurnObject auto2, 5
If KeyDown(32) Then TurnObject auto2, -5
If KeyDown(17) Then MoveObject auto2, 7
If KeyDown(31) Then MoveObject auto2, -7
CloneCameraPosition auto2
DrawScreen
Forever