_TITLE "Move your mouse" + SPACE$(53) + "Satellite" 'B+ post 2019-01-10
r = ymax / 2.5: xc = xmax / 2: yc = ymax / 2: xo = 0
tct x + 3, y + 3, 94, 94, mx, my
tv
= (_ASIN(y
/ r
) + 1.5) / 3 tu
= (_ASIN(x
/ x1
) + 1.5) / 6 pc~&
= POINT((xo
+ tu
* xmax
) MOD xmax
, tv
* ymax
) PSET (x
+ xc
, y
+ yc
), pc~&
xo = xo - 1 + xmax
SUB tct
(x
, y
, w
, h
, fx
, fy
) mx = fx * w
my = fy * h
dlx = (mx - 1) / 10: drx = (w - mx - 1) / 10: dty = (my - 1) / 10: dby = (h - my - 1) / 10
tx = 0: ty = 0
LINE (x
+ mx
- i
* dlx
, y
+ my
- i
* dty
)-(x
+ mx
+ i
* drx
, y
+ my
+ i
* dby
), _RGB32(5 * i
, 10 * i
, 15 * i
), BF
xx = x + w - mx: yy = y + h - my
tx = 0: ty = 0
tx = tx + drx
ty = ty + dby
tx = tx + dlx
ty = ty + dty
Lightning x + mx, y + my, xx, yy, h
SUB Lightning
(x1
, y1
, x2
, y2
, d
) mx = (x2 + x1) / 2
my = (y2 + y1) / 2
mx
= mx
+ -.5 * RND * d
* .4 * rand&&
(-2, 2) my
= my
+ -.5 * RND * d
* .4 * rand&&
(-2, 2) Lightning x1, y1, mx, my, d / 2
Lightning x2, y2, mx, my, d / 2
rand&&
= INT(RND * (hi&&
- lo&&
+ 1)) + lo&&