The QBasic Forum     RULES     Other Subforums, Links and Downloads    Index of Threads

 Return to Index  

Screens.BAS - Very simple graphics yet attractive "screensaver".

January 14 2007 at 11:46 PM
  (Login ComputerGhost)
R


Response to I dug out an old computer today, and found several old programs.

CONST NUMPOINTS = 2
TYPE points
x AS INTEGER
y AS INTEGER
xd AS INTEGER
yd AS INTEGER
END TYPE
DIM SHARED p(NUMPOINTS) AS points
DIM SHARED op(NUMPOINTS) AS points

FOR i% = 0 TO NUMPOINTS
p(i%).xd = -1: p(i%).yd = 1
p(i%).x = INT(RND * 640)
p(i%).y = INT(RND * 480)
NEXT i%
p(0).x = p(NUMPOINTS).x: p(0).y = p(NUMPOINTS).y
SCREEN 12
DO
CIRCLE (ocx%, ocy%), 10, 0
CIRCLE (cx%, cy%), 10, 10
ocx% = cx%: ocy% = cy%
cx% = 0: cy% = 0

colour% = INT(RND * 15) + 1
FOR i% = 1 TO NUMPOINTS
LINE (op(i% - 1).x, op(i% - 1).y)-(op(i%).x, op(i%).y), 0
LINE (p(i% - 1).x, p(i% - 1).y)-(p(i%).x, p(i%).y), colour%
cx% = cx% + p(i%).x: cy% = cy% + p(i%).y
NEXT i%
cx% = cx% \ (NUMPOINTS): cy% = cy% \ (NUMPOINTS)

FOR i% = 0 TO NUMPOINTS
op(i%).x = p(i%).x: op(i%).y = p(i%).y
p(i%).x = p(i%).x + p(i%).xd
p(i%).y = p(i%).y + p(i%).yd
IF p(i%).x < 5 THEN p(i%).xd = 1
IF p(i%).x > 635 THEN p(i%).xd = -1
IF p(i%).y < 5 THEN p(i%).yd = 1
IF p(i%).y > 475 THEN p(i%).yd = -1
NEXT i%
LOOP UNTIL INKEY$ <> ""


 
 Respond to this message