'=========================================================================== ' Subject: A STAR FIELD Date: 04-30-96 (06:36) ' Author: Cam Spowart Code: QB, QBasic, PDS ' Origin: slyboots@supernet.ab.ca Packet: EGAVGA.ABC '=========================================================================== SCREEN 12: CLS DIM x(1 TO 50) AS INTEGER DIM y(1 TO 50) AS INTEGER DIM xinc(1 TO 50) AS SINGLE DIM yinc(1 TO 50) AS SINGLE xcenter = 320 ycenter = 240 FOR a = 1 TO 50 STEP 1 RANDOMIZE TIMER 'x(a) = INT(RND * 32) + 304 'y(a) = INT(RND * 20) + 229 x(a) = xcenter y(a) = ycenter xinc(a) = RND * 1 yinc(a) = RND * 1 neg = INT(RND * 2) neg1 = INT(RND * 2) IF neg = 0 THEN xinc(a) = xinc(a) IF neg = 1 THEN xinc(a) = xinc(a) * -1 IF neg1 = 1 THEN yinc(a) = yinc(a) IF neg1 = 1 THEN yinc(a) = yinc(a) * -1 NEXT a DO UNTIL INKEY$ = " " getbackin: FOR b = 1 TO 50 STEP 1 PSET (x(b), y(b)), 0 x(b) = x(b) + xinc(b) y(b) = y(b) + yinc(b) IF x(b) < 0 OR x(b) > 639 OR y(b) < 0 OR y(b) > 479 THEN GOTO revamp PSET (x(b), y(b)), 15 xinc(b) = xinc(b) * 1.01 yinc(b) = yinc(b) * 1.01 NEXT b LOOP SCREEN 0 CLS END revamp: 'x(b) = INT(RND * 32) + 304 'y(b) = INT(RND * 20) + 229 x(b) = xcenter y(b) = ycenter xinc(b) = RND * 5 yinc(b) = RND * 5 neg = INT(RND * 2) neg1 = INT(RND * 2) IF neg = 0 THEN xinc(b) = xinc(b) IF neg = 1 THEN xinc(b) = xinc(b) * -1 IF neg1 = 1 THEN yinc(b) = yinc(b) IF neg1 = 1 THEN yinc(b) = yinc(b) * -1 PSET (x(b), y(b)), 0 'CIRCLE (320, 240), 15, 1 'PAINT (320, 240), 9 GOTO getbackin