'=========================================================================== ' Subject: THE BIOTECH INSTITUTE Date: 03-09-96 (23:31) ' Author: David Carlton Code: QB, QBasic, PDS ' Origin: pvhsa07@ll.kcts.org Packet: GAMES.ABC '=========================================================================== REM Instructions REM for REM The Biotech Institute REM Version 1.2 REM REM This program was originally created for my biology semester REM project. Keep in mind I thought of the program first REM and the story later. OK here's the story (don't laugh): Your father REM works at this place called the Biotech Institute. Somehow, you were REM forgotten and left after the lights were turned out. With your trusty REM flashlight and piece of paper for a map, you are determined to find REM your way out in time for dinner. As this is a biology project, you REM may be wondering where biology comes into all this. It just so happens REM there are a great many doors in the building. Since everyone who works REM in the building has at least a masters degree in biological chemistry, REM botany, and stuff like that, you are required to answer a biology REM question to get through each door, (it's what they call security). REM To add a little challenge in case you think the questions are REM too easy (you probably won't have that opinion after playing the REM game for a little while) some of the doors require a passcard. REM The passcards, which are numbered, are scattered around REM on the floor here and there. Some of them you will be able to see REM before you pick them up. Others will be right on the other side of a REM door. So be sure to check the bottom of the screen for messages. Now REM it's time to move on to playing the game. The arrow keys are used REM for moving around, (if you are using the ten key pad be sure REM the num lock is off). The up and down keys move you forward and REM backward correspondingly, while the left and right keys REM rotate you in one spot. The controls will take a bit of getting REM used to. Pay attention! this is an important function! REM A map of where you have been (or rather where you have looked) REM will be displayed when you press the "m" button. On the map you are REM represented by a plus sign in one of the squares. The elevators REM (of course there are elevators) are shown as x's on the map. Please REM note that the doors are not displayed on the map. Just so you know, REM north is up on the map (the direction you are facing is shown at REM the bottom of the normal screen). The next command is the inventory REM command. Press "i" to see a list of the passcards you are carrying. You REM can save your game by pressing the "s" button. Your game will be saved REM in a text file which will be placed in the file where your running REM directory is located. Pressing "l" will prompt you to enter the name of REM the file to be loaded. The last option is the "quit" option which is REM used if you want to stop before finishing the game. Press "q" to be REM asked if you want to quit. This can also be used to "pause" the game REM since time stops until you answer. Time also stops during questions, REM which are all multi-choice. The clock is ticking for the rest REM of the time. If you are wondering what time has to do with the REM game, I'll let you know that one of the points given at the end REM of the game has to do with your time. The percentage of REM questions you got right is also displayed at the end of the game. REM All computers are not created equal, and your computer is probably REM not the same speed as my computer(an Intel 486sx). To acomadate for REM this, I have added a wait adjustment option. Press "w" to REM pick the speed that suits you best. For instance, the "slow" REM speed would best suit a Pentium or similar computer. REM Any other commands will be explained when the time comes to REM use them. One hint: messages on the walls won't be displayed REM normally. You have to get really close to see them. Feel free to look REM through the program listing and examine the notes on routines, but REM please don't alter the program or look at the last bunch of data REM (Looking at the questions and answers is considered cheating!) REM If you have any questions, suggestions for improvments, or just REM want to let me know that you liked the game, send E-mail to David at REM pvhsa07@ll.kcts.org . Good luck, and watch out for Grendel. REM REM Press F5 to start. REM The Biotech Institute written by David Carlton in Qbasic. David is REM twelve years old and lives in Seattle, WA. He is interested in REM computer programming as a profession. REM REM VVV REM VVV REM VVV REM VVVVVVV REM \V/ REM opening ON ERROR GOTO 5250 SCREEN 12: SCREEN 0: COLOR 7 FOR i = 1 TO 10: PRINT : NEXT i PRINT TAB(27); "The Biotech Institute": PRINT TAB(29); "By David Carlton": FOR i = 1 TO 10000: NEXT i REM initialization DIM w(4): DIM r(3): DIM rs(3): DIM rr(4, 6, 6): DIM q$(40): DIM qa(40): DIM pc(7): DIM rb(4, 6, 6): DIM qc(4): DIM qf(4) r(1) = 2: r(2) = 1: r(3) = 1: d = 2: pr = 1: w = 1 FOR i = 1 TO 4 FOR j = 1 TO 6 FOR k = 1 TO 6 READ rr(i, k, j) NEXT k NEXT j NEXT i FOR i = 1 TO 40 READ q$(i): READ qa(i) NEXT i REM call to graphics routine 100 SCREEN 1: SCREEN 12 GOSUB 1000 rs(1) = r(1): rs(2) = r(2): rs(3) = r(3): VIEW PRINT (27) TO (30) GOSUB 5000 REM passcard, elevator, and item check rb(r(1), r(2), r(3)) = 1 rt = rr(r(1), r(2), r(3)) IF rt = rr(2, 2, 2) OR rt = rr(2, 5, 2) OR rt = rr(2, 5, 5) OR rt = rr(2, 1, 6) THEN IF jr <> 1 THEN PRINT "elevator up": jr = 1: r(1) = r(1) + 1: FOR i = 1 TO 10000 * w: NEXT i: GOTO 100 IF rt = rr(2, 5, 6) OR rt = rr(1, 3, 4) OR rt = rr(1, 4, 6) OR rt = rr(3, 1, 5) THEN IF jr <> 1 THEN PRINT "elevator up": r(1) = r(1) + 1: jr = 1: FOR i = 1 TO 10000 * w: NEXT i: GOTO 100 IF rt = rr(2, 3, 4) OR rt = rr(2, 4, 6) OR rt = rr(3, 2, 2) OR rt = rr(3, 5, 2) THEN IF jr <> 1 THEN PRINT "elevator down": r(1) = r(1) - 1: jr = 1: FOR i = 1 TO 10000 * w: NEXT i: GOTO 100 IF rt = rr(3, 5, 5) OR rt = rr(3, 1, 6) OR rt = rr(3, 5, 6) OR rt = rr(4, 1, 5) THEN IF jr <> 1 THEN PRINT "elevator down": jr = 1: FOR i = 1 TO 10000 * w: NEXT i: GOTO 100 IF rt = rr(2, 2, 4) AND pc(1) <> 1 THEN PRINT "You picked up passcard 1": pc(1) = 1: rr(2, 2, 4) = rr(2, 2, 4) - 4096 IF rt = rr(1, 2, 6) AND pc(2) <> 1 THEN PRINT "You picked up passcard 2": pc(2) = 1: rr(1, 2, 6) = rr(1, 2, 6) - 4096 IF rt = rr(1, 3, 1) AND pc(3) <> 1 THEN PRINT "You picked up passcard 3": pc(3) = 1: rr(1, 3, 1) = rr(1, 3, 1) - 4096 IF rt = rr(3, 1, 2) AND pc(4) <> 1 THEN PRINT "You picked up passcard 4": pc(4) = 1: pr = 2: rr(3, 1, 2) = rr(3, 1, 2) - 4096 IF r(1) = 3 AND r(2) = 1 AND r(3) = 4 AND pc(5) <> 1 THEN PRINT "You picked up passcard 5": pc(5) = 1: rr(3, 1, 4) = rr(3, 1, 4) - 4096 IF rt = rr(4, 6, 4) AND pc(6) <> 1 THEN PRINT "You picked up passcard 6": pc(6) = 1: rr(4, 6, 4) = rr(4, 6, 4) - 4096 IF r(1) = 2 AND r(2) = 3 AND r(3) = 5 AND pc(7) <> 1 THEN PRINT "You picked up passcard 7": pc(7) = 1: rr(2, 3, 5) = rr(2, 3, 5) - 4096 IF r(1) = 1 AND r(2) = 2 AND r(3) = 5 AND d = 2 THEN PRINT "There is a map of level 2 on the wall. Press G to glance at it." IF r(1) = 4 AND r(2) = 1 AND r(3) = 5 THEN pr = 3 IF r(1) = 4 AND r(2) = 6 AND r(3) = 6 THEN SCREEN 0: COLOR 7: PRINT "Yeah! You made it out.": GOTO 5500 REM playing screen setup PRINT "level "; r(1); " "; r(2); ","; r(3); " "; IF d = 1 THEN PRINT "north"; IF d = 2 THEN PRINT "east"; IF d = 3 THEN PRINT "south"; IF d = 4 THEN PRINT "west"; PRINT " What now?" REM keyboard check 105 in$ = INKEY$ IF RIGHT$(in$, 1) = CHR$(72) OR RIGHT$(in$, 1) = CHR$(80) THEN GOTO 155 IF RIGHT$(in$, 1) = CHR$(77) THEN d = d + 1: IF d = 5 THEN d = 1 IF RIGHT$(in$, 1) = CHR$(75) THEN d = d - 1: IF d = 0 THEN d = 4 IF RIGHT$(in$, 1) = CHR$(77) OR RIGHT$(in$, 1) = CHR$(75) THEN GOTO 100 IF in$ = "g" AND r(1) = 1 AND r(2) = 2 AND r(3) = 5 AND d = 2 THEN PRINT "I~~~~~~~~~~~I": m = 1: FOR i = 1 TO 100: NEXT i IF in$ = "g" AND r(1) = 1 AND r(2) = 2 AND r(3) = 5 AND d = 2 THEN PRINT "I I~I I~~~I I": FOR i = 1 TO 1000 * w: NEXT i IF in$ = "g" AND r(1) = 1 AND r(2) = 2 AND r(3) = 5 AND d = 2 THEN PRINT "I I I ~~ I": FOR i = 1 TO 1000 * w: NEXT i IF in$ = "g" AND r(1) = 1 AND r(2) = 2 AND r(3) = 5 AND d = 2 THEN PRINT "I ~~I~~ I~~~~": FOR i = 1 TO 1000 * w: NEXT i IF in$ = "g" AND r(1) = 1 AND r(2) = 2 AND r(3) = 5 AND d = 2 THEN PRINT "I___I~~~~": PRINT "What now?" IF in$ = "i" THEN GOSUB 144 IF in$ = "m" THEN GOTO 3000 IF in$ = "l" THEN INPUT "Are you sure you want to load a different game?(y or n)"; in$: IF in$ = "y" THEN GOTO 5300 ELSE PRINT "What now?" IF in$ = "s" THEN INPUT "Are you sure you want to save this game?(y or n)"; in$: IF in$ = "y" THEN GOSUB 5200 ELSE PRINT "What now?" IF in$ = "w" THEN INPUT "What waiting interval would you like?(1)fast (2)normal (3)slow"; in: ON in GOTO 130, 131, 132 IF in$ = "q" THEN INPUT "Are you sure you want to quit?(y or n)"; in$: IF in$ = "y" THEN PRINT "Bye!": PRINT : PRINT : END ELSE PRINT "What now?" t = t + 1 * w GOTO 105 REM wait set routine 130 w = .1: GOTO 133 131 w = 1: GOTO 133 132 w = 3: GOTO 133 133 PRINT "What now?": GOTO 105 REM inventory routine 144 PRINT "You are carrying passcard(s): "; IF pc(1) = 1 THEN PRINT "1 "; IF pc(2) = 1 THEN PRINT "2 "; IF pc(3) = 1 THEN PRINT "3 "; IF pc(4) = 1 THEN PRINT "4 "; IF pc(5) = 1 THEN PRINT "5 "; IF pc(6) = 1 THEN PRINT "6 "; IF pc(7) = 1 THEN PRINT "7 "; PRINT : PRINT "What now?": RETURN REM locked door check 145 lk = 0: na = 0 IF r(1) = 3 AND r(2) = 2 AND r(3) = 3 AND wd = 2 OR r(1) = 3 AND r(2) = 3 AND r(3) = 3 AND wd = 4 OR r(1) = 3 AND r(2) = 3 AND r(3) = 4 AND wd = 2 THEN IF pc(1) = 1 THEN lk = 1 ELSE na = 1 IF r(1) = 3 AND r(2) = 4 AND r(3) = 4 AND wd = 4 OR r(1) = 3 AND r(2) = 5 AND r(3) = 4 AND wd = 2 OR r(1) = 3 AND r(2) = 6 AND r(3) = 4 AND wd = 4 THEN IF pc(1) = 1 THEN lk = 1 ELSE na = 1 IF r(1) = 3 AND r(2) = 2 AND r(3) = 4 AND wd = 4 OR r(1) = 3 AND r(2) = 1 AND r(3) = 4 AND wd = 2 THEN IF pc(2) = 1 THEN lk = 1 ELSE na = 2 IF r(1) = 3 AND r(2) = 1 AND r(3) = 3 AND wd = 1 OR r(1) = 3 AND r(2) = 1 AND r(3) = 2 AND wd = 3 OR r(1) = 3 AND r(2) = 3 AND r(3) = 4 AND wd = 4 OR r(1) = 3 AND r(2) = 2 AND r(3) = 4 AND wd = 2 OR r(1) = 3 AND r(2) = 5 AND r(3) = 3 AND wd = 4 OR r(1) = 3 AND r(2) = 4 AND r(3) = 3 AND wd = 2 OR r(1) = 3 AND r(2) = 6 AND r(3) = 3 AND wd = 1 OR r(1) = 3 AND r(2) = 6 AND r(3) = 2 AND d = 3 THEN IF pc(3) = 1 THEN lk = 1 ELSE na = 3 IF r(1) = 1 AND r(2) = 1 AND r(3) = 4 AND wd = 3 OR r(1) = 1 AND r(2) = 1 AND r(3) = 5 AND wd = 1 THEN IF pc(4) = 1 THEN lk = 1 ELSE na = 4 IF r(1) = 1 AND r(2) = 3 AND r(3) = 6 AND wd = 2 OR r(1) = 1 AND r(2) = 4 AND r(3) = 6 AND wd = 4 THEN IF pc(5) = 1 THEN lk = 1 ELSE na = 5 IF r(1) = 2 AND r(2) = 4 AND r(3) = 5 AND wd = 4 OR r(1) = 2 AND r(2) = 3 AND r(3) = 5 AND wd = 2 OR r(1) = 4 AND r(2) = 3 AND r(3) = 4 AND wd = 2 OR r(1) = 4 AND r(2) = 4 AND r(3) = 4 AND wd = 4 OR r(1) = 4 AND r(2) = 4 AND r(3) = 6 AND wd = 2 OR r(1) = 4 AND r(2) = 5 AND r(3) = 6 AND wd = 4 THEN IF pc(6) = 1 THEN lk = 1 ELSE na = 6 IF r(1) = 4 AND r(2) = 6 AND r(3) = 5 AND wd = 3 THEN IF pc(7) = 1 THEN lk = 1 ELSE na = 7 IF na <> 0 THEN PRINT "Access denied. Passcard"; na; "required": PRINT "What now?" RETURN REM question routine 150 rn = INT(t / 14) 151 IF rn > 40 THEN rn = INT(rn - 40): GOTO 151 PRINT q$(rn); : INPUT aw: IF rn = 21 THEN qc(pr) = qc(pr) + 1: qc(4) = qc(4) + 1: w(wd) = 0: PRINT "What now?": RETURN IF aw = qa(rn) THEN w(wd) = 0: qc(pr) = qc(pr) + 1: qc(4) = qc(4) + 1: PRINT "What now?": RETURN qf(pr) = qf(pr) + 1: qf(4) = qf(4) + 1: qc(pr) = qc(pr) + 1: qc(4) = qc(4) + 1 PRINT "Nope.": PRINT "What now?": RETURN REM moving routine 155 IF RIGHT$(in$, 1) = CHR$(80) THEN wd = d + 2: IF wd > 4 THEN wd = wd - 4 IF RIGHT$(in$, 1) = CHR$(72) THEN wd = d IF w(wd) = 1 THEN PRINT "There's a wall in the way": PRINT "What now?" IF w(wd) = 2 THEN GOSUB 150: IF w(wd) = 2 THEN GOTO 105 IF w(wd) = 3 THEN GOSUB 145: IF lk = 1 THEN GOSUB 150: IF w(wd) = 3 THEN GOTO 105 IF w(wd) <> 0 THEN GOTO 105 jr = 0 IF wd = 1 THEN r(3) = r(3) - 1: GOTO 100 IF wd = 2 THEN r(2) = r(2) + 1: GOTO 100 IF wd = 3 THEN r(3) = r(3) + 1: GOTO 100 IF wd = 4 THEN r(2) = r(2) - 1: GOTO 100 REM graphics routine 1000 rd = 0: rs(1) = r(1): rs(2) = r(2): rs(3) = r(3): COLOR r(1): GOSUB 5000 x5 = 0: y5 = 0: x6 = 400: y6 = 0: x7 = 400: y7 = 400: x8 = 0: y8 = 400: cx = 200: cy = 200 IF w(d) = 1 THEN GOSUB 2000: RETURN IF w(d) = 2 OR w(d) = 3 THEN GOSUB 2500: RETURN x1 = 0: y1 = 0: x2 = 400: y2 = 0: x3 = 400: y3 = 400: x4 = 0: y4 = 400: x5 = 100: y5 = 100: x6 = 300: y6 = 100: x7 = 300: y7 = 300: x8 = 100: y8 = 300 1500 rd = rd + 1: IF d = 1 THEN rs(3) = r(3) - rd IF d = 2 THEN rs(2) = r(2) + rd IF d = 3 THEN rs(3) = r(3) + rd IF d = 4 THEN rs(2) = r(2) - rd GOSUB 5000: rb(rs(1), rs(2), rs(3)) = 1 IF sp = 1 THEN GOSUB 2900 wd = d - 1: IF wd = 0 THEN wd = 4 IF w(wd) = 1 THEN GOSUB 2100 IF w(wd) = 2 OR w(wd) = 3 THEN GOSUB 2600 wd = d + 1: IF wd = 5 THEN wd = 1 IF w(wd) = 1 THEN GOSUB 2200 IF w(wd) = 2 OR w(wd) = 3 THEN GOSUB 2700 IF sp = 1 THEN GOSUB 2900 IF w(d) = 1 THEN GOSUB 2000: RETURN IF w(d) = 2 OR w(d) = 3 THEN GOSUB 2500: RETURN IF rd = 7 THEN RETURN x1 = x5: y1 = y5: x2 = x6: y2 = y6: x3 = x7: y3 = y7: x4 = x8: y4 = y8 x5 = INT(((cx - x1) / 2) + x1): y5 = (((cy - y1) / 2) + y1): x6 = INT(((x2 - cx) / 2) + cx): y6 = INT(((cy - y2) / 2) + y2) x7 = INT(((x3 - cx) / 2) + cx): y7 = INT(((y3 - cy) / 2) + cy): x8 = INT(((cx - x4) / 2) + x4): y8 = INT(((y4 - cy) / 2) + cy) GOTO 1500 2000 LINE (x5, y5)-(x6, y6): LINE (x6, y6)-(x7, y7): LINE (x7, y7)-(x8, y8): LINE (x8, y8)-(x5, y5): RETURN 2100 LINE (x1, y1)-(x5, y5): LINE (x5, y5)-(x8, y8): LINE (x8, y8)-(x4, y4): LINE (x4, y4)-(x1, y1): RETURN 2200 LINE (x6, y6)-(x2, y2): LINE (x2, y2)-(x3, y3): LINE (x3, y3)-(x7, y7): LINE (x7, y7)-(x6, y6): RETURN 2500 LINE (x5, y5)-(INT(((cx - x5) / 2) + x5), y5): LINE (INT(((cx - x5) / 2) + x5), y5)-(INT(((cx - x8) / 2) + x8), y8): LINE (INT(((cx - x8) / 2) + x8), y8)-(x8, y8): LINE (x8, y8)-(x5, y5) LINE (x6, y6)-(INT(((x6 - cx) / 2) + cx), y6): LINE (INT(((x6 - cx) / 2) + cx), y6)-(INT(((x7 - cx) / 2) + cx), y7): LINE (INT(((x7 - cx) / 2) + cx), y7)-(x7, y7): LINE (x7, y7)-(x6, y6): RETURN 2600 LINE (x1, y1)-(INT(((x5 - x1) / 4) + x1), INT(((y5 - y1) / 4) + x1)): LINE (INT(((x5 - x1) / 4) + x1), INT(((y5 - y1) / 4) + x1))-(INT(((x8 - x4) / 4) + x4), INT((((y4 - y8) / 4) * 3) + y8)) LINE (INT(((x8 - x4) / 4) + x4), INT((((y4 - y8) / 4) * 3) + y8))-(x4, y4): LINE (x4, y4)-(x1, y1) LINE (INT((((x5 - x1) / 4) * 3) + x1), INT((((y5 - y1) / 4) * 3) + x1))-(x5, y5): LINE (x5, y5)-(x8, y8) LINE (x8, y8)-(INT((((x8 - x4) / 4) * 3) + x4), INT(((y4 - y8) / 4) + y8)): LINE (INT((((x8 - x4) / 4) * 3) + x4), INT(((y4 - y8) / 4) + y8))-(INT((((x5 - x1) / 4) * 3) + x1), INT((((y5 - y1) / 4) * 3) + y1)): RETURN 2700 LINE (x6, y6)-(INT(((x2 - x6) / 4) + x6), INT((((y6 - y2) / 4) * 3) + y2)): LINE (INT(((x2 - x6) / 4) + x6), INT((((y6 - y2) / 4) * 3) + y2))-(INT(((x3 - x7) / 4) + x7), INT(((y3 - y7) / 4) + y7)) LINE (INT(((x3 - x7) / 4) + x7), INT(((y3 - y7) / 4) + y7))-(x7, y7): LINE (x7, y7)-(x6, y6) LINE (x2, y2)-(x3, y3): LINE (x3, y3)-(INT((((x3 - x7) / 4) * 3) + x7), INT((((y3 - y7) / 4) * 3) + y7)) LINE (INT((((x3 - x7) / 4) * 3) + x7), INT((((y3 - y7) / 4) * 3) + y7))-(INT((((x2 - x6) / 4) * 3) + x6), INT(((y6 - y2) / 4) + y2)): LINE (INT((((x2 - x6) / 4) * 3) + x6), INT(((y6 - y2) / 4) + y2))-(x2, y2): RETURN 2900 LINE (INT((((cx - x8) / 4) * 3) + x8), INT(((y4 - y8) / 3) + y8))-(INT(((x7 - cx) / 4) + cx), INT(((y4 - y8) / 3) + y8)): LINE (INT(((x7 - cx) / 4) + cx), INT(((y4 - y8) / 3) + y8))-(INT(((x7 - cx) / 2) + cx), INT(((y3 - y7) / 2) + y7)) LINE (INT(((x7 - cx) / 2) + cx), INT(((y3 - y7) / 2) + y7))-(INT(((cx - x8) / 2) + x8), INT(((y4 - y7) / 2) + y7)): LINE (INT(((cx - x8) / 2) + x8), INT(((y4 - y7) / 2) + y7))-(INT((((cx - x8) / 4) * 3) + x8), INT(((y4 - y8) / 3) + y8)): RETURN REM map routine 3000 SCREEN 1: SCREEN 12 x1 = 0: y1 = 0: x2 = 50: y2 = 0: x3 = 50: y3 = 50: x4 = 0: y4 = 50: COLOR r(1) FOR i = 1 TO 6 FOR j = 1 TO 6 IF j = r(2) AND i = r(3) THEN LINE (25 + x1, y1)-(25 + x1, y4): LINE (x1, 25 + y1)-(x2, 25 + y1) IF rb(r(1), j, i) <> 1 THEN GOTO 3010 rs(1) = r(1): rs(2) = j: rs(3) = i: GOSUB 5000 IF w(1) = 1 THEN LINE (x1, y1)-(x2, y2) IF w(2) = 1 THEN LINE (x2, y2)-(x3, y3) IF w(3) = 1 THEN LINE (x4, y4)-(x3, y3) IF w(4) = 1 THEN LINE (x1, y1)-(x4, y4) IF sp = 2 OR sp = 3 THEN LINE (x1, y1)-(x3, y3): LINE (x2, y2)-(x4, y4) 3010 x1 = x2: x4 = x3: x2 = x2 + 50: x3 = x3 + 50 NEXT j x1 = 0: x2 = 50: x3 = 50: x4 = 0: y1 = y4: y2 = y3: y4 = y4 + 50: y3 = y3 + 50 NEXT i FOR i = 1 TO 19: PRINT : NEXT i: PRINT "Press any key." 3020 in$ = INKEY$ IF in$ <> "" THEN GOTO 100 t = t + 1 * w GOTO 3020 REM data reading routine 5000 s = rr(rs(1), rs(2), rs(3)) sp = INT(s / 4096) s = s - (sp * 4096) w(1) = INT(s / 512) s = s - (w(1) * 512) w(2) = INT(s / 64) s = s - (w(2) * 64) w(3) = INT(s / 8) s = s - (w(3) * 8) w(4) = INT(s) RETURN REM save/load routine 5200 INPUT "What name do you want to give the file"; n$ OPEN n$ FOR OUTPUT AS #1 PRINT #1, pr, d, m, t, jr, w, r(1), r(2), r(3) FOR i = 1 TO 7 PRINT #1, pc(i) NEXT i FOR i = 1 TO 4 PRINT #1, qc(i), qf(i) NEXT i FOR i = 1 TO 4 FOR j = 1 TO 6 FOR k = 1 TO 6 PRINT #1, rr(i, j, k), rb(i, j, k) NEXT k NEXT j NEXT i CLOSE PRINT "What now?" RETURN 5250 PRINT "I couldn't find that file.": PRINT "What now?": RESUME 105 5300 INPUT "What file do you want to load"; n$ OPEN n$ FOR INPUT AS #1 INPUT #1, pr, d, m, t, jr, w, r(1), r(2), r(3) FOR i = 1 TO 7 INPUT #1, pc(i) NEXT i FOR i = 1 TO 4 INPUT #1, qc(i), qf(i) NEXT i FOR i = 1 TO 4 FOR j = 1 TO 6 FOR k = 1 TO 6 INPUT #1, rr(i, j, k), rb(i, j, k) NEXT k NEXT j NEXT i CLOSE GOTO 100 REM endgame routine 5500 PRINT "You got"; (INT(((qc(1) - qf(1)) * 100) / qc(1))); "% of the questions right in the first part of the game." PRINT "You got"; (INT(((qc(2) - qf(2)) * 100) / qc(2))); "% of the questions right in the middle section of the game." PRINT "You got"; (INT(((qc(3) - qf(3)) * 100) / qc(3))); "% of the questions right in the final third of the game." PRINT "You got"; (INT(((qc(4) - qf(4)) * 100) / qc(4))); "% of the questions right total." s = 0 IF m = 1 THEN s = s + 1 IF qf(4) = 0 THEN s = s + 1 IF t <= 30000 THEN s = s + 1 IF s = 3 THEN PRINT "You're a real maze master now, and you learned plenty of biology facts along theway!": END PRINT "Your score was"; s; ". The best possible score is 3.": PRINT "Don't feel bad if you didn't get any points.": PRINT "They're only for ambitious people who want to do the best possible.": END REM room data DATA 641,578,4745,522,648,578,65,65,513,528,584,65,81,9,72,1025,576,65,1049,576,8713,0,128,74,1601,73,641,10,80,577,9,4680,201,8779,1033,72 DATA 513,520,512,520,520,576,65,8769,65,513,8776,65,65,137,74,1,520,72,1,4672,12809,72,593,593,9,72,4745,651,9290,1089,8841,522,520,12872,8713,72 DATA 649,522,528,576,521,592,4697,12809,1088,73,12865,1113,1545,712,75,713,67,1601,4809,715,715,651,202,67,8713,520,512,520,12872,65,12809,520,8,520,12872,73 DATA 513,648,522,592,529,592,17,584,521,1096,1105,1089,1089,641,522,648,1098,65,137,66,705,651,586,4169,12865,129,82,649,642,602,9,72,1161,714,75,1609 REM DON'T LOOK AT THESE! THEY'RE THE QUESTIONS AND ANSWERS! DATA "Which plant is NOT an example of a vegetativly propigating plant?(1)dandelion (2)strawberry (3)potato (4)tulip",1,"Which type of plant germinates with the seed above ground?(1)monocot (2)dicot (3)nonvascular (4)fibrous root plants",2,"What is the name of a new growth on a fern(1)fernling (2)frond (3)endosperm (4)fiddlehead",4,"What is the underground part of the fern called?(1)sorus (2)root (3)rhizome (4)internode",3,"What are the brown dots on the underside of a fern blade called?(1)spores (2)sori (3)sporangia (4)zygotes",2 DATA "What is a dicotyledone characteristic?(1)roots are usually fibrous (2)seeds contain one cotyledon (3)flower parts usually occur in multiples of four or five (4)leaves have parallel veins",3,"What is a cotyledon?(1)a plant with one seed leaf (2)a plant with two seed leaves (3)the seed leaf of a plant (4)a plant that has its seeds enclosed",3,"What type of venation is NOT common with dicots?(1)palmate (2)pinnate (3)palisade (4)parallel" ,4,"What is the name for the center part of a woody stem?(1)pith (2)vascular cambium (3)inner bark (4)cortex",1,"What is the name of the matter between the cork and the cortex of a woody stem? (1)bark (2)cork cambium (3)inner bark (4)phloem",2 DATA "What is the end of a root called?(1)epidermis (2)zone of maturation (3)sepal (4)apical meristem",4,"What is the middle section of a root called?(1)zone of maturation (2)zone of elongation (3)root hairs (4)apical meristem",2,"What is the part of the root closest to the plant body called?(1)zone of maturation (2)apical meristem (3)style (4)root hairs",1,"Does David have to do his Shakespear assignment?(1)yes (2)no (3)maybe (4)wait a while",1,"What is the surface of the tip of a root called?(1)cork (2)cambium (3)root cap (4)anther",3 DATA "What is(are) on the surface of the part of the root closest to the plant body? (1)cambium (2)filaments (3)root cap (4)root hairs",4,"What are the individual leaves on the buds of a flower called?(1)petals (2)bud leaves (3)pistils (4)sepals",4,"What is the end bud on a woody stem called?(1)terminal bud (2)lateral bud (3)node (4)bud scale",1,"Which is the closest to the outside of a woody stem?(1)pith (2)phloem (3)vascular cambium (4)vascular ray",2,"Which is closest to the center of a woody stem?(1)cork cambium (2)cork (3)cortex (4)inner bark",3 DATA "Should David get an A on this project?(1)yes (2)of course (3)why certainly (4)who would give him anything else",4,"Which plant group is a walnut tree in?(1)Rosaceae (2)Compositae (3)Juglandaceae (4)Aceraceae",3,"Which plant group does the banana belong to?(1)Gramineae (2)Rosaceae (3)Iridaceae (4)Musaceae",4,"Which plant group does the maple belong to?(1)Aceraceae (2)Palmaceae (3)Fabaceae (4)Solanaceae",1,"Which plant group does the tomato belong to?(1)Rosaceae (2)Solanaceae (3)Cactaceae (4)Iridaceae",2,"Which plant group does the pea belong to?(1)Juglandaceae (2)Fabaceae (3)Aceraceae (4)Palmaceae",2 DATA "Which group name is the most specific?(1)the phylum (2)the order (3)the kingdom (4)the family",4,"What part of the flower does the fruit come from?(1)ovary (2)style (3)ovule (4) pistil",1,"Which part of a woody stem's vascular system carries water and minerals from the roots to the leaves?(1)phloem (2)cambium (3)xylem (4)vascular cambium",3,"What is an endosperm?(1)a plant with exposed seeds (2)the seed leaf of a plant (3)a plant that makes reproductive cells (4)the food stored in the seed of a plant",4 DATA "Which part of a woody stem's vascular system carries food manufactured in the leaf to other parts of the plant?(1)phloem (2)vascular cambium (3)pith (4)xylem",1,"Which part of the leaf regulates the flow of gases?(1)palisade parenchyma (2)stomata (3)guard cells (4) cuticle",3,"What is the chemical formula for photosynthesis?(1)energy+o6=h2o7+co2 (2) 6co2+12h20+energy=c6h12o6+6h2o+6o2 (3)h13+h6o9c4+energy=12h2o+o9+co2+ho10 (4) h2o+energy=h2+o",2,"What type of venation does the Bigleaf Maple have?(1)palmate (2)whorled (3)parrallel (4)pinnate",1,"What type of venation does a blade of grass have?(1)palmate (2)whorled (3) pinnate (4)parrallel",4 DATA "What type of venation does a Pacific Dogwood have?(1)palmate (2)whorled (3) pinnate (4)parrallel",3,"What is contained in each pollen grain?(1)sporangium (2)sporophyte (3)gamete (4)egg",3,"How many different species of plants are there in the phylum Anthophyta?(1) 12,000 (2)700 (3)1,750 (4)250,000",4,"Which one of these is a monocot characteristic?(1)leaves have netted veins (2)flower parts usually occur in three's or six's (3)roots are usually taproots (4)young stems have vascular bundles in a ring",2,"What are the small cuplike structures on a liverwort called?(1)gemma cups (2) gametophytes (3)gemmae (4)rhizoids",1