'***************************************************************************** '* * * '* A F T E R M A T H * '* * '***************************************************************************** ' Copyright (C) Domino Productions 1994 DECLARE SUB start () DECLARE SUB formulas () DECLARE SUB sine (x, y, n) DECLARE SUB cosine (x, y, n) DECLARE SUB tangent (x, y, n) DECLARE SUB squared (x, y, n) DECLARE SUB exponent (x, y, n) DECLARE SUB logarithm (x, y, n) DECLARE SUB lin (m!, x!, b!) DECLARE SUB trig (d!) DECLARE SUB mat (m, c, f, o, n, v) DECLARE SUB ell (h!, k!, r!, r2!) DECLARE SUB mid (x1, x2, y1, y2) DECLARE SUB dis (x1!, x2!, y1!, y2!) DECLARE SUB graph (i) DECLARE SUB circ1 (h2!, k!, r3!) DECLARE SUB slope (x1, y1, x2, y2) CALL start END SUB circ1 (h2!, k!, r3!) SCREEN 9 COLOR 10 INPUT "What is the x-coordinate of the center"; h2! INPUT "What is the y-coordinate of the center"; k! INPUT "what is the radius of the circle"; r3! CLS SCREEN 9 COLOR 10, 0: CLS WINDOW (-10, -10)-(10, 10) LINE (-10, 0)-(10, 0) LINE (0, -10)-(0, 10) FOR i = 1 TO 10 LINE (-1, (-10 + i))-(1, (-10 + i)) NEXT FOR i = 1 TO 10 LINE (-10 + i, -1)-(-10 + i, 1) NEXT i FOR i = 1 TO -10 STEP -1 LINE (-1, (10 + i))-(1, (10 + i)) NEXT i FOR i = 1 TO -10 STEP -1 LINE (10 + i, -1)-(10 + i, 1) NEXT i PSET (h2!, k!), 4 CIRCLE (h2!, k!), r3!, 4 PRINT "Press any key" pause$ = INPUT$(1) CALL graph(i) END SUB SUB cosine (x, y, n) SCREEN 9 twopi = 6.283 WINDOW (-twopi, -twopi)-(twopi, twopi) CLS INPUT "What is the amplitude"; a INPUT "What is the period"; b INPUT "What is the vertical shift"; k INPUT "What is the horizontal shift"; h CLS LINE (-twopi, 0)-(twopi, 0) LINE (0, -twopi)-(0, twopi) PRINT "Searching for best graph setup..." SLEEP 2 CLS FOR v = 0 TO -(twopi * 3) / 4.2 STEP -.01 LINE (v, -twopi)-(v, twopi), 10 LINE (v, -twopi)-(v, twopi), 0 LINE (-twopi, 0)-(twopi, 0) NEXT v WINDOW (-1, -twopi)-(twopi, twopi) CLS LINE (-twopi, 0)-(twopi, 0) LINE (0, -twopi)-(0, twopi) FOR n = 0 TO twopi STEP .01 y = (a * (COS(b * (n - h))) + k) + .25 z = (a * (COS(b * (n - h))) + k) - .25 PSET (n, y), n + 1 PSET (n, z), n + 1 LINE (n, z)-(n, y), n + 1 NEXT n PRINT "Press any key" pause$ = INPUT$(1) END SUB SUB dis (x1, x2, y1, y2) CLS COLOR 10 INPUT "Give me your second x value"; x2 INPUT "Give me your first x value"; x1 INPUT "Give me your second y value"; y2 INPUT "Give me your second y value"; y1 d = SQR(((x2 - x1) ^ 2) + ((y2 - y1) ^ 2)) COLOR 4 PRINT : PRINT "The distance is"; d pause$ = INPUT$(1) CALL formulas END SUB SUB exponent (x, y, n) SCREEN 9 WINDOW (-5, -5)-(5, 5) CLS INPUT "Word, G-homey, hook me up on the niz-umber tip. ", x CLS PRINT "Searching for the best graph setup..." LINE (-500, 0)-(500, 0) LINE (0, -500)-(0, 500) SLEEP 2 CLS LINE (-500, 0)-(500, 0) LINE (0, -500)-(0, 500) FOR n = -x TO x STEP .01 y = .25 + EXP(n) b = -.25 + EXP(n) LINE (n, b)-(n, b), n + 6 LINE (n, y)-(n, y), n + 6 LINE (n, b)-(n, y), n + 6 NEXT n PRINT "Press any key" pause$ = INPUT$(1) END SUB SUB formulas CLS COLOR 10 PRINT " MENU" PRINT : PRINT "1. The Distance Formula" PRINT "2. The Midpoint Formula" PRINT "3. The Slope Formula" PRINT "4. Exit" PRINT : COLOR 4 INPUT "Your choice"; formulachs% SELECT CASE formulachs% CASE 1 CALL dis(x1!, x2!, y1!, y2!) CASE 2 CALL mid(x1, x2, y1, y2) CASE 3 CALL slope(x1, y1, x2, y2) CASE 4 CALL start CASE ELSE PRINT "That is not a valid choice" CALL formulas END SELECT END SUB SUB graph (i) SCREEN 12 CLS COLOR 10 PRINT , "MENU" PRINT "1. Line" PRINT "2. Circle" PRINT "3. Trigonometric Functions" PRINT "4. Exit" PRINT : PRINT COLOR 4 INPUT "Make a selection. ", i SELECT CASE i CASE 1 CALL lin(m!, x!, b!) CASE 2 CALL circ1(h!, k!, r!) CASE 3 CALL trig(d) CASE 4 CALL start CASE ELSE PRINT "Sorry, but that isn't a valid choice." CALL graph(i) END SELECT PRINT "1994 Domino Productions" LOCATE 12, 70: PRINT "x-Axis" LOCATE 1, 42: PRINT "y-axis" END END SUB SUB lin (m, x, b) INPUT "What is the y-intercept"; b INPUT "What is the slope of the line"; m CLS SCREEN 9 w = -10 t = -10 u = 10 z = 10 COLOR 10, 0: CLS WINDOW (w, t)-(u, z) LINE (w, 0)-(u, 0) LINE (0, t)-(0, z) FOR i = 1 TO -w LINE (-1, (w + i))-(1, (w + i)) NEXT FOR i = 1 TO -t LINE (t + i, -1)-(t + i, 1) NEXT i FOR i = 1 TO -u STEP -1 LINE (-1, (u + i))-(1, (u + i)) NEXT i FOR i = 1 TO -z STEP -1 LINE (z + i, -1)-(z + i, 1) NEXT i FOR x = w TO u STEP .01 y = (m * x) + b LINE (x, y)-(x, y), 4 NEXT x PRINT "Press any key" pause$ = INPUT$(1) CALL graph(i) END SUB SUB logarithm (x, y, n) SCREEN 9 WINDOW (-5, -5)-(5, 5) CLS INPUT "Gimme a number. ", x CLS LINE (-5, 0)-(5, 0) LINE (0, -5)-(0, 5) PRINT "Searching for best graph setup..." SLEEP 2 CLS WINDOW (-5, -5)-(5, 5) FOR f = 0 TO -4.35 STEP -.05 LINE (f, 5)-(f, -5), 10 LINE (f, 5)-(f, -5), 0 LINE (-5, 0)-(5, 0) NEXT f CLS FOR f = 0 TO -1 STEP -.05 LINE (-4.35, 5)-(-4.35, -5) LINE (5, f)-(-5, f), 10 LINE (5, f)-(-5, f), 0 NEXT f WINDOW (-.5, -5)-(7.5, 7.5) CLS LINE (0, -10)-(0, 10) LINE (-10, 0)-(10, 0) FOR n = .00000001# TO x STEP .01 y = LOG(n) b = -.5 + LOG(n) LINE (n, y)-(n, y), n + 1 LINE (n, b)-(n, b), n + 1 LINE (n, b)-(n, y), n + 1 NEXT n PRINT "Press any key" pause$ = INPUT$(1) END SUB SUB mat (m, c, f, o, n, v) CLS GOSUB doo doo: SCREEN 13 WINDOW (-50, -50)-(50, 50) i = 15 CLS DO WHILE INKEY$ = "" AND i < 2323434 i = i + 1 LOCATE 1, 19: PRINT "MENU" LOCATE 4, 9: PRINT "01. Addition practice" LOCATE 5, 9: PRINT "02. Subtraction practice" LOCATE 6, 9: PRINT "03. Multiplication practice" LOCATE 7, 9: PRINT "04. Division practice" LOCATE 8, 9: PRINT "05. Exit" LOCATE 23, 7: PRINT "To exit at any time, enter 999" LINE (i, -i)-(i / 3, -i / 3), i, B LINE (i / 2, -i / 2)-(i / 6, -i / 6), i, B LINE (-i / 2, -i / 2)-(-i / 6, -i / 6), i, B LINE (-i, -i)-(-i / 3, -i / 3), i, B LINE (i, i)-(-i, -i), i, B LOCATE 13, 15: PRINT "Press Any Key" LOOP LOCATE 13, 15: PRINT " " COLOR 10 SLEEP 1 LOCATE 13, 15: INPUT "Selection ? ", m DO GOSUB in1 END in1: COLOR 15 CLS IF m = 1 THEN GOSUB math1 ELSEIF m = 2 THEN GOSUB math2 ELSEIF m = 3 THEN GOSUB math3 ELSEIF m = 4 THEN GOSUB math4 ELSEIF m = 5 THEN CALL start END IF math1: RANDOMIZE TIMER a = INT(RND * 100 + 1) b = INT(RND * 100 + 1) PRINT a, b LOCATE 1, 10: PRINT "+" INPUT "What's the answer"; c IF c = 999 THEN GOSUB doo ELSEIF a + b = c THEN GOSUB out1 ELSEIF a + b <> c THEN GOSUB out5 END IF math2: RANDOMIZE TIMER d = INT(RND * 100 + 1) e = INT(RND * 100 + 1) PRINT d, e LOCATE 1, 10: PRINT "-" INPUT "What's the answer"; f IF f = 999 THEN GOSUB doo ELSEIF d - e = f THEN GOSUB out2 ELSEIF d - e <> f THEN GOSUB out5 END IF math3: RANDOMIZE TIMER g = INT(RND * 100 + 1) h = INT(RND * 100 + 1) PRINT g, h LOCATE 1, 10: PRINT "*" INPUT "What's the answer"; o IF o = 999 THEN GOSUB doo ELSEIF g * h = o THEN GOSUB out3 ELSEIF g * h <> o THEN GOSUB out5 END IF math4: DO RANDOMIZE TIMER j = INT(RND * 100 + 1) k = INT(RND * 100 + 1) a = j / k: b = j \ k LOOP UNTIL a = b PRINT j, k LOCATE 1, 10: PRINT "/" INPUT "What's the answer"; n IF n = 999 THEN GOSUB doo ELSEIF n = b THEN GOSUB out4 ELSEIF n <> b THEN GOSUB out5 END IF out1: PRINT "You is 1 smart person" PRINT "Push any key to continue" PLAY "T255L4N48N48L2N48L4N48N48L2N48L4N48N51L4N44.L8N46L1N48" pause$ = INPUT$(1) CLS GOSUB math1 out2: PRINT "CONGRATULATIONS!" PRINT "Push any key to continue" PLAY "T180O2P2P8L8GGGL2E-P24P8L8FFFL2D" pause$ = INPUT$(1) CLS GOSUB math2 out3: PRINT "Wow. You must work for NASA." PRINT "Push any key to continue" PLAY "T175L4N44N43N44L3N46L8N44L3N43L8N44L4N41" pause$ = INPUT$(1) CLS GOSUB math3 out4: PRINT "You got this one right but that doesn't mean you're not an idiot" PRINT "Push any key to continue" PLAY "T175L4N37.N41N43L8N46L4N44.N41N37" pause$ = INPUT$(1) CLS GOSUB math4 out5: GOSUB so1 GOSUB so2 so1: FOR i% = 800 TO 1000 STEP 5 SOUND i%, i% / 1000 NEXT i% FOR c% = 1000 TO 800 STEP -5 SOUND c%, c% / 750 NEXT c% PRINT "Oh, no! It's the math police!" RETURN so2: FOR i% = 800 TO 1000 STEP 5 SOUND i%, i% / 1000 NEXT i% FOR c% = 1000 TO 800 STEP -5 SOUND c%, c% / 750 NEXT c% INPUT "Do you (1) run or (2) try again"; v CLS IF v = 1 THEN CALL start ELSEIF v = 2 THEN GOSUB doo END IF RETURN LOOP END SUB SUB mid (x1, x2, y1, y2) CLS COLOR 10 INPUT "Give me your first x value"; x1 INPUT "Give me your second x value"; x2 INPUT "Give me your first y value"; y1 INPUT "Give me your second y value"; y2 m1 = (x1 + x2) / 2 m2 = (y1 + y2) / 2 COLOR 4 PRINT "The midpoint is ("; m1; ","; m2; ")" pause$ = INPUT$(1) CALL formulas END SUB SUB sine (x, y, n) SCREEN 9 twopi = 6.283 WINDOW (-twopi, -twopi)-(twopi, twopi) CLS INPUT "What is the amplitude"; a INPUT "What is the period"; b INPUT "What is the vertical shift"; k INPUT "What is the horizontal shift"; h CLS LINE (-twopi, 0)-(twopi, 0) LINE (0, -twopi)-(0, twopi) PRINT "Searching for best graph setup..." SLEEP 2 CLS FOR v = 0 TO -(twopi * 3) / 4.2 STEP -.01 LINE (v, -twopi)-(v, twopi), 10 LINE (v, -twopi)-(v, twopi), 0 LINE (-twopi, 0)-(twopi, 0) NEXT v WINDOW (-1, -twopi)-(twopi, twopi) CLS LINE (-twopi, 0)-(twopi, 0) LINE (0, -twopi)-(0, twopi) FOR n = 0 TO twopi STEP .01 y = (a * (SIN(b * (n - h))) + k) + .25 z = (a * (SIN(b * (n - h))) + k) - .25 PSET (n, y), n + 1 PSET (n, z), n + 1 LINE (n, z)-(n, y), n + 1 NEXT n PRINT "Press any key" pause$ = INPUT$(1) CLS END SUB SUB slope (x1, y1, x2, y2) CLS COLOR 10 INPUT "Give me your first x value"; x1 INPUT "Give me your first y value"; y1 INPUT "Give me your second x value"; x2 INPUT "Give me your second y value"; y2 m = (y2 - y1) / (x2 - x1) COLOR 4 PRINT "The slope of your line is"; m pause$ = INPUT$(1) CALL formulas END SUB SUB squared (x, y, n) SCREEN 9 CLS WINDOW (-5, -5)-(5, 5) INPUT "Give me integers or give me death. ", x CLS LINE (-5, 0)-(5, 0) LINE (0, -5)-(0, 5) PRINT "Searching for best graph setup..." SLEEP 2 CLS WINDOW (-5, -5)-(5, 5) FOR f = 0 TO -5 STEP -.05 LINE (f, 5)-(f, -5), 10 LINE (f, 5)-(f, -5), 0 LINE (-5, 0)-(5, 0) NEXT f CLS FOR f = 0 TO -5 STEP -.05 LINE (-5, -5)-(-5, 5) LINE (5, f)-(-5, f), 10 LINE (5, f)-(-5, f), 0 NEXT f WINDOW (-1, -1)-(49, 49) CLS LINE (-10, 0)-(256, 0) LINE (0, -25)-(0, 256) FOR n = 0 TO x STEP .01 y = (n ^ 2) LINE (n, y)-(y = n, y), n NEXT n PRINT "Press any key" pause$ = INPUT$(1) END SUB SUB start SCREEN 12 COLOR 10 CLS PRINT " MENU" PRINT " 1. Graphic Formulas" PRINT " 2. The Graphing Calculator" PRINT " 3. The Math Tutor" PRINT " 4. Exit" PRINT : PRINT COLOR 4 INPUT " Make your choice ", q SELECT CASE q CASE 1 CALL formulas CASE 2 CALL graph(i) CASE 3 CALL mat(m, c, f, o, n, v) CASE 4 CLS SLEEP 1 COLOR 8 LOCATE 12, 39: PRINT "y" SLEEP 1 COLOR 7 LOCATE 12, 39: PRINT "y" SLEEP 1 FOR i = 1 TO 100 FOR x = 1 TO 15 COLOR x LOCATE 12, 39: PRINT "y" NEXT x NEXT i COLOR 10 LOCATE 12, 39: PRINT "y" FOR u = 1 TO 38 STEP .025 COLOR 10 LOCATE 12, u: PRINT "B" COLOR 0 LOCATE 12, u: PRINT "B" NEXT u COLOR 10 LOCATE 12, 38: PRINT "B" FOR i = 78 TO 40 STEP -.025 COLOR 10 LOCATE 12, i: PRINT "e" COLOR 0 LOCATE 12, i: PRINT "e" NEXT i COLOR 10 LOCATE 12, 40: PRINT "e" FOR o = 1 TO 11 STEP .025 COLOR 10 LOCATE o, 37: PRINT "Good-" COLOR 0 LOCATE o, 37: PRINT "Good-" NEXT o COLOR 10 LOCATE 11, 37: PRINT "Good-" SLEEP 2 CLS FOR o = 37 TO 1 STEP -.05 d = 77 - o COLOR 10 LOCATE 11, o: PRINT "Good-" COLOR 0 LOCATE 11, o: PRINT "Good-" COLOR 10 LOCATE 12, d: PRINT "Bye" COLOR 0 LOCATE 12, d: PRINT "Bye" NEXT o COLOR 7 LOCATE 9, 24: PRINT "Thank you for using Aftermath" LOCATE 11, 32: PRINT "Also look for:" FOR b = 1 TO 5 STEP .05 SELECT CASE INT(b) CASE 1 a = 0 CASE 2 a = 8 CASE 3 a = 7 CASE 4 a = 15 END SELECT COLOR a LOCATE 15, 9: PRINT "M E G A R A P H I X" LOCATE 15, 49: PRINT "P H A S T F O N E" NEXT b FOR d = 1 TO 3 FOR i = 1 TO 10 STEP .1 COLOR i WINDOW (-39, -12)-(39, 12) CIRCLE (-8.4, -1.25), 2, i LOCATE 17, 31: PRINT "Dom" LOCATE 17, 35: PRINT "Productions" NEXT i NEXT d CIRCLE (-8.4, -1.25), 2, 10 COLOR 15 LOCATE 17, 31: PRINT "Dom" LOCATE 17, 35: PRINT "Productions" COLOR 0 END CASE ELSE PRINT "That is not a valid choice" SLEEP 1 CALL start END SELECT END SUB SUB tangent (x, y, n) SCREEN 9 twopi = 6.283 WINDOW (-twopi, -twopi)-(twopi, twopi) CLS INPUT "What is the amplitude"; a INPUT "What is the period"; b INPUT "What is the vertical shift"; k INPUT "What is the horizontal shift"; h CLS LINE (-twopi, 0)-(twopi, 0) LINE (0, -twopi)-(0, twopi) PRINT "Searching for best graph setup..." SLEEP 2 CLS LINE (-twopi, 0)-(twopi, 0) LINE (0, -twopi)-(0, twopi) FOR n = -twopi TO twopi STEP .01 y = (a * (TAN(b * (n - h))) + k) + .25 z = (a * (TAN(b * (n - h))) + k) - .25 PSET (n, y), n + 7 PSET (n, z), n + 7 LINE (n, z)-(n, y), n + 7 NEXT n PRINT "Press any key" pause$ = INPUT$(1) END SUB SUB trig (d) CLS in: CLS SCREEN 9 WINDOW (-50, -50)-(50, 50) FOR i = 0 TO 47.5 STEP .5 LINE (i, i)-(-i, -i), 8, BF NEXT FOR i = 0 TO 45 LINE (i, i)-(-i, -i), 7, BF NEXT FOR i = 0 TO 42.5 STEP .5 LINE (i, i)-(-i, -i), 15, BF NEXT FOR i = 0 TO 40 LINE (i, i)-(-i, -i), 14, BF NEXT FOR i = 0 TO 37.5 STEP .5 LINE (i, i)-(-i, -i), 10, BF NEXT FOR i = 0 TO 35 LINE (i, i)-(-i, -i), 9, BF NEXT FOR i = 0 TO 32.5 STEP .5 LINE (i, i)-(-i, -i), 5, BF NEXT FOR i = 0 TO 30 LINE (i, i)-(-i, -i), 4, BF NEXT FOR i = 0 TO 27.5 STEP .5 LINE (i, i)-(-i, -i), 12, BF NEXT FOR i = 0 TO 25 LINE (i, i)-(-i, -i), 15, BF NEXT FOR i = 0 TO 22.5 STEP .5 LINE (i, i)-(-i, -i), 7, BF NEXT FOR i = 0 TO 20 LINE (i, i)-(-i, -i), 8, BF NEXT FOR i = 0 TO 17.5 STEP .5 LINE (i, i)-(-i, -i), 0, BF NEXT RANDOMIZE TIMER i = INT(RND * (15 - 8 + 1) + 8) COLOR i LOCATE 10, 37: PRINT "1. sin" LOCATE 11, 37: PRINT "2. cos" LOCATE 12, 37: PRINT "3. tan" LOCATE 13, 37: PRINT "4. x^2" LOCATE 14, 37: PRINT "5. exp" LOCATE 15, 37: PRINT "6. log" LOCATE 16, 37: PRINT "7. Bye" PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : LOCATE 23, 1: INPUT "What's your choice"; x SELECT CASE x CASE 1 CALL sine(x, y, n) CASE 2 CALL cosine(x, y, n) CASE 3 CALL tangent(x, y, n) CASE 4 CALL squared(x, y, n) CASE 5 CALL exponent(x, y, n) CASE 6 CALL logarithm(x, y, n) CASE 7 CALL start CASE ELSE CLS PRINT "Hey, fool, pick a real number." SLEEP 2 CLS END SELECT GOSUB in END END SUB