1 REM "DARKPIT" COPYRIGHT (C) 1980 BY ROBERT A. WILCOX 2 REM ORIG 08/23/80 REVISION (21) 10/11/81 60 CLS:PRINT"FALLING....":FORI=1TO13:PRINTTAB(11+I);".":FORJ=1TO50:NEXTJ:NEXTI:PRINTTAB(12+I);"K L U N K !" 70 CLEAR400:DEFINTA-Z:RANDOM 75 O=1:E=1 80 DIMS$(99),T(12),V$(30),N$(40),N(40),R(26,12) 85 TZ=12:RZ=26:BZ=10:SZ=5:GZ=5 100 S$(0)="SOMEWHERE IN ANOTHER ADVENTURE,"' TEXT 101 S$(1)="YOU FELL INTO A DARK PIT AND WERE LEFT FOR DEAD." 102 S$(2)="ANY LIGHT YOU MAY HAVE HAD WAS LOST OR BROKEN." 103 S$(3)="IT IS PITCH DARK." 104 S$(4)="AS YOU STEP FORWARD," 105 S$(5)="YOUR FOOT CAN'T FIND ANY FLOOR." 106 S$(6)="YOU STEP OFF INTO NOTHINGNESS..." 107 S$(7)="(OH 'WELL', EVERY GAME HAS ITS 'PITFALLS'.)" 110 S$(10)="LOOSE PILE OF LARGE DRY BONES,«LF» APPARENTLY AN OLD SKELETON OF A PREVIOUS ADVENTURER." 111 S$(11)="PILE OF BONES" 112 S$(12)="LARGE MOUND OF LOOSE DIRT, PERHAPS AN OLD CAVEIN." 113 S$(13)="MOUND OF DIRT" 114 S$(14)="GREAT SOFT FUR RUG, VERY WARM, WITH HUGE TEETH.«LF» IT PRODUCES A DEEP RUMBLING 'GR-R-R-R', AND BEGINS TO STIR." 115 S$(15)="LARGE FUR RUG" 116 S$(16)="END OF A LONG LENGTH OF STURDY MANILA ROPE." 117 S$(17)="ONE END OF ROPE" 118 S$(18)="LITTLE PACKET OF SAFETY MATCHES." 119 S$(19)="SAFETY MATCHES" 120 S$(20)="MOLDY PUTRID DEAD BODY, PARTLY EATEN.«LF» IT GLURGS WHEN YOU PUSH ON IT." 121 S$(21)="DEAD BODY" 122 S$(22)="LARGE BRASS KEY OF VERY OLD DESIGN." 123 S$(23)="BRASS KEY" 124 S$(24)="SMALL TIN BOX CONTAINING PAPER PACKETS.«LF» YOU TEAR ONE OPEN. THEY ARE BANDAIDS." 125 S$(25)="BOX OF BANDAIDS" 126 S$(26)="SCATTERED SHARDS OF BROKEN GLASS,«LF» POSSIBLY AN OLD LAMP.«LF» yOU'VE CUT YOURSELF BADLY ON A JAGGED PIECE." 127 S$(27)="BROKEN GLASS" 128 S$(28)="LARGE WOODEN CHEST WITH METAL REINFORCING.«LF» THE OLD RUSTY LOCK IS STILL INTACT." 129 S$(29)="WOODEN CHEST" 130 S$(30)="WORN BUT SERVICEABLE AND ROOMY BACKPACK." 131 S$(31)="ROOMY BACKPACK" 132 S$(32)="VERY SOLID WALL OF ROUGH-CUT STONE." 133 S$(33)="STONE WALL" 134 S$(34)="ROUGH DUSTY STONE FLOOR WITH SCATTERED DEBRIS." 135 S$(35)="STONE FLOOR" 136 S$(36)="STURDY WOODEN BAR ENDING IN A«LF» FLAT METAL PIECE. IT IS APPARENTLY A LARGE SHOVEL." 137 S$(37)="LARGE SHOVEL" 138 S$(38)="DEEP WIDE PIT WITH SMOOTH WALLS. SOUNDS OF«LF» WATER DRIPPING AND SPLASHING HINT THAT IT MIGHT BE A WELL." 139 S$(39)="DEEP WELL" 140 S$(40)="SHOCKINGLY ICY WATER WITH FLOATING DEBRIS." 141 S$(41)="ICY WATER" 142 S$(42)="SLIMY MUDDY BOTTOM, WITH THINGS THAT WRIGGLE AWAY." 143 S$(43)="MUDDY BOTTOM" 144 S$(44)="OTHER END OF A LONG LENGTH OF STURDY MANILA ROPE." 145 S$(45)="OTHER END OF ROPE" 161 S$(61)="THE ROPE'S ALL TIED UP." 162 S$(62)="THE SHOVEL CLATTERS LOUDLY AS IT JAMS ACROSS THE OPENING." 163 S$(63)="«LF» IT RISES PONDEROUSLY AND MOVES AWAY INTO THE DARKNESS,«LF» GROWLING AND KNOCKING YOU ASIDE AS IT GOES." 164 S$(64)="YOU ARE UNDERWATER, LUNGS ACHING FOR AIR." 165 S$(65)="YOU FAINT AND DIE, ROTTING BONES FOUND BY ANOTHER ADVENTURER.«LF» DYING IS NOT THE ONLY WAY OUT." 166 S$(66)="YOUR CUT IS BLEEDING PROFUSELY." 167 S$(67)="AFTER A LONG WAIT, YOU HEAR A SPLASH." 168 S$(68)="AS YOU CRAWL FORWARD, YOUR HAND CAN'T FIND ANY FLOOR." 169 S$(69)="yOU'RE STANDING UP." 170 S$(70)="YOU GASP FOR BREATH AT THE SURFACE OF" 171 S$(71)="DON'T BE SILLY." 172 S$(72)="THAT'S STUPID." 173 S$(73)="NO WAY DUM-DUM." 174 S$(74)="NO MAGIC ALLOWED HERE." 175 S$(75)="TRY SOMETHING DIFFERENT." 176 S$(76)="BE SENSIBLE." 177 S$(77)="THERE ARE BETTER POSSIBILITIES YOU HAVEN'T TRIED YET." 178 S$(78)="YOU'RE NOT THINKING!" 179 S$(79)="CALM DOWN, DON'T PANIC!" 180 S$(80)="YOU SINK DOWN, DOWN, DOWN, UNTIL YOU MUSH INTO A" 181 S$(81)="OK." 182 S$(82)="ALL RIGHT." 183 S$(83)="DONE." 184 S$(84)="NICE MOVE." 185 S$(85)="GOOD. KEEP IT UP." 186 S$(86)="NOW YOU'RE COOKING." 187 S$(87)="ISN'T THIS EXCITING!" 188 S$(88)="BY YOUR COMMAND." 189 S$(89)="HANG IN THERE BABE!" 190 S$(90)="YOU CRASH INTO SOMETHING SOLID." 191 S$(91)="WITH A TREMENDOUS SPLASH, YOU PLUNGE INTO" 192 S$(92)="YOU'RE NOT CARRYING ANYTHING." 193 S$(93)="IT'S TOO HEAVY." 194 S$(94)="YOU AWAKEN PAINFULLY, LYING ON A" 195 S$(95)="YOU'VE NO WAY TO CARRY ANYTHING ELSE." 196 S$(96)="YOU STUMBLE ON AN OBJECT." 197 S$(97)="YOU ARE LYING ON THE FLOOR." 198 S$(98)="*" 199 S$(99)="(NOT CODED YET)" 200 DATA FEEL,GET,DROP,TURN,CRAWL:' VERBS 205 DATA WALK,RUN,CLIMB,DIG,LOOK 210 DATA BURN,LIGHT,TIE,BANDAID,STAND 215 DATA SCREAM,YELL,UNLOCK,ATTACK,LIST 220 DATA SWIM,OPEN,LIFT,SNIFF,SMELL 248 VZ=24 249 FORJ=0TOVZ:READV$(J):NEXT 250 DATA PACK,ROPE,DIRT,WELL,WALL:' NOUNS 255 DATA FLOOR,LAMP,MATCH,SHOVEL,TREASURE 260 DATA CHEST,BANDAIDS,CUT,ALL,EVERYTHING 265 DATA GLASS,BODY,MOUND,KEY,BOX 270 DATA MATCHES,BACKPACK,BONES,SKELETON,FUR 275 DATA CREATURE,TUNNEL,CAVEIN,BEAR,RUG 280 DATA FORWARD,RIGHT,BACKWARD,LEFT,UP 285 DATA DOWN,PIT,OBJECT,AIR,OTHER 298 NZ=39 299 FORJ=0TONZ:READN$(J):NEXT 300 DATA31,17,13,0,33,35,27,19,37,0,29,25,0,1,1,27,21,13,23,25:' N>T 310 DATA19,31,11,11,15,15,0,13,15,15,0,0,0,0,0,0,0,0,0,45 340 FORJ=0TO NZ:READ N(J):NEXT 400 DATA 31,11,13,15,17,23,19,39,25,27,37,21,29,11:' INIT 405 IFE=0READC 410 FORT=0TO TZ+E:IFE=0THEN J=2*T:GOTO430 420 J=RND(25)-1:IFR(J,0)>0THEN420 430 READR(J,0) 440 IF R(J,0)=17THENR(J,1)=45 445 IFR(J,0)=39THENW=J 450 NEXT 460 IFE=1THEN D=RND(4)-1:F=RND(4)-1:R=RND(25)-1:IFR(R,0)>0THEN460 470 M=4:Y=INT(R/5):X=R-5*Y 490 CLS 495 S=0:GOSUB1000:S=1:GOSUB1000:PRINT:S=3:GOSUB1000:S=2:GOSUB1000:PRINT:S=94:GOSUB1000:S=34:GOSUB1000 499 GOTO1200 500 IFN=0OR N=13OR N=14OR N=21THEN1100' VECTORS 502 IFN>29AND N<34THEN1500 504 GOTO1650 510 IFN>2ANDN<6ORN=12ORN=26ORN>29ANDN<34ORN>35ANDN<39THEN1700 511 IFN=34ANDM>4ORN=35ANDM<5THEN1700 512 IFN=34ANDM=0THEN1731 513 IFN=34AND M=4THEN M=5:GOTO1530 514 IFN=35AND M>4THEN M=4:GOTO1530 516 GOTO1750 520 IFN>2AND N<6OR N=12OR N=26OR N>29AND N<37THEN1700 522 GOTO1800 530 IFN>29AND N<34THEN1500 532 IFN>2AND N<6OR N=12OR N=26OR N>29AND N<37THEN1700 534 IFN=2OR N=10OR N=16OR N=17OR N>21THENS=93:GOTO1020 536 GOTO1530 540 GOTO560 550 GOTO560 560 IFN<30OR N>36THEN1700 561 IFM=0THEN1731 562 IFM<5AND V>4THENS=97:GOTO1020 563 IFM>4AND V<5THENS=69:GOTO1020 564 IFR=W ANDN=30THEN1450 565 M=V:GOTO1500 570 GOTO899 580 IFN=2OR N=17OR N=27THEN1530 582 IFN>29AND N<36THEN1700 584 L$="WOW! TERRIFIC"+N$+", MAN!":GOTO1050 590 IFN<30OR N>35THEN1700 592 S=3:GOTO1020 600 REM 610 GOTO899 620 IFN>0ANDN<6ORN>11ANDN<15ORN=17ORN=26ORN=27ORN>29THEN1700 622 IFN=24ORN=25ORN=28ORN=29THEN1692 624 GOTO2100 630 IFN>29ANDN<36THEN1700 632 IFN=12ANDB>0THENN=11:GOSUB1900:IFL=0THEN1825ELSEB=0:GOTO1530 634 GOSUB1900:IFL=0ORB=0THEN1825 636 GOTO1530 640 REM 650 REM 660 REM 670 REM 680 GOTO899 690 IFN=24OR N=25OR N=28OR N=29THEN1700 691 GOTO500 700 IFR<25OR N<30OR N>35THEN1700 701 IFN<34THEN1500 702 IF(R=25AND N=34)OR(R=26AND N=35)THEN1700 703 IFR=25THEN2050 704 GOTO2070 710 REM 720 REM 730 REM 740 REM 750 REM 760 REM 770 REM 780 REM 790 REM 800 REM 810 REM 820 REM 830 REM 840 REM 850 REM 860 REM 870 REM 880 REM 890 REM 899 S=99:GOTO1020 995 PRINT:S=65:GOSUB1000' END 996 INPUT"«LF» THE ADVENTURE IS OVER. TRY AGAIN";U$:U$=LEFT$(U$,1):IFU$="Y"THENRUNELSEIFU$="N"THENNEWELSE996 999 GOTO996 1000 L$=S$(S)' CENTER 1001 IFS>70ANDS<80THENL$="NO, "+L$ 1002 IFS>81ANDS<90THENL$="OK, "+L$ 1003 IFL$=""THENPRINT:RETURN 1005 IFLEN(L$)>63PRINTL$:RETURN 1010 PRINTTAB(32-LEN(L$)/2)L$:RETURN 1020 PRINT:GOSUB1000:GOTO1200 1040 E$=E$+"." 1050 PRINT:GOSUB1003:GOTO1200 1100 CLS:IFC=0THENS=92:GOTO1020' LIST 1110 PRINTTAB(16)"YOU ARE CARRYING THE FOLLOWING:" 1120 S=C:GOSUB1000:IFC<>31THEN1200 1130 FORJ=0TOTZ:IFT(J)<>0THENS=T(J):GOSUB1000 1140 NEXT:GOTO1200 1200 GOSUB2999:IFB>1THENB=B-1:S=66:GOSUB1000' NEXT CMD 1201 IFG>1THENG=G-1:S=64:GOSUB1000 1203 IFE=1AND(G=1OR B=1)THEN995 1204 PRINT:PRINT"NOW WHAT"; 1205 INPUTU$:V$="":N$="":U=2:IFU$=""THEN1265 1210 IFMID$(U$,U,1)=""THENV$=U$:GOTO1255ELSEIFMID$(U$,U,1)<>" "THENU=U+1:GOTO1210 1220 N$=RIGHT$(U$,LEN(U$)-U):V$=LEFT$(U$,U-1) 1255 FORV=0TOVZ:IFLEFT$(V$,SZ)=LEFT$(V$(V),SZ)THEN1270 1260 NEXT 1265 PRINT:PRINT"HUH";:GOTO1205 1270 FORN=0TONZ:IFLEFT$(N$,SZ)=LEFT$(N$(N),SZ)THEN1290 1280 NEXT 1285 PRINT:PRINTV$" WHAT";:GOTO1205 1290 CLS:IFV=0THEN500 1291 ONVGOTO510,520,530,540,550,560,570,580,590,600,610,620,630,640,650,660,670,680,690,700,710,720,730,740,750,760,770,780,790,800,810,820,830,840,850,860,870,880,890 1292 GOTO899 1300 IFR>24THEN1380' MOVE 1309 IF(D=0AND Y=0)OR(D=1AND X=4)OR(D=2AND Y=4)OR(D=3AND X=0)THEN1380 1310 IFD=0AND Y>0THENY=Y-1 1320 IFD=1AND X<4THENX=X+1 1330 IFD=2AND Y<4THENY=Y+1 1340 IFD=3AND X>0THENX=X-1 1350 R=Y*5+X 1360 FORJ=0TOTZ:IFR(R,J)<>0THEN1400 1370 NEXT:GOTO1530 1380 S=90:GOTO1020 1400 IFR<>W THEN1490' TRIP 1410 IFM=5OR M=6THEN1450 1420 IFM=4THENS=3:GOSUB1000:S=68:GOSUB1000:GOTO1200 1430 STOP 1450 FORS=3TO7:GOSUB1000:NEXTS 1460 N=8:GOSUB1900:IFL=0THEN2000 1470 PRINT:S=62:GOSUB1000:M=0:GOTO1200 1490 S=96:GOTO1020 1500 IFN>29ANDN<34THEND=D+N-30:GOTO1520' TURN 1502 GOTO1265 1520 IFD>3THEND=D-4 1522 IFV=0THEN1670 1523 IFR>24THEN1380 1524 IFV>3AND V<7THEN1300 1530 S=RND(9)+80:GOTO1020' OK 1550 IF E=1 AND T=27 AND B=0 THEN B=BZ' CUT 1551 RETURN 1600 T=N(N):IF T=1THEN T=C' N>T 1610 RETURN 1650 IFN=35OR N=37THENN=5' FEEL 1651 IFN=34THEN1678 1652 GOSUB1900:IFL>0THEN1100 1653 IFT=0THEN1730 1654 FORJ=0TOTZ:IFN=5AND R(R,J)<>0THEN T=R(R,J):GOTO1691 1656 IF R(R,J)=T THEN1691 1658 NEXT:T=35:GOTO1692 1670 IF(D=0AND Y=0)OR(D=1AND X=4)OR(D=2AND Y=4)OR(D=3AND X=0)THEN1680 1678 L$="YOU FEEL NOTHING.":GOTO1050 1680 T=33:GOTO1692 1691 GOSUB1550 1692 IF E=0 OR T<>15THEN1698ELSE D=RND(4)-1:M=4 1693 S=RND(25)-1:IF S=R OR S=W THEN1693 1694 FORK=0TO TZ:IFR(S,K)=0THEN R(S,K)=T:R(R,J)=0:GOTO1698 1695 NEXTK:GOTO1693 1698 L$="YOU FEEL A "+S$(T-1):IF E=1AND T=15THEN L$=L$+S$(63) 1699 GOTO1050 1700 S=RND(9)+70:GOTO1020' NO 1715 IFL>0THEN1780 1730 L$="YOU DON'T FEEL ANY "+N$+" HERE.":GOTO1050 1731 IFR=WANDM=0THENL$="YOU ARE HANGING FROM A "+S$(C)ELSE L$="YOU ARE LYING UNDER A VERY HEAVY "+S$(T) 1735 GOTO1040 1750 GOSUB1900:IFL>0THEN1780' GET 1755 FORJ=0TO TZ:IFR(R,J)=T THEN1760 1756 NEXT:GOTO1730 1760 K=J:IF C=0THEN C=T:GOTO1790 1765 IF C<>31THEN1775 1770 FORJ=0TOTZ:IFT(J)=0THENT(J)=T:GOTO1790 1771 NEXT 1775 S=95:GOTO1020 1780 L$="YOU'RE ALREADY CARRYING A "+S$(T)+".":GOTO1050 1790 R(R,K)=0:IFN=2ORN=10ORN=16ORN=17ORN>21ANDN<39THENM=0:GOTO1731 1791 GOSUB1550 1792 L$="YOU PICK UP THE "+S$(T)+".":GOSUB1003 1793 IFT<>31ANDC=31THENL$="YOU PUT IT IN YOUR PACK.":GOSUB1003 1795 GOTO1200 1800 K=N:N=8:GOSUB1900:N=K:K=L' DROP 1805 GOSUB1900:IFL=2THENT(J)=0:GOTO1830 1810 IFL=1THENC=0:GOTO1830 1825 L$="YOU DON'T HAVE ANY "+N$+".":GOTO1050 1830 IFR<>WORT=37OR(T=31ANDK=2)THEN1891 1840 GOTO1893 1891 FORJ=0TOTZ:IFR(R,J)=0THENR(R,J)=T:GOTO1895 1892 NEXT:STOP 1893 FORJ=0TOTZ:IFR(26,J)=0THENR(26,J)=T:GOTO1895 1894 NEXT:STOP 1895 GOSUB1550 1896 L$="YOU DROP THE "+S$(T)+".":GOSUB1003:IFM=0THENM=4 1897 IFR<>WTHEN1200 1898 IFT=37OR(T=31ANDK=2)THENS=62ELSES=67 1899 GOTO1020 1900 GOSUB1600:IF T=0OR(C<>31AND C<>T)THEN1940' HAVE 1910 IFC=T THENL=1:RETURN 1920 FORJ=0TO TZ:IFT(J)=T THENL=2:RETURN 1930 NEXT 1940 L=0:RETURN 2000 GOSUB2999:PRINT:INPUT"NOW WHAT";U$' WELL 2010 CLS:S=91:GOSUB1000 2020 R=25:G=0:S=40:GOSUB1000:IFC=0OR C=17THEN1200 2030 IFC<>31THEN2050 2040 FORJ=0TOTZ:IFT(J)<>0THEN2050 2045 NEXT 2050 R=26:PRINT:S=80:GOSUB1000:S=42:GOSUB1000:IFG=0THEN G=GZ 2060 GOTO1200 2070 IFC=0OR C=17THEN S=70:GOSUB1000:GOTO2020 2075 GOTO2050 2100 K=N:N=1:GOSUB1900:IFL>0THENJ=0:GOTO2110' TIE 2103 N=39:GOSUB1900:IFL>0THENJ=2:GOTO2110 2106 N=1:GOTO1825 2110 N=K:K=J:GOSUB1900:IFL=0THEN1825 2120 IFK=0THENJ=2ELSEJ=0 2130 IFL(K)=0ANDL(J)<>TTHENL(K)=T:GOTO1530 2140 IFL(0)=T OR L(2)=T THENK=T ELSEK=17 2150 L$="THE"+S$(K)+"IS ALREADY TIED.":GOTO1050 2999 IF O=0 RETURN 3000 PRINT:PRINT"C"C" V"V;V$(V)" N"N;N$(N)" D"D" M"M" B"B" G"G" X"X" Y"Y:PRINT"T ";:FORJ=0TOTZ:PRINT" "+RIGHT$(STR$(T(J)),2);:NEXT:PRINT 3010 PRINT"R("RIGHT$(STR$(R),2)")";:FORJ=0TOTZ:PRINT" "+RIGHT$(STR$(R(R,J)),2);:NEXT 3020 PRINT" L";:FORJ=0TO3:PRINT" "+RIGHT$(STR$(L(J)),2);:NEXT:PRINT 3030 FORJ=0TORZ:K=INT(0.5+5*(J/5-INT(J/5))):PRINTTAB(12+6*K);RIGHT$(STR$(R(J,0)),2); 3040 IFJ<>R THEN3070 3042 IFD=0PRINT"["; 3044 IFD=1PRINTCHR$(94); 3046 IFD=2PRINTCHR$(92); 3048 IFD=3PRINTCHR$(93); 3070 IFK=4PRINT 3080 NEXT 3090 RETURN