Just another stupid test message.
Blowing bubbles into the wind to see how far they get.
'_|_|_| BUBBLES.BAS
'_|_|_| This program uses the CIRCLE function to create the
'_|_|_| illusion of bubbles being blown from a bubble machine
'_|_|_| and blowing past the viewer.
'_|_|_| Released to PUBLIC DOMAIN by Kurt Kuzba. (1/31/96)
'$LIB -com, -lpt, -cga, -ega, -herc, -fullfloat, -iprint
'$OPTIMIZE SIZE
TYPE CircObj
LX AS INTEGER: LY AS INTEGER: R AS INTEGER
CX AS INTEGER: CY AS INTEGER: C AS INTEGER
END TYPE: DIM CO(25) AS CircObj: W% = 320: H% = 240
CO(0).LX = W% * 2: CO(0).CX = 1: CO(0).LY = H%
CO(0).CY = 1: XL% = W% * 2: YL% = H% * 2
RANDOMIZE (TIMER + INP(64)): BUBS%= VAL(COMMAND$)
IF BUBS% < 10 THEN BUBS% = 10
IF BUBS% > 40 THEN BUBS% = 40
FOR T% = 0 TO BUBS%: CO(T%) = CO(0): NEXT
WHILE INKEY$ "": WEND: k$ = "": C% = 0: SCREEN 12
DO
K$ = INKEY$: IF K$ "" THEN EXIT DO
CIRCLE (CO(C%).LX, CO(C%).LY), CO(C%).R, 0
X% = CO(C%).LX + CO(C%).CX: Y% = CO(C%).LY + CO(C%).CY
IF (X% >= XL%) OR (X% = YL%) THEN
X% = RND * 9: Y% = 9 - X%
IF RND > .49 THEN X% = -X%
IF RND > .49 THEN Y% = -Y%
CO(C%).CX = X%: CO(C%).CY = Y%
CO(C%).C = 14 * RND + 1: X% = W%: Y% = H%
END IF: CO(C%).LX = X%: CO(C%).LY = Y%
X% = ABS(W% - CO(C%).LX) + ABS(H% - CO(C%).LY)
CO(C%).R = (100 + X%) \ 5
CIRCLE (CO(C%).LX, CO(C%).LY), CO(C%).R, CO(C%).C
C% = (C% + 1) MOD BUBS%
LOOP
'_|_|_| end BUBBLES.BAS
---
> ] I am Witness of Borg. Have you been assimilated?............
---------------
|