DECLARE SUB Scrnsvr () SCREEN 9: r = 1 5 CLS : t = TIMER: COLOR 1 WINDOW (-200 * r, -152 * r)-(200 * r, 150 * r) FOR n% = -200 * r TO 200 * r STEP 10 * r LINE (-200 * r, n%)-(200 * r, n%) NEXT n% FOR m% = -200 * r TO 200 * r STEP 10 * r LINE (m%, -200 * r)-(m%, 200 * r) NEXT m% COLOR 15 LINE (200 * r, 0)-(-200 * r, 0): LINE (0, -200 * r)-(0, 200 * r) LOCATE 1, 1: PRINT "(Esc)ape (Z)oom-ed by"; ABS(r); "(I)nverse)"; i; 175 * ABS(r); "(-)F[x]"; q; "(Y)Abs"; k LOCATE 13, 1: PRINT -200 * r: LOCATE 13, 76: PRINT 200 * r: LOCATE 23, 40: PRINT -175 * r REM 6 Red 8 Light Red 10 Yellow 12 Light Green 14 Green REM 16 Cyan 18 Light Cyan 22 Light Blue 24 Magenta 26 Light Magenta REM 28 Gray ***** Made By Jerrad Pierce 1/14/95 ***** GOSUB 14: GOSUB 10: GOSUB 6: GOTO 30 6 COLOR 4 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 7 y = -TAN(x) IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 7 LINE (x, y)-(w, z) 7 w = x: z = y NEXT h: RETURN 8 COLOR 11 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 9 y = TAN(x) IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 9 LINE (x, y)-(w, z) 9 w = x: z = y NEXT h: RETURN 10 COLOR 14 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 11 y = TAN(x) IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 11 LINE (x, y)-(w, z) 11 w = x: z = y NEXT h: RETURN 12 COLOR 2 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 13 y = x IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 13 LINE (x, y)-(w, z) 13 w = x: z = y NEXT h: RETURN 14 COLOR 10 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 15 y = TAN(x) IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 15 LINE (x, y)-(w, z) 15 w = x: z = y NEXT h: RETURN 16 COLOR 3 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 17 y = x IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 17 LINE (x, y)-(w, z) 17 w = x: z = y NEXT h: RETURN 18 COLOR 11 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 19 y = x IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 19 LINE (x, y)-(w, z) 19 w = x: z = y NEXT h: RETURN 22 COLOR 9 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 23 y = x IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 23 LINE (x, y)-(w, z) 23 w = x: z = y NEXT h: RETURN 24 COLOR 5 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 25 y = x IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 25 LINE (x, y)-(w, z) 25 w = x: z = y NEXT h: RETURN 26 COLOR 13 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 27 y = x IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 27 LINE (x, y)-(w, z) 27 w = x: z = y NEXT h: RETURN 28 COLOR 7 FOR h = -200 * r TO 200 * r STEP r x = h: IF x = 0 GOTO 29 y = x IF i = 1 THEN y = 1 / y IF k = 1 THEN y = ABS(y) IF q = 1 THEN y = -y IF x = -200 GOTO 29 LINE (x, y)-(w, z) 29 w = x: z = y NEXT h: RETURN 30 COLOR 15 35 l$ = INKEY$ IF (t + 7) < TIMER THEN CALL Scrnsvr: GOTO 5 IF l$ = "" GOTO 35 IF l$ = CHR$(122) GOTO 40 IF l$ = CHR$(105) GOTO 50 IF l$ = CHR$(121) GOTO 60 IF l$ = CHR$(45) GOTO 70 IF l$ = CHR$(27) GOTO 99 ELSE GOTO 35 40 t = r INPUT "Zoom factor"; r: IF r <= .049 THEN r = .05 IF r >= 156 THEN r = 166: GOTO 5 50 IF i = 1 THEN i = 0 ELSE i = 1: r = -r: GOTO 5 60 IF k = 1 THEN k = 0 ELSE k = 1: GOTO 5 70 IF q = 1 THEN q = 0 ELSE q = 1 GOTO 5 99 SUB Scrnsvr WINDOW: y = 10 80 CLS : COLOR (y + 1) PRINT "Press Esc to exit" 81 t = 0: g = 0: n = 0: l = l + 1 IF l = 2 THEN l = 0: IF l = 1 THEN m = 1 ELSE m = 0 IF m = 1 THEN z = 1 ELSE z = 9: IF z = 1 THEN y = 2 ELSE y = 10 82 CIRCLE (320, 175), 120, z: PAINT (320, 175), z, z CIRCLE (320, 175), 120, y, 12 / 12, 7 / 3: LINE (320, 175)-(385, 101), y LINE (320, 175)-(237, 118), y: LINE (237, 118)-(237, 111), y PAINT (315, 165), y, y: LINE (260, 170)-(255, 130), y LINE (260, 170)-(300, 200), y: LINE (300, 200)-(305, 200), y LINE (270, 170)-(305, 200), y: LINE (270, 170)-(275, 170), y LINE (275, 170)-(325, 210), y: LINE (325, 210)-(335, 210), y CIRCLE (363, 225), 35, y: PAINT (363, 225), y, y LINE (345, 207)-(320, 200), y: LINE (320, 200)-(322, 180), y LINE (322, 180)-(337, 180), y: LINE (337, 180)-(347, 190), y LINE (347, 190)-(350, 192), y: LINE (350, 192)-(353, 188), y LINE (353, 188)-(345, 177), y: LINE (345, 177)-(351, 160), y LINE (351, 160)-(355, 100), y: PAINT (320, 177), y, y LINE (337, 225)-(349, 260), y: LINE (399, 225)-(393, 245), y CIRCLE (320, 175), 120, y, 119 / 24, 43 / 8: PAINT (350, 254), y, y 83 RANDOMIZE TIMER: IF INKEY$ = CHR$(27) GOTO 93 84 o% = INT(RND * 23) + 1: p% = INT(RND * 78) + 2: q% = CINT(RND * 15) + 1 IF q% = 7 THEN z% = 1: GOTO 85 IF q% = 6 THEN z% = 4: GOTO 85 IF q% = 5 THEN z% = 7: GOTO 85 IF q% = 4 THEN z% = 12: GOTO 85 IF q% = 3 THEN z% = 14: GOTO 85 IF q% = 2 THEN z% = 15: GOTO 85 IF q% = 1 THEN z% = 15 ELSE z% = 0 85 IF o% <= 2 THEN GOTO 86 ELSE GOTO 87 86 IF p% <= 18 GOTO 84 ELSE GOTO 88 87 IF o% < 7 GOTO 88 IF o% > 19 GOTO 88 IF p% < 23 GOTO 88 IF p% > 57 GOTO 88 ELSE GOTO 84 88 LOCATE o%, p%: COLOR z% 89 w% = CINT(RND * 75) + 1 IF w% < 15 THEN y% = 4: GOTO 90: IF w% < 30 THEN y% = 15: GOTO 90 IF w% < 45 THEN y% = 42: GOTO 90: IF w% < 60 THEN y% = 248: GOTO 90 IF w% < 75 THEN y% = 249: GOTO 90: IF w% = 76 THEN y% = 197: GOTO 90 IF q% <> 0 GOTO 88 ELSE GOTO 90 90 d = CINT(RND * 20) + 1: IF d = 6 GOTO 91 ELSE GOTO 92 91 PRINT CHR$(y%) 92 g = g + 1: IF g >= 7500 GOTO 80 ELSE GOTO 83 93 COLOR 15: END SUB