Ok this is just a little test game.
There is 1 player and 1 enemy on screen. The player is moved via the mouse(Point and click).
The enemy just sits there
How do i add more enemy to the screen in random places( i know its a simple problem im just not thinking LOL)Say 10 enemies.
Thanks
There is 1 player and 1 enemy on screen. The player is moved via the mouse(Point and click).
The enemy just sits there
How do i add more enemy to the screen in random places( i know its a simple problem im just not thinking LOL)Say 10 enemies.
Graphics3D 800,600,16,2 ;-Types----------------------------------------------------- Type bullet Field x#,y# Field ang#,speed# Field img Field life# End Type Type player Field x#,y# Field ang#,speed# Field img End Type Type enemy Field enx#,eny# Field life Field img End Type Type blood Field x#,y#,dx#,dy# ;location and speed Field timer Field size# Field r,g,b End Type Global me.player=New player Global en.enemy=New enemy Global b.bullet=New bullet Global clickedx,clickedy me\x=400 me\y=300 me\img=CreateImage(9,9) SetBuffer ImageBuffer(me\img) Color 100,255,100 Oval 0,0,8,8 ;player gfx MidHandle me\img en\enx=Rnd(0,800) en\eny=Rnd(0,600) en\img=CreateImage(9,9) SetBuffer ImageBuffer(en\img) Color 255,100,100 Oval 0,0,8,8 ;enemy gfx MidHandle en\img mover# = 1 SetBuffer BackBuffer() ;-Main loop------------------------------------------------- While Not KeyHit(1) Cls If MouseHit(2) clickedx=MouseX() clickedy=MouseY() me\ang=ATan2(clickedx-me\x,clickedy-me\y) me\speed=3 EndIf If Sqr((me\x-clickedx)^2+(me\y-clickedy)^2)<3 me\speed=0 EndIf If MouseHit(1) b.bullet = New bullet ;Create bullet b\x = me\x+4 : b\y = me\y+2 b\ang= ATan2(MouseX()-b\x,MouseY()-b\y)+Rnd(-3,6) b\speed=4 b\life=40 End If For b.bullet = Each bullet movebullet(b) Next ;Move blood For bl.blood = Each blood bl\x = bl\x + bl\dx bl\y = bl\y + bl\dy bl\timer=bl\timer+1 If bl\timer>15 Then Delete bl ;15 frames until destroy Next me\y=me\y+(Cos(me\ang)*me\speed) me\x=me\x+(Sin(me\ang)*me\speed) DrawImage me\img,me\x,me\y ;draw player Color 150,150,150 Oval MouseX(),MouseY(),4,4 ;mouse gfx DrawImage en\img,en\enx,en\eny ;draw enemy ;Collision check ;Collision check If Sqr((me\x-en\enx)^2+(me\y-en\eny)^2)<8 me\speed=0 If ImagesCollide (me\img, me\x, me\y,0, en\img, en\enx, en\eny,0) angle# = ATan2(me\y - en\eny,en\enx - me\x) en\enx = en\enx + (mover * (Cos (angle))) en\eny = en\eny + (mover * (Sin (angle))) Color 255,255,255 Text 350,500," COLLISION " End If End If ;On screen info Color 255,255,255 Text 0,0,"LMB = Shoot / RMB = Move" ;Draw particles For bl.blood = Each blood Color 200,50,50 Oval bl\x-bl\size/2,bl\y-bl\size/2,bl\size,bl\size Next 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) Color 200,200,100 Rect b\x,b\y,2,2 b\life=b\life-1 ;Collision check If Sqr((b\x-en\enx)^2+(b\y-en\eny)^2)<8 Color 255,55,55 Text 350,500," HIT " b\life=-1 For i=1 To 5 bl.blood = New blood bl\x = b\x bl\y = b\y bl\dx = Rnd(-2,2):bl\dy=Rnd(-2,2) bl\size = 2 Next End If If b\life<0 ;Then Delete b.bullet Delete b.bullet End If End Function
Thanks