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 |