10 ' ***************************************************** ***** TROLL HUNT ***** ***** by Richard Altman -- 1/13/90 ***** ***************************************************** 15 ' Copyright (c) 1990 by Richard Altman. All Rights Reserved. 29 ' ***** Set Up Variables String: A$-F$, I$, M$ Integer: G-H, J-L, N-Z 30 DEFINT G-Z:DEFSTR A-F,I,M:P=14:DIM F(24),E(P),LO(P),LL(P),T(P),R(P) 31 CLS=CHR$(26):CLR=CHR$(24):CX=CHR$(23):PRINT CLS:ESC$=CHR$(27):FE=ESC+"=" 32 FOR X=1 TO 24:F(X)=FE+CHR$(X+31)+" ":NEXT:GOSUB 5020:C7=CHR$(7):WIDTH 255 33 DEF FNF(X,Y)=FE+CHR$(X+31)+CHR$(Y+31):DEF FNRN(X)=INT(RND*X)+1:C=CHR$(34) 34 DEF FNTITLE$(X,M$)=FNF(X,1)+STRING$((80-LEN(M$))/2,12)+M$:GOTO 100:' ******************************************************************************* 35 IF OK>0 THEN OI=OK+FNRN(7):OK=0 36 IF R(8)=1 AND OI<12 THEN OI=OI+LF/4:IF OI<16 THEN OI=18 37 RETURN 38 IF OI<2 THEN RETURN ELSE L$=F(23)+" Your lamp is getting dimmer. Get some additional oil!"+CX:GOTO 5065 39 GOSUB 67:GOTO 60 40 GOSUB 50:GOTO 69 41 IF K=7 THEN Q=L-47 ELSE Q=FNRN(7) 42 ON Q GOTO 3100,3150,3200,3250,3300,3350,3400 43 PRINT F(18)AS"You cannot "AP" the cavern without the Oil Lamp.":GOSUB 46:GOTO 4500 44 FOR T=1 TO 1200:NEXT:RETURN 45 GOSUB 44 46 FOR T=1 TO 2200:NEXT:RETURN 47 GOSUB 95 48 GOSUB 58:GOTO 4500 49 E=E(T(J)):Z=26-LEN(E):IF J=6 THEN Z=Z-1:GOTO 94 ELSE 94 50 LN=50:GOSUB 8888:IF PO<>9 THEN PO=9:PRINT CLS" "A9"POSSIBLE MOVES: N-ORTH S-OUTH E-AST W-EST U-P D-OWN "TAB(20)"I-nventory G-et Treasure L-eave Treasure":PRINT A9 51 IF L>47 THEN GOSUB 65 52 LN=52:GOSUB 8888:GOSUB 400:Q=14:PRINT F(8);:IF PD=9 AND L=LT THEN OI=OI+1 ELSE PRINT CX:PRINT ME 54 PRINT F(Q)"Directions: ";:RETURN 55 PG=0:PRINT F(19)CX:RETURN 56 GOSUB 50:GOTO 75 57 OL=1 58 OI=OI-1:IF R(3)=0 OR OI>11 THEN OL=0:RETURN ELSE GOSUB 38:IF OL=1 THE OL=0:RETURN 59 IF OI>1 THEN RETURN ELSE 1040 60 IF LEFT$(ME,22)=M1 THEN GOSUB 57 ELSE IF L>47 THEN GOSUB 58 61 GOTO 4500 62 GOSUB 6000:IF AK="Y" OR AK="N" THEN RETURN ELSE 62 64 GOSUB 50:GOSUB 70:IF L=4 OR L=15 THEN GOSUB 67:GOTO 60 ELSE 60 65 ME=MD:G=G+1:IF G>7 THEN G=0:H=1:RETURN ELSE RETURN 66 PRINT"SOUTH EAST DOWN":RETURN 67 PRINT"UP":RETURN 68 G=0:H=0:RETURN 69 PRINT"SOUTH WEST ";:RETURN 70 GOSUB 77:GOTO 88 71 GOSUB 77:GOTO 67 72 PRINT"NORTH EAST ";:RETURN 73 ME=M1+M5:M5="":IF L=5 OR L=10 THEN GOSUB 95:GOTO 64 ELSE 64 74 PRINT"NORTH ";:GOTO 88 75 PRINT"SOUTH ";:GOTO 88 76 GOSUB 88:GOTO 82 77 PRINT"NORTH SOUTH ";:RETURN 78 GOSUB 88:GOTO 82 79 GOSUB 50:GOSUB 77:PRINT"WEST UP":RETURN 80 GOSUB 70 81 PRINT"UP "; 82 PRINT"DOWN":RETURN 83 ME=M1+C3+"(This section of forest is bordered by Lake Washington.)":GOSUB 50:IF L=46 THEN GOSUB 74 ELSE GOSUB 75 84 GOSUB 81:GOTO 60 85 X=10:IF TR>12 THEN B="":RETURN ELSE IF TR>10 THEN B=STRING$(79,32):RETURN ELSE IF TR<7 THEN B=CHR$(10)+A9 86 X=12:RETURN 87 K=7:OI=OI+1:RETURN 88 PRINT"EAST WEST ";:RETURN 90 G=G-1:PRINT F(18)CA"go in that direction !!":GOSUB 92:GOTO 42 91 PRINT F(18)CA"do that right now!!":GOSUB 44:GOSUB 92:GOTO 60 92 Q=L-47:GOSUB 44:OI=OI+1:PG=0:PRINT F(18)CX;:RETURN 93 GOSUB 50:GOSUB 76:IF L=12 THEN 4040 ELSE 60 94 PRINT" "E"...."STRING$(Z,32);:RETURN 95 Q=FNRN(15):IF LF<30 AND Q>12 THEN 450 ELSE RETURN 97 IF R(3)=0 THEN LO(3)=L:LO(8)=L:RETURN ELSE RETURN 98 GOSUB 50:GOTO 80 99 PRINT CLS:PO=0:PE=9:PG=0:PRINT F(23)".x.":' The .x. is used as a reminder that PE=9 100 ' Print Opening Screen 110 A9=STRING$(80,45):D=CHR$(8)+" (":DY="Do you want to ":MZ="You are now " 120 DN="? (Y/N)":M=MZ+"in ":M1="You are in the forest.":BE=" (Be careful!!)":MM=MZ+"standing near ":M2="You have come to a dead end.":A1=STRING$(11,131) 130 AT=STRING$(4,188)+" ":AS=CX+STRING$(8,188)+" ":CA=AS+" You can't " 150 L1=2:L2=1:GOSUB 8000:IK=INKEY$:AK="":C3=CHR$(10)+CHR$(13) 160 IF PE=0 THEN PRINT FNTITLE$(16,"Press to start. "); 170 AK=INKEY$:IF AK="" THEN 180 ELSE 190 180 RN=RN+1:IF RN>32000 THEN RN=100:GOTO 170 ELSE 170 190 RANDOMIZE RN:LF=FNRN(20)+80:OI=LF/4:OK=OI 200 ON FNRN(7) GOTO 1450,1150,1600,1450 250 L=1:GOSUB 73:ON K GOTO 1400,1450,1700,1500 260 GOTO 250 400 TA=0:FOR J=0 TO 14:T(J)=0:NEXT: FOR J=0 TO P 410 IF LO(J)=L AND R(J)=0 THEN T(TA)=J:TA=TA+1 420 NEXT:RETURN 450 PO=0:PRINT CLS:PRINT STRING$(79,183) 460 PRINT FNF(4,10)"A monstrous, 5000-year-old TROLL has appeared from" 470 PRINT FNF(6,10)"out of nowhere and killed you." 475 PRINT FNF(12,40)A1;FNF(18,40)A1 480 PW=0:PD=0:PRINT FNF(16,3)"-------- A R G H H H !!"; 485 PRINT FNF(23,25)"Press to go on. ";:GOSUB 6000:GOTO 4560 500 IF SC=1 THEN RETURN 505 SC=1:PG=0:PRINT F(20)CX;AT; 506 IF R(4)=1 AND R(10)=1 THEN PRINT" There is no writing on it.":GOTO 46 510 PRINT"There's a MESSAGE on it. "DY"read it"DN 520 GOSUB 62:IF AK="N" THEN 55 530 PRINT F(21)CX;AT"It says:" 531 IF R(10)=0 THEN PRINT C"BENEATH THE KITCHEN AND NEAR THE STAIR, A TALISMAN IS WAITING THERE.":PRINT" GO EAST! GO WEST! BUT BE SURE";:GOTO 550 540 PG=0:PRINT C"TAKE A CHANCE AND `CIRCLE' AROUND. A GREAT JEWELED TREASURE MIGHT BE FOUND. YOU MUST CIRCLE DOWN TO FIND THE"; 550 PRINT"..."C" (The rest of the MESSAGE is faded.)":PRINT AT"Press ";:GOSUB 6000:GOTO 55 990 ON FNRN(2) GOTO 2100 1000 L=2:ME=M+"the Library.":GOSUB 97:GOSUB 56:GOSUB 84 1010 ON K GOTO 1000,2100,3550,3900,4000,1550,1000 1040 PG=0:PRINT F(19)CX;A9;AS" Your OIL LAMP was magic. Because you just"; 1041 PRINT" ran out of oil, a distant cousin of the TROLL has magically transported you to the Coal Room to get more oil. ";:GOSUB 45:LO(8)=3:R(8)=0:TR=TR-1 1050 L=3:ME=M+"a room filled with Coal and Oil.":GOSUB 95:LO(8)=0 1051 IF R(8)=0 OR OI<12 THEN R(8)=0:LO(8)=3 1055 GOSUB 93:IF R(8)=0 AND K>2 AND K<6 THEN GOSUB 3000 1060 ON K GOTO 1050,1050,2150,1650,4050,1050,1050 1095 ON K GOTO 1750,1500,1700,2150,1400 1100 L=4:M5=" (You're in Monarch Meadow.)":GOSUB 73:GOTO 1095 1140 ON FNRN(2) GOTO 250 1150 L=5:GOSUB 73:IF K=3 THEN EE="" 1160 ON K GOTO 1450,1650,1700,1500 1170 GOTO 1150 1195 ON K GOTO 1200,1200,1250,1250,3850 1200 L=6:ME=MM+"a ledge.":GOSUB 50:GOSUB 88:GOSUB 39:GOTO 1195 1250 IF R(7)=1 THEN PRINT F(18)AS"You cannot cross the river with the Parchment.":GOSUB 45:IF L=36 THEN 3700 ELSE IF L=6 THEN 1200 ELSE 2200 1255 L=7:ME=MM+"a beautiful, swift river.":GOSUB 79:GOSUB 60 1260 ON K GOTO 3700,1750,1255,1200,2200,1255,1250 1350 L=8:ME=MZ+"in the Cellar. (Things really get exciting now!)":GOSUB 50 1351 PRINT"SOUTH EAST UP":IF R(8)=1 OR K<7 THEN LF=LF+5 1360 GOSUB 47:ON K GOTO 1360,1900,2300,1360,2150,1360,1350 1400 L=9:ME=M1+D+"on the EAST Ridge)":GOSUB 40:GOSUB 84:IF K=4 THEN EE="" 1410 ON K GOTO 1400,250,1400,1750,1700,4690,1400 1445 ON K GOTO 250,1150,1400,1800 1450 L=10:GOSUB 73:GOTO 1445 1495 ON K GOTO 1100,1800,1140,1750 1500 L=11:M5=D+"Upper Cavern Park)":GOSUB 73:GOTO 1495 1545 ON K GOTO 1550,1550,4100,4050,1000 1550 L=12:ME=M+"the Kitchen.":GOSUB 93:GOTO 1545 1595 ON K GOTO 2200,2150,4600,1750 1600 L=13:GOSUB 73:GOTO 1595 1645 ON K GOTO 1150,1650,1050,1800,1700 1650 L=P:ME=M+"a medium sized clearing.":GOSUB 50:GOSUB 74:GOSUB 67:GOSUB 57 1651 GOSUB 60:GOTO 1645 1695 ON K GOTO 1400,1150,4700,250,2050 1700 L=15:M5=D+"John F. Kennedy Grove)":GOSUB 73:GOTO 1695 1740 ON FNRN(2) GOTO 1500 1750 L=16:ME=M1+D+"West Side Game Preserve)":GOSUB 50:GOSUB 70:GOSUB 82 1751 GOSUB 60:ON K GOTO 1250,1100,1600,3250,1750,1500,1750 1800 L=17:ME=M+"a large Chamber.":GOSUB 97 1810 GOSUB 98:GOSUB 48 1820 IF K=1 OR K=3 OR K=7 OR R(3)=1 THEN ON K GOTO 1500,3500,1450,2400,3950,3600 ELSE AP="continue in":GOSUB 43:GOTO 1820 1850 L=18:ME=M+"North/South Tunnel.":GOSUB 50:GOSUB 77:GOSUB 81:GOSUB 47 1860 ON K GOTO 1800,1650,1850,1850,1870,1880,1850 1870 IF R(3)=1 THEN 2000 ELSE 1800 1880 IF R(3)=1 THEN 2450 1900 L=19:ME=M+"the TROLL ROOM!!"+BE:GOSUB 2650:GOSUB 72:E=EE 1905 GOSUB 60:LF=LF-L2:L2=0:IF K=2 OR K=4 OR K=6 THEN EE=E 1910 ON K GOTO 1350,1905,3650 1920 IF K=7 THEN GOSUB 91:GOTO 1910 ELSE 1905 1945 ON K GOTO 1950,3570,4200,3500,2000 1950 L=20:ME=M+"a lateral passage.":GOSUB 56:GOSUB 67:GOSUB 48:GOTO 1945 2000 L=21:ME=M+"a cavern with a low ceiling. You must crawl...":GOSUB 50 2010 GOSUB 74:GOSUB 82:GOSUB 48:ON K GOTO 3500,2000,3750,2450,2000,1950,2000 2040 ON FNRN(2) GOTO 1550 2050 L=22:ME=M+"a large, musty storeroom."+C3+"(There is an attic toward the back.)":GOSUB 50:GOSUB 77:GOSUB 81:GOSUB 60 2060 ON K GOTO 1550,2250,2050,2050,1000,2150,2050 2095 ON K GOTO 1000,2100,3550,3900 2100 L=23:ME=MM+"the door of a locked room."+C3+"(The key has been lost ages ago!)":GOSUB 50:GOSUB 74:GOSUB 60:GOTO 2095 2150 PRINT F(9)CX:PRINT M"a `CIRCLE' Room. It is spinning quite fast.":PRINT"Are you getting dizzy!?":PRINT:PRINT"There is no telling where you will be when it stops!!!" 2160 GOSUB 5025:PG=0:FOR T=1 TO 5:PRINT F(22)CX; 2162 FOR U=2 TO 78 STEP 2:FOR V=1 TO 3:PRINT FNF(22,U)"*";:NEXT V,U,T 2164 EE="":GOSUB 5020:ON FNRN(P) GOTO 1800,2250,1900,1850,1050,1750,1050,2350,1350,1350,3650,1900,2200,3100 2190 ON FNRN(3) GOTO 1650 2200 L=24:ME=M+"a small abandoned Chapel.":GOSUB 98:GOSUB 60 2210 ON K GOTO 3400,1600,4600,3850,2150,1250,2200 2250 L=25:ME=M+"a rocky alcove.":GOSUB 98:GOSUB 60 2260 ON K GOTO 2050,2150,2350,1050,4700,4600,2250 2295 ON K GOTO 2300,2300,3650,1350,2150 2300 L=26:ME=M+"a narrow passageway.":GOSUB 93:GOTO 2295 2345 ON K GOTO 4100,3190,3190,2150 2350 L=27:ME=M+"a room covered with mirrors."C3"There are mirrors on every wall.":GOSUB 64:GOTO 2345 2390 ON FNRN(2) GOTO 3950 2400 L=28:ME="You have come to a rope ladder."C3"It looks strong enough to hold you.":GOSUB 82:GOSUB 48 2410 ON K GOTO 2400,3950,1800,1740,2400,2450,2400 2440 ON FNRN(2) GOTO 1800 2450 L=29:ME=M+"the TROLL CAVE!!"+BE:GOSUB 2650:GOSUB 75:E=EE 2455 GOSUB 48:LF=LF=L1:L1=0:IF K=1 OR K=6 THEN EE=E 2460 ON K GOTO 2455,2000,3500,1740,2390,2455 2470 GOSUB 91:GOTO 2460 2600 L=30:ME=M+"the Golden Room.":GOSUB 50:PRINT"WEST DOWN":GOSUB 60 2610 IF K=4 THEN 4000 ELSE IF K=6 THEN 3550 ELSE 2600 2650 GOSUB 50:IF R(10)=1 THEN RETURN 2660 PG=0:PD=0:PRINT FNF(14,13) STRING$(18,42):PRINT CX;STRING$(40,140) 2661 PRINT" Uh-oh!! You've found the TROLL!!":PRINT STRING$(40,140) 2665 ' set/reset ... 2666 IF R(2)=0 THEN 2690 2669 PRINT DY"try the Axe?"DN:IF L=29 AND L1=1 THEN LF=LF-1 2670 GOSUB 62:PG=0:PRINT F(20)CX;:IF AK="N" THEN 2690 2680 IF FNRN(10)<8 THEN PRINT TAB(5)"T R O L L K I L L E D !!":GOTO 2830 2690 IF R(1)=0 AND R(4)=0 AND R(9)=0 AND R(11)=0 AND R(P)=0 THEN PRINT"The TROLL has decided to let you go --- this time!":GOTO 2830 2700 PRINT F(20)DY"pay the TROLL'S TOLL?"DN;C3;C3"(It is strongly recommended!!)":GOSUB 62:T=TR 2710 R1=R(1):R2=R(4):R3=R(6):R4=R(9):R5=R(P):R6=R(11) 2712 FOR X=0 TO P:IF X=2 OR X=3 OR X=8 THEN NEXT ELSE IF R(X)=1 THEN R(X)=0:LO(X)=LL(X):NEXT ELSE NEXT 2720 TR=0:IF R(3)=1 THEN TR=2 2730 IF R(2)=1 THEN TR=TR+1 2740 IF R6=1 AND FNRN(19)>8 THEN R(11)=1:TR=TR+1 2750 IF AK="N" THEN PG=0:PRINT F(20)CX"Sorry! C H O M P !!!":B="*** ** ** * **":PRINT B;B;B;B;"You've been attacked by the TROLL!!"C3"He (It) has taken almost all of your treasures.";:GOTO 2830 2755 PG=0:PRINT F(20)CX"The TROLL accepts your generous donation !!!!" 2760 ON FNRN(5) GOTO 2810,2800,2790,2780,2770 2770 R(1)=R1:IF R1=0 THEN Q=Q-1 2780 R(4)=R2:IF R2=0 THEN Q=Q-1 2790 R(6)=R3:IF R3=0 THEN Q=Q-1 2800 R(9)=R4:IF R4=0 THEN Q=Q-1 2810 R(P)=R5:IF R5=0 THEN Q=Q-1 2820 TR=TR+Q:FOR X=4 TO P:IF X=8 OR R(X)=0 THEN NEXT ELSE R(X)=0:TR=TR-1 2830 GOSUB 45:GOTO 50 2850 IF L=19 OR L=29 THEN 87 2855 IF TR=0 THEN CR="don't have any Treasures" 2860 IF TR<2 THEN PD=0:PRINT F(14)CX;A9;C3"At the moment, you "CR".":GOTO 2870 2865 GOSUB 2915 2870 PRINT FNF(23,45)"# of Treasures="TR;FNF(23,1)"Press to continue. ";:GOSUB 6000:GOTO 87 2900 IF L=19 OR L=29 THEN RETURN ELSE IF TR=0 THEN 2855 ELSE 2930 2915 A="ve":IF NN=1 THEN A="d" 2920 X=12:B=A9:PG=0:PD=0:PRINT F(X)CX;:IF AK="L" THEN GOSUB 85 2921 PRINT F(X)B"You ha"A" the following:":IF TR=15 THEN PRINT FNF(14,40); 2922 FOR J=0 TO P:IF R(J)=0 THEN NEXT:GOTO 2925 2923 Z=26-LEN(E(J)):IF AK="L" THEN PRINT USING"##";J;:Z=Z-2 2924 E=E(I):GOSUB 94:NEXT 2925 IF TR<13 AND AK="I" THEN PRINT F(22)A9;:RETURN ELSE RETURN 2930 W$="15":GOSUB 2915:PRINT F(20)STRING$(80,133)"Input the NUMBER of the Treasure you wish to leave behind."C3"Press when you are finished."FNF(21,70); 2931 INPUT W$:PG=0:PRINT F(20)CX;:W=VAL(W$):IF W<0 OR W>P THEN RETURN 2935 IF R(3)=1 AND W=8 THEN PRINT CA"drop the oil. You need it for your Lamp!!":GOTO 46 2937 IF W<>3 THEN 2940 2938 IF R(3)=1 AND (L=17 OR L=21 OR L=28 OR L=29 OR L=31 OR L=33 OR L=34 OR L=36 OR L=37 OR L=38 OR L=41 OR L=45) THEN PG=9:PRINT CA"drop the Lamp."C3;AS" Without it, the Cavern is pitch black!!!":GOTO 45 2940 IF R(W)=0 THEN PRINT AS" You don't have that Treasure!!":GOSUB 46:GOTO 2930 2949 IF L=3 AND W=3 THEN RETURN 2950 TR=TR-1:R(W)=0:LO(W)=L:IF W=3 AND R(8)=1 THEN LO(8)=L:R(8)=0:TR=TR-1 2960 RETURN 3000 IF L=19 OR L=29 THEN 87 3020 FOR J=0 TO P:IF LO(J)=L AND R(J)=0 THEN TR=TR+1:R(J)=1 3025 IF TR=1 THEN CR="have "+E(J) 3030 IF J=8 AND (L=2 OR L=3 OR L=17 OR L=26) THEN GOSUB 35 3040 IF J=0 AND L=33 THEN GOSUB 500 3050 NEXT:LT=L:GOSUB 35:IF TR<15 THEN 87 3055 PO=0:PRINT CLS:PRINT STRING$(80,61);C3" Y O U W O N ! ! ! You collected all of the Treasures!":GOTO 4560 3100 L=48:GOSUB 64 3110 IF H=1 AND K=1 THEN GOSUB 68:GOTO 2250 3120 IF K=5 OR K=6 THEN 90 ELSE 41 3150 L=49:GOSUB 93 3160 IF (H=1 OR G>4) AND K=5 THEN GOSUB 68:GOTO 3350 3170 IF K<3 OR K=6 THEN 90 ELSE 41 3190 ON FNRN(3) GOTO 3250,3350 3200 L=50:GOSUB 79:GOSUB 95:GOTO 60 3210 IF H=1 AND K=4 THEN GOSUB 68:GOTO 1400 3220 IF K=3 OR K=6 THEN 90 ELSE 41 3250 L=51:GOSUB 50:GOSUB 72:GOSUB 39 3260 IF H=1 AND K=3 THEN GOSUB 68:GOTO 2150 3270 IF K=2 OR K=4 OR K=6 THEN 90 ELSE 41 3290 ON FNRN(3) GOTO 3100,3250 3300 L=52:GOSUB 50:GOSUB 70:GOSUB 82:GOSUB 95:GOSUB 60 3310 IF H=1 AND K=2 THEN GOSUB 68:GOTO 3550 3320 IF K=5 THEN 90 ELSE 41 3350 L=53:GOSUB 64 3360 IF H=1 AND K=4 THEN GOSUB 68:GOTO 1450 3370 IF K=5 OR K=6 THEN 90 ELSE 41 3400 L=54:GOSUB 56:GOSUB 39 3410 IF H=1 AND K=3 THEN GOSUB 68:GOTO 2150 3420 IF K=1 OR K=6 THEN 90 ELSE 41 3495 ON K GOTO 1800,3570,1950,3600,2000 3500 L=31:ME=MM+"the middle of a long, curving passage.":GOSUB 50:GOSUB 77 3505 GOSUB 76:GOSUB 47:GOTO 3495 3545 ON K GOTO 3550,3550,3290,990,2600 3550 L=32:ME=M+"a dirty and dusty room.":GOSUB 50:GOSUB 88:GOSUB 39:GOTO 3545 3570 L=33:ME=M2+C3+"The passage is thoroughly blocked!":GOSUB 50:GOSUB 72 3580 GOSUB 48:IF K=1 THEN 3500 ELSE IF K=3 THEN 3700 ELSE 3570 3600 L=34:ME=M+"a narrow tunnel.":GOSUB 50:PRINT"WEST ":GOSUB 81:GOSUB 47 3610 ON K GOTO 3600,3600,3600,3500,1800,3800,3600 3645 ON K GOTO 3650,1900,3650,2300,2150 3650 L=35:ME=M+"an Ammunition Supply Room."+BE:GOSUB 40:GOSUB 39:GOTO 3645 3695 ON K GOTO 3500,1250,3720,3570 3700 IF R(3)=0 THEN AP="enter":GOSUB 43:GOTO 1260 3710 L=36:ME=M+"a small chamber.":GOSUB 50:GOSUB 70:GOSUB 47:GOTO 3695 3720 ON FNRN(2) GOTO 4600 3750 L=37:ME=M+"a dark, damp cave. Thank goodness for the Lamp!":GOSUB 50 3760 GOSUB 78:GOSUB 47:ON K GOTO 3750,3770,3700,3750,4200,3750 3770 ON FNRN(2) GOTO 1950,1450 3800 L=38:ME=M2:GOSUB 40:GOSUB 48 3810 IF K=2 THEN 4200 ELSE IF K=4 THEN 2000 ELSE 3800 3850 L=39:M=MM+"the bank of a large river.":GOSUB 56:GOSUB 82:GOSUB 60 3860 ON K GOTO 3850,1600,2200,1750,3850,1200,3850 3900 L=40:ME=M+"the Bell Room. (Hundreds of Wind Chimes)":GOSUB 50:GOSUB 66 3910 GOSUB 60:ON K GOTO 3900,2100,1000,3900,3900,3930,3900 3930 Q=FNRN(5):IF Q=3 THEN 1550 ELSE 4050 3950 L=41:ME=M+"a crawl space, only 2 feet high!":GOSUB 50:GOSUB 77:GOSUB 82 3960 GOSUB 47:ON K GOTO 2400,3500,3950,3950,3950,2440,3950 4000 L=42:ME=M"the Attic.":GOSUB 50:PRINT"EAST DOWN":GOSUB 60 4010 IF K=3 THEN 2600 ELSE IF K=6 THEN 1000 ELSE 4000 4040 IF R(10)=0 THEN 60 ELSE PRINT F(18)AS"The cook just threw you out of the Kitchen."FNF(20,11)C"You must get rid of your GARLIC!!"C" he says." 4041 PRINT TAB(11)C"It is ruining my fine cakes and cookies!"C:GOSUB 45 4042 ON FNRN(3) GOTO 4100 4050 L=43:ME=M+"a large entry hall.":GOSUB 50:GOSUB 88:GOSUB 81:GOSUB 95 4060 GOSUB 60:ON K GOTO 4050,4050,2040,1850,3900,1050,4050 4100 L=44:ME=MM+"a flight of stairs.":GOSUB 40:GOSUB 60 4110 IF K=2 THEN 2350 ELSE IF K=4 THEN 2040 ELSE 4100 4195 ON K GOTO 3800,3700,4200,1950,3750 4200 L=45:ME="You have reached the east end of the Cavern.":GOSUB 79:GOSUB 47:GOTO 4195 4500 LN=4500:GOSUB 8888:IF PW=9 AND L=LT THEN 4510 ELSE PW=9:PRINT F(18)"Location="L:PRINT F(16)CLR:PRINT"Which Direction/Action do you want to take?":IF EE<>"" THEN PRINT FNF(17,57)"<< Last Move: "EE" >>" 4505 PRINT FNF(17,47); 4510 IF TA=0 THEN 4550 4520 PRINT F(19)A9;AT"You see these Treasures: "; 4530 FOR J=0 TO 4:IF T(J)=0 AND J>0 THEN 4535 ELSE GOSUB 49 4535 NEXT 4540 LN=4540:GOSUB 8888:IF PG<>9 THEN FOR J=5 TO 6:IF T(J)=0 THEN NEXT ELSE GOSUB 49:NEXT 4550 GOSUB 6000:IF AK="G" THEN 3000 ELSE IF AK="I" THEN 2850 ELSE IF AK="L" THEN GOSUB 2900:GOTO 87 4552 IF AK="N" THEN K=1 ELSE IF AK="S" THEN K=2 ELSE IF AK="E" THEN K=3 ELSE IF AK="W" THEN K=4 ELSE IF AK="U" THEN K=5 ELSE IF AK="D" THEN K=6 ELSE 4550 4555 EE=AK:LT=L:LF=LF-1:IF LF>0 THEN RETURN 4556 PO=0:PRINT CLS:PRINT AS:PRINT"The hunt is over. You ran out of time." 4560 AK=D:NN=1:GOSUB 2915:IF TR=0 THEN PD=0:PRINT FNF(14,32)AT" No Treasures." 4565 IF INT(TR/2)<>TR/2 AND TR

