K thanks m8 here is my code
;*****************
;* Mouse Routine *
;* Cannon Fodder *
;* Style *
;*****************
Graphics 640,480,16
SetBuffer BackBuffer()
;-Types-----------------------------------------------------
Type bullet
Field x#,y#
Field ang#,speed#
Field img
Field life#
End Type
Type player
Field x#,y#
Field ang#,speed#
Field frm ;animation frame
End Type
Type particle
Field x#,y#
Field dx#,dy#
Field size#
Field r,g,b
End Type
;-Globals-------------------------------------------------------
Global me.player=New player
Global clickedx#,clickedy#
Global imgplayer
Global imgshot
Global sndshot
Global sndgun
Global fps = CreateTimer(60)
;-Graphics+Sounds-----------------------------------------------
imgplayer=LoadAnimImage("fodman3.png",15,14,0,23)
imgshot=LoadImage("shot.bmp")
sndshot=LoadSound("shot.wav")
sndgun=LoadSound("gun.wav")
MaskImage imgplayer,255,0,255
MidHandle imgplayer
MidHandle imgshot
me\x=160
me\y=100
;-Main loop-------------------------------------------------
While Not KeyHit(1)
Cls
Color 50,100,150
Rect 0,0,640,480,1
angle=ATan2(MouseX()-me\x,MouseY()-me\y)
If Angle<0 Angle=Angle+360
If MouseHit(2)
clickedx=MouseX()
clickedy=MouseY()
me\ang=ATan2(clickedx-me\x,clickedy-me\y)
me\speed=2
EndIf
If Sqr(me\x-clickedx)^2+(me\y-clickedy)^2<9
me\speed=0
EndIf
If KeyDown(42) And MouseDown(2)
me\speed=6
End If
If MouseHit(1)
b.bullet = New bullet ;Create bullet
b\x = me\x : b\y = me\y
b\ang= ATan2(MouseX()-b\x,MouseY()-b\y)+Rnd(-3,6)
b\speed=6
b\life=30
b\img=imgshot
PlaySound(sndgun)
End If
For b.bullet = Each bullet
movebullet(b)
Next
If angle<0 angle=angle+360
If angle>160 And angle<200
me\frm=4;up
EndIf
If angle>110 And angle<160
me\frm=22;up right
EndIf
If angle>70 And angle<110
me\frm=10;right
EndIf
If angle>20 And angle<70
me\frm=16;down right
EndIf
If angle>345 Or angle<15 Or angle=0
me\frm=1;down
EndIf
If angle<335 And angle>290
me\frm=13 ;down left
EndIf
If angle<290 And angle>245
me\frm=7 ;left
EndIf
If angle<245 And angle>200
me\frm=19 ;up left
EndIf
;-Move particles----------------------------------------------
For pt.particle = Each particle
pt\x = pt\x + pt\dx
pt\y = pt\y + pt\dy
pt\size = pt\size - .6
If pt\size=<0 Then Delete pt
Next
me\y=me\y+(Cos(me\ang)*me\speed)
me\x=me\x+(Sin(me\ang)*me\speed)
For pt.particle = Each particle
Color pt\r,pt\g,pt\b
Oval pt\x-pt\size/2,pt\y-pt\size/2,pt\size,pt\size
Next
Color 255,255,255
DrawImage imgplayer,me\x,me\y,me\frm;player gfx
Color 255,25,25
Rect MouseX(),MouseY(),2,2; mouse gfx
Flip
Wend
End
;-Functions-------------------------------------------------
Function MoveBullet(b.bullet)
b\y=b\y+(Cos(b\ang)*b\speed)
b\x=b\x+(Sin(b\ang)*b\speed)
DrawImage b\img,b\x,b\y,0
b\life=b\life-1
If b\life<0 ;Then Delete b.bullet
For i=1 To 50
pt.particle = New particle
pt\x = b\x
pt\y = b\y
pt\dx = Rnd(-2,2):pt\dy=Rnd(-2,2)
pt\size = Rnd(2,4)
col# = Rnd(48,128)
pt\r = col: pt\g = col: pt\b = col
If i>30 Then
pt\r=255: pt\g=300-pt\size*40: pt\b=0 ;colour it red/yellow
pt\dx=pt\dx/2 ;slow it down
pt\dy=pt\dy/2
End If
Next
Delete b.bullet
chnwave1=PlaySound(sndshot)
ChannelVolume chnwave1,.2
End If
End Function
;*****************
;* Mouse Routine *
;* Cannon Fodder *
;* Style *
;*****************
Graphics 640,480,16
SetBuffer BackBuffer()
;-Types-----------------------------------------------------
Type bullet
Field x#,y#
Field ang#,speed#
Field img
Field life#
End Type
Type player
Field x#,y#
Field ang#,speed#
Field frm ;animation frame
End Type
Type particle
Field x#,y#
Field dx#,dy#
Field size#
Field r,g,b
End Type
;-Globals-------------------------------------------------------
Global me.player=New player
Global clickedx#,clickedy#
Global imgplayer
Global imgshot
Global sndshot
Global sndgun
Global fps = CreateTimer(60)
;-Graphics+Sounds-----------------------------------------------
imgplayer=LoadAnimImage("fodman3.png",15,14,0,23)
imgshot=LoadImage("shot.bmp")
sndshot=LoadSound("shot.wav")
sndgun=LoadSound("gun.wav")
MaskImage imgplayer,255,0,255
MidHandle imgplayer
MidHandle imgshot
me\x=160
me\y=100
;-Main loop-------------------------------------------------
While Not KeyHit(1)
Cls
Color 50,100,150
Rect 0,0,640,480,1
angle=ATan2(MouseX()-me\x,MouseY()-me\y)
If Angle<0 Angle=Angle+360
If MouseHit(2)
clickedx=MouseX()
clickedy=MouseY()
me\ang=ATan2(clickedx-me\x,clickedy-me\y)
me\speed=2
EndIf
If Sqr(me\x-clickedx)^2+(me\y-clickedy)^2<9
me\speed=0
EndIf
If KeyDown(42) And MouseDown(2)
me\speed=6
End If
If MouseHit(1)
b.bullet = New bullet ;Create bullet
b\x = me\x : b\y = me\y
b\ang= ATan2(MouseX()-b\x,MouseY()-b\y)+Rnd(-3,6)
b\speed=6
b\life=30
b\img=imgshot
PlaySound(sndgun)
End If
For b.bullet = Each bullet
movebullet(b)
Next
If angle<0 angle=angle+360
If angle>160 And angle<200
me\frm=4;up
EndIf
If angle>110 And angle<160
me\frm=22;up right
EndIf
If angle>70 And angle<110
me\frm=10;right
EndIf
If angle>20 And angle<70
me\frm=16;down right
EndIf
If angle>345 Or angle<15 Or angle=0
me\frm=1;down
EndIf
If angle<335 And angle>290
me\frm=13 ;down left
EndIf
If angle<290 And angle>245
me\frm=7 ;left
EndIf
If angle<245 And angle>200
me\frm=19 ;up left
EndIf
;-Move particles----------------------------------------------
For pt.particle = Each particle
pt\x = pt\x + pt\dx
pt\y = pt\y + pt\dy
pt\size = pt\size - .6
If pt\size=<0 Then Delete pt
Next
me\y=me\y+(Cos(me\ang)*me\speed)
me\x=me\x+(Sin(me\ang)*me\speed)
For pt.particle = Each particle
Color pt\r,pt\g,pt\b
Oval pt\x-pt\size/2,pt\y-pt\size/2,pt\size,pt\size
Next
Color 255,255,255
DrawImage imgplayer,me\x,me\y,me\frm;player gfx
Color 255,25,25
Rect MouseX(),MouseY(),2,2; mouse gfx
Flip
Wend
End
;-Functions-------------------------------------------------
Function MoveBullet(b.bullet)
b\y=b\y+(Cos(b\ang)*b\speed)
b\x=b\x+(Sin(b\ang)*b\speed)
DrawImage b\img,b\x,b\y,0
b\life=b\life-1
If b\life<0 ;Then Delete b.bullet
For i=1 To 50
pt.particle = New particle
pt\x = b\x
pt\y = b\y
pt\dx = Rnd(-2,2):pt\dy=Rnd(-2,2)
pt\size = Rnd(2,4)
col# = Rnd(48,128)
pt\r = col: pt\g = col: pt\b = col
If i>30 Then
pt\r=255: pt\g=300-pt\size*40: pt\b=0 ;colour it red/yellow
pt\dx=pt\dx/2 ;slow it down
pt\dy=pt\dy/2
End If
Next
Delete b.bullet
chnwave1=PlaySound(sndshot)
ChannelVolume chnwave1,.2
End If
End Function