_TITLE "Lava Flow" 'bplus 2019-12-12 based on Lava 3.bas SmallBASIC 2015-04-25
'================================================================================
' Press Spacebar for slightly different lava effect
'================================================================================
CONST xmax
= 1200, ymax
= 720, n
= 800, bg
= &HFF000000 '<< try different colors LINE (0, 0)-(xmax
, ymax
), bg
, BF
'black'n screen fEllipse x(i), y(i), xr(i), yr(i)
x(i) = x(i) + xr(i)
y
(i
) = y
(i
) + (INT(RND * 3) - 1) * yr
(i
) + .1 IF y
(i
) < -5 OR y
(i
) > ymax
+ 5 THEN new i
, 0 xp
= INT(RND * (xmax
- 5)) + 1 yp
= INT(RND * (ymax
- 5)) + 1 PAINT (xp
, yp
), fire~&
, bg
scale = yRadius / xRadius
LINE (CX
, CY
- yRadius
)-(CX
, CY
+ yRadius
), , BF
y
= scale
* SQR(xRadius
* xRadius
- x
* x
) LINE (CX
+ x
, CY
- y
)-(CX
+ x
, CY
+ y
), , BF
LINE (CX
- x
, CY
- y
)-(CX
- x
, CY
+ y
), , BF
y
(i
) = INT(RND * (ymax
- 10)) + 5 c(i) = lavaColor~&