10 THEN Y=8 4585 PRINT F(Y)CLR;:END:GOTO 99 4600 L=46:GOSUB 83:ON K GOTO 4700,4600,2150,2190,2250,1600,4600 4690 ON FNRN(2) GOTO 1100 4700 L=47:GOSUB 83:ON K GOTO 4700,4600,3200,1700,1400,2250,4700 4999 END 5000 ' ***** Misc. Subroutines 5005 ' 5010 PRINT ESC"B0";:RETURN:' Inverse Video ON/OFF 5015 PRINT ESC"C0";:RETURN: 5020 PRINT ESC"B4";:RETURN:' Turn Cursor ON/OFF 5025 PRINT ESC"C4";:RETURN: 5030 PRINT ESC"B1";:RETURN:' Reduced Intensity ON/OFF 5035 PRINT ESC"C1";:RETURN: 5040 PRINT ESC"B3";:RETURN:' Underline ON/OFF 5045 PRINT ESC"C3";:RETURN: 5050 GOSUB 5040:PRINT L$;:GOTO 5045:' Underline L$ 5055 ' 5060 GOSUB 5010:GOSUB 5030:PRINT L$;:GOSUB 5015:GOTO 5035:' Revrs. Video L$ 5065 GOSUB 5010:PRINT L$;:GOTO 5015:' BRIGHT Video L$ 5070 ' 6000 ' ***** INKEY$ Subroutines 6010 K$=INKEY$:IK="" 6020 I=INKEY$:IF I="" THEN 6020 ELSE IF ASC(I)>96 THEN I=CHR$(ASC(I)-32) 6030 AK=I:RETURN 6050 K$=INKEY$:IN="" 6060 IN=INKEY$:IF IN<>CHR$(13) THEN 6060 ELSE RETURN 6070 ' 8000 ' Read Data 8010 FOR J=0 TO P:READ E(J):READ LO(J):LL(J)=LO(J):NEXT 8020 FOR J=1 TO 12:READ Y:D=D+CHR$(Y):NEXT:DM=D+D 8025 MD="Now you've done it!! "+DM+C3+"You are lost in a MAZE. There is a way out, but....":IF FNRN(5)<4 THEN LO(11)=38 8030 IF PE=9 THEN RETURN ELSE PE=9:FOR X=1 TO 40:PRINT"* ";:NEXT 8040 FOR X=1 TO 7:READ C(X),X(X),Y(X):NEXT 8045 FOR Z=1 TO 7:PRINT FNF(X(Z),Y(Z));C(Z); 8050 'FOR Q=1 TO LEN(C(Z)):M=MID$(C(Z),Q,1):PRINT M;:FOR U=1 TO 25:NEXT U,Q 8055 IF Z=1 THEN PRINT FNF(6,23)C;FNF(6,43)C:GOSUB 44:GOTO 8060 8057 IF Z=5 THEN 8060 8060 NEXT:RETURN 8100 DATA AN OLD SCROLL,33,A GOLD BAR,30,A SHARP AXE,17,AN OIL LAMP,2 8105 DATA SOME EMERALDS & SAPHIRES,26,SOME RARE COINS & STAMPS,42 8107 DATA A SILVER BELL,40,A PARCHMENT,24,SOME LAMP OIL,3,FIVE LARGE RUBIES,36 8110 DATA A GARLIC TALISMAN,22,A 200-CARAT DIAMOND,45,A PIECE OF SCULPTURE,7 8115 DATA SOME `TROLL-HOUSE' COOKIES,12,A POUCH FILLED WITH JADE,6 8117 DATA 183,171,184,140,156,135,171,176,183,171,176,32 8120 DATA T R O L L H U N T,6,24,by Richard Altman,9,25,"The object of --TROLL HUNT-- is to get all of the Troll's treasures",12,5 8125 DATA "before time runs out. Explore the Cavern, the House, the Forest... ",14,5,"but beware of the MAZE!!",16,5 8130 DATA Copyright (c) 1990 --- by Richard S. Altman,21,5,"Press to start. Good Luck !!! ",23,5 8888 PRINT F(1)" POss="PO" PDir="PD" PGrph="PG" PWhch="PW;:GOSUB 6000:PRINT F(1)CLR;:RETURN t. Good Luck !!! ",23,5 8888 PRINT F(1)" POss="PO" PDir="PD" PGrph="PG" PWhch="PW;:GOSUB 6000:PRINT F(1)CLR;:RET