'=========================================================================== ' Subject: BOUNCING BALLS Date: 06-21-96 (11:24) ' Author: John Wantland Code: QB, QBasic, PDS ' Origin: kwantlan@coffey.com Packet: EGAVGA.ABC '=========================================================================== REM bouncing balls ' I came up with the idea for this while working on a program to ' bounce balls on the screen. I accidently deleted the erasing line, and ' presto. Worms! RANDOMIZE TIMER n = 2 'number of worms works best with no more than five DIM y(n) DIM x(n) DIM d(n) DIM m(n) DIM c(n) FOR i = 1 TO n x(i) = INT(RND * 600 + 40) y(i) = INT(RND * 440 + 40) d(i) = INT(RND * 2 + 1) m(i) = INT(RND * 2 + 1) 1 c(i) = INT(RND * 15 + 1): IF c = 1 THEN 1 NEXT i SCREEN 12: CLS DO FOR i = 1 TO n ' erase the apostrophe to make balls instead of worms ' PAINT (x(i), y(i)), 0 c(i) = c(i) + 1: IF c(i) > 15 THEN c(i) = 2 IF d(i) = 1 THEN y(i) = y(i) - 1 IF d(i) = 2 THEN y(i) = y(i) + 1 IF m(i) = 1 THEN x(i) = x(i) - 1 IF m(i) = 2 THEN x(i) = x(i) + 1 IF y(i) < 11 THEN d(i) = 2 IF y(i) > 469 THEN d(i) = 1 IF x(i) < 11 THEN m(i) = 2 IF x(i) > 629 THEN m(i) = 1 CIRCLE (x(i), y(i)), 10, c(i) '10 is size Change if you want PAINT (x(i), y(i)), c(i) a$ = INKEY$: IF a$ <> "" THEN END NEXT i LOOP