'define reticle image
CIRCLE (24, 24), 20, &HFFFF0000 LINE (0, 24)-(49, 24), &HFFFF0000 LINE (24, 0)-(24, 49), &HFFFF0000
shoot = 0
ms = MBS
shoot = shoot + 1
FCirc hole(x).x, hole(x).y, 3, &HFFFF0000
FUNCTION MBS%
'Mouse Button Status by Steve McNeill 'STATIC ClickCount AS INTEGER
CONST ClickLimit##
= .2 'Less than 1/4 of a second to down, up a key to count as a CLICK. ' Down longer counts as a HOLD event.
SHARED Mouse_StartX
, Mouse_StartY
, Mouse_EndX
, Mouse_EndY
WHILE _MOUSEINPUT 'Remark out this block, if mouse main input/clear is going to be handled manually in main program.
IF _MOUSEBUTTON(1) THEN 'If a button is pressed, start the timer to see what it does (click or hold) ButtonDown
= 1: StartTimer
= TIMER(0.01) ButtonDown
= 2: StartTimer
= TIMER(0.01) ButtonDown
= 3: StartTimer
= TIMER(0.01) IF TIMER(0.01) - StartTimer
<= ClickLimit
THEN 'Button was down, then up, within time limit. It's a click MBS = 0: ButtonDown = 0: StartTimer = 0
ELSE 'We've now started the hold event MBS
= MBS
OR 32 * 2 ^ ButtonDown
'Steve's circle draw
RError = -R
X = R
Y = 0
LINE (CX
- X
, CY
)-(CX
+ X
, CY
), C
, BF
RError = RError + Y * 2 + 1
LINE (CX
- Y
, CY
- X
)-(CX
+ Y
, CY
- X
), C
, BF
LINE (CX
- Y
, CY
+ X
)-(CX
+ Y
, CY
+ X
), C
, BF
X = X - 1
RError = RError - X * 2
Y = Y + 1
LINE (CX
- X
, CY
- Y
)-(CX
+ X
, CY
- Y
), C
, BF
LINE (CX
- X
, CY
+ Y
)-(CX
+ X
, CY
+ Y
), C
, BF