Code: Select all
FrameLimit 40 'rajoita nopeutta
Gosub Tyypit
Gosub LataaMedia
Gosub Kartta
//Muuttujat
Tapot#=0
luodit#=50
Repeat
Gosub PäivitäTekstit
Gosub Teeammus
Gosub TarkistaAmmukset
Gosub LiikutaUkkoa
Gosub TeeVihu
Gosub TsekkaaVihut
Until EscapeKey()
Kartta:
//Toistaiseksi :D
ClsColor cbBlue
Return
PäivitäTekstit:
Color cbBlack
Text 0,0, "FPS: "+FPS()
Text 0,40, "Olet päättänyt "+Tapot+" örkin päivät :D"
Text 0,60, "Luoteja lippaassa "+luodit
Return
Tyypit:
Type AMMUS
Field obj
End Type
Type OKKI
Field obj2
Field hp
End Type
Return
LataaMedia:
shoot=LoadSound("Media\Gun 1.wav")
preload=LoadSound("Media\Pistol reload.wav")
ukko=LoadObject("Media\soldier.bmp",72)
pati=LoadObject("Media\bullet.bmp")
ShowObject pati,OFF
monki=LoadObject("Peli\okki.bmp",72)
ShowObject monki, OFF
hiiri=LoadImage("Media\Crosshair.bmp")
ShowMouse hiiri
Return
TeeAmmus:
If KeyDown(cbKeyRControl) And reload=0 Then
luoti.AMMUS = New(AMMUS) 'luo uusi ammus
luoti\obj=CloneObject(pati) 'tee klooni
luodit=luodit-1
PlaySound shoot
'asetetaan pati samaan paikkaan
CloneObjectPosition luoti\obj,ukko
'käännetään pati samaan suuntaan
CloneObjectOrientation luoti\obj,ukko
reload=3.5 'aseen lataus
EndIf
'päivitä aseen lataaminen
If reload>0 Then reload=reload-1
If luodit<1 Then
Wait 2000
luodit=50
PlaySound preload
PlaySound preload
EndIf
Return
TarkistaAmmukset:
For luoti.AMMUS = Each AMMUS
MoveObject luoti\obj,6
If ObjectX(luoti\obj)<-180 Or ObjectX(luoti\obj)>180 Or ObjectY(luoti\obj)<-130 Or ObjectY(luoti\obj)>130 Then
DeleteObject luoti\obj
Delete luoti
EndIf
Next luoti
Return
LiikutaUkkoa:
MoveObject ukko, nopeus
If KeyDown(cbKeyA) Then TurnObject ukko,5
If KeyDown(cbKeyD) Then TurnObject ukko,-5
If KeyDown(cbKeyW) Then MoveObject ukko, 2
If KeyDown(cbKeyS) Then MoveObject ukko,-2
Return
TeeVihu:
If okoaika=0 Then
oko.OKKI = New(OKKI)
oko\obj2=CloneObject(monki)
oko\hp=100
PositionObject oko\obj2, Rand(0,400), Rand(0,300)
PointObject oko\obj2, ukko
okoaika=50
EndIf
If okoaika>0 Then okoaika=okoaika-1
Return
TsekkaaVihut:
For oko.OKKI = Each OKKI
MoveObject oko\obj2, 0, 2
If oko\hp<1 Then
Tapot=Tapot+1
DeleteObject oko\obj2
Delete oko
EndIf
Next oko
For oko.OKKI = Each OKKI
If ObjectsOverlap (oko\obj2,luoti\obj) Then
oko\hp=oko\hp-20
EndIf
Next oko
Return