'=========================================================================== ' Subject: TORNADO SIMULATOR Date: 06-14-96 (20:20) ' Author: John Wantland Code: QB, QBasic, PDS ' Origin: kwantlan@coffey.com Packet: EGAVGA.ABC '=========================================================================== REM tornado ' sorry about the mess at first, but I haven't found out what's wrong yet. SCREEN 12: CLS RANDOMIZE TIMER n = 50 'how thick tornado is. change if you want j = 0 DIM x(n) DIM y(n) DIM c(n) DIM d(n) DIM l(n) DIM g(n) DIM j(n) FOR i = 1 TO n y(i) = INT(RND * 480 + 1) d(i) = INT(RND * 2 + 1) j(i) = 0 GOSUB 4 x(i) = INT(RND * (g(i) - l(i) + 1) + l(i)) NEXT i DO FOR i = 1 TO n PSET (x(i), y(i)), 0 IF d(i) = 1 THEN x(i) = x(i) + 2: c(i) = 7: IF x(i) >= g(i) THEN d(i) = 2 IF d(i) = 2 THEN x(i) = x(i) - 2: c(i) = 15: IF x(i) <= l(i) THEN d(i) = 1 y(i) = y(i) + 1: IF y(i) >= 480 THEN GOSUB 2 j(i) = j(i) + 1: IF j(i) > 2 THEN j(i) = 0: g(i) = g(i) - 1: l(i) = l(i) + 1 a$ = INKEY$: IF a$ <> "" THEN END PSET (x(i), y(i)), c(i) NEXT i LOOP 2 y(i) = 1 d(i) = INT(RND * 2 + 1) j(i) = 0 GOSUB 4 x(i) = INT(RND * (g(i) - l(i)) + l(i)) RETURN 4 g(i) = 500 l(i) = 100 FOR t = 1 TO 480 g(i) = g(i) - 1 l(i) = l(i) + 1 IF t = y(i) THEN RETURN NEXT t RETURN