SHOW:
|
|
- or go back to the newest paste.
1 | - | const PI = atn(1)*4 |
1 | + | #include "crt.bi" |
2 | #include "fbgfx.bi" | |
3 | - | dim shared as short Min = 12 |
3 | + | |
4 | dim shared as integer iWait=1 | |
5 | - | const ScrWid=1280,ScrHei=1024 |
5 | + | dim shared as single fDiv |
6 | ||
7 | const ScrWid=640,ScrHei=512 | |
8 | - | screenres ScrWid,ScrHei 'mode 1 |
8 | + | |
9 | ||
10 | - | color 14 |
10 | + | screenres ScrWid,ScrHei,,,fb.gfx_HIGH_PRIORITY 'mode 1 |
11 | window (0,0)-(1280,1024) | |
12 | - | sub PROCC(L as short,ANGLE as single) |
12 | + | color &h2C |
13 | - | if L<MIN then |
13 | + | |
14 | - | line -step(ScX+L*COS(ANGLE),ScY),,bf |
14 | + | sub PROCC(L as integer,iAng as integer) |
15 | - | line -step(-ScX,L*SIN(ANGLE)-ScY),,bf |
15 | + | static as integer OX(...) = {9, 0,-9, 0} |
16 | - | sleep 1,1 |
16 | + | static as integer OY(...) = {0, 9, 0,-9} |
17 | if L=0 then | |
18 | - | end if |
18 | + | line -step(ScX+OX(iAng shr 1),ScY),,bf |
19 | - | L = int(L/SQR(2)) |
19 | + | line -step(-ScX,OY(iAng shr 1)-ScY),,bf |
20 | - | PROCC(L,ANGLE+PI/4) |
20 | + | if len(inkey$) then iWait=0 |
21 | - | PROCC(L,ANGLE-PI/4) |
21 | + | if iWait then sleep 10,1 |
22 | exit sub | |
23 | end if | |
24 | L -= 1 | |
25 | - | PROCC(700,0) |
25 | + | PROCC(L,(iAng+1) and 7) |
26 | PROCC(L,(iAng-1) and 7) | |
27 | end sub | |
28 | ||
29 | pset(300,200) | |
30 | PROCC(12,0) | |
31 | sleep | |
32 |