rem ***********************
rem  A Mouse's Best Friend
rem ***********************
 
Sync On
Sync rate 65
 
DO
   mx=mousex():my=mousey()
 
   `calculate
   if abs(mx-x#)>10 or abs(my-y#)>10
      a# = curveangle( atanfull(mx-x#,my-y#) ,a#, abs((mx-x#)+(my-y#))/10)
      if s<6 then s=s+1
      x# = x# + sin(a#)*s
      y# = y# + cos(a#)*s
   else
      s=0
   endif
 
if abs(mx-d#)>5 or abs(my-e#)>5
      f# = curveangle( atanfull(mx-d#,my-e#) ,f#, abs((mx-d#)+(my-e#))/5)
      if g<6 then g=g+1
      d# = d# + sin(f#)*g
      e# = e# + cos(f#)*g
   else
      g=0
   endif
 
if abs(mx-h#)>7.5 or abs(my-i#)>7.5
      j# = curveangle( atanfull(mx-h#,my-i#) ,j#, abs((mx-h#)+(my-i#))/7.5)
      if k<6 then k=k+1
      h# = h# + sin(j#)*k
      i# = i# + cos(j#)*k
   else
      k=0
   endif
 
 
   Rem Start bullet creation
     bulletposX= x#
     bulletposY= y#
rem I had orginally had it like this (mx-x#) but thought that doesn't make sense, and it wouldn't
rem let me use circle x#,y# for coords so I started to use this.
 
 
  if mx and my <> 0 and bulletinit=0 then bulletinit=1
     if bulletinit=1 then gosub movebullet
 
  rem what I have here is whether or not the mouse is moving a flag
  rem will be turned on to create the bullet which will go to the subroutine and make our bullet and set it loose. But this is my problem
  rem I have been looking over tdk's tut on shooting, must've read it twenty,thirty times, I 'know I'm close.
  rem I don't want the answer in code if it all possible, I really do want to figure it out, but could anyone maybe
  rem answer in psuedo-code or through another form of writing?
 
   `draw
   circle x#,y#,10
   circle d#,e#,10
   circle h#,i#,10
 
    line x#,y#,x#+sin(a#)*15,y#+cos(a#)*15
    line d#,e#,d#+sin(f#)*15,e#+cos(f#)*15
    line h#,i#,h#+sin(j#)*15,i#+cos(j#)*15
   sync:cls
LOOP
 
movebullet:
 
  Dec bulletposX,10
  Dec bulletposY,10
  Text bulletposX,bulletposY,">"
  Sleep 1
  Text bulletposX,bulletposY," "
  Rem Check to see if we hit anything here and if we did
  Rem handle it. Reset flag if bullet is done with
  If bulletposX<=0 Then bullletinit=0
Return