0 'WUMPUS.200 by Dave Thomas 11/14/83 1 'Modified for the Model 200 CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 10 GOSUB1305 15 CLS:CLEAR1000:DEFSTRA-H:DEFINTI-Z:PRINT@176,"WUMPUS-2" 20 ONERRORGOTO1290 25 DIMS(20,3),L(6),M(6),P(5) 30 A=CHR$(140):A1=CHR$(126):A2=CHR$(142):B=A+A1+A 35 C=A1+B+A1:E=CHR$(27)+CHR$(112):F=CHR$(27)+CHR$(113):B7=SPACE$(7) 40 D=A2+A1+A2+A1+A2+A1+A2 45 G=CHR$(47)+CHR$(96)+CHR$(146)+CHR$(39)+CHR$(92) 50 B2=E+G+F:H=CHR$(148):HF=CHR$(147):B1=CHR$(32) 55 C2=E+B+F:D2=E+D+F 60 GOSUB815:FORX=1TOVAL(RIGHT$(TIME$,2)):R=RND(1):NEXT:GOTO70 65 FORT=1TO1000:NEXT:RETURN 70 FORJ=1TO6 75 L(J)=INT(20*RND(1)+1) 80 M(J)=L(J) 85 NEXT 90 FORJ=1TO6 95 FORK=JTO6 100 IFJ=KTHEN110 105 IFL(J)=L(K)THEN70 110 NEXT:NEXT 120 U=5 125 L=L(1) 130 CLS:PRINT@172,"HUNT THE WUMPUS" 135 GOSUB65 140 GOSUB260 145 GOSUB380 150 ONOGOTO155,170 155 GOSUB420 160 IFZ=0THEN145 165 GOTO180 170 GOSUB650 175 IFZ=0THEN140 180 IFZ>0THEN200 185 SOUND4000,20:SOUND5800,20:CLS:PRINT@170,"HA HA HA - YOU LOSE!" 190 GOTO210 195 FORX=1TO5:SOUND2000,5:SOUND1000,5:NEXT 200 CLS:PRINT@134,"HEE HEE HEE":PRINT" THE WUMPUS'LL GET YOU NEXT TIME!!" 205 FORX=1TO5:SOUND5000,5:SOUND7000,5:NEXT 210 FORJ=1TO6 215 L(J)=M(J) 220 NEXT 225 PRINT:PRINT" Play again ?" 230 I$=INKEY$:IFI$=""THEN230 235 IFI$<>"Y"ANDI$<>"y"THEN1285 240 PRINT" Same set-up ?" 245 I$=INKEY$:IFI$=""THEN245 250 IFI$<>"Y"ANDI$<>"y"THEN60 255 GOTO120 260 PRINT 265 FORJ=2TO6 270 FORK=1TO3 275 IFS(L(1),K)<>L(J)THEN355 280 ONJ-1GOTO285,305,305,320,320 285 FORM=0TO10:CLS:PRINT@70-M,G:PRINT@100+M,A:PRINT@139+M,B:PRINT@178+M,C 287 PRINT@217+M,D:PRINT@217+M,B7:PRINT@217+M,D2:PRINT@217+M,B7:PRINT@139+M,C2:PRINT@217+M,D:SOUND6666,2:PRINT@139+M,B:NEXT 290 SOUND3500,1:SOUND7000,2 295 PRINTTAB(11);"I SMELL A WUMPUS!":GOSUB65 300 GOTO355 305 CLS:PRINT@172,"I FEEL A DRAFT!!" 310 GOSUB65:GOTO355 320 FORM=0TO15STEP5:CLS:PRINT@42+(M),G;TAB(17+(M));B2;TAB(30+(M));G:PRINTTAB(10+(M));B2;TAB(20+(M));G;TAB(34+(M));G 325 PRINT@42+(M),B7;TAB(17+(M));B7;TAB(30+(M));B7:PRINTTAB(10+(M));B7;TAB(20+(M));B7;TAB(34+(M));B7:SOUND1000,1 330 PRINT@42+(M),G;TAB(17+(M));G;TAB(30+(M));G:PRINTTAB(10+(M));G;TAB(20+(M));G;TAB(34+(M));G 332 PRINT@42+(M),B7;TAB(17+(M));B7;TAB(30+(M));B7:PRINTTAB(10+(M));B7;TAB(20+(M));B7;TAB(34+(M));B7 335 PRINT@42+(M),G;TAB(17+(M));G;TAB(30+(M));G:PRINTTAB(10+(M));G;TAB(20+(M));G;TAB(34+(M));G:SOUND800,1:NEXT 340 PRINTG;TAB(14);"BATS NEARBY!!";TAB(31);G:PRINTTAB(12);G;TAB(26);G 345 PRINTTAB(6);G;TAB(22);G;TAB(32);G 350 GOSUB65 355 NEXT:NEXT 365 CLS:PRINT@132,"You are in Room ";L(1) 370 PRINT"Tunnels lead to ";S(L,1);S(L,2);S(L,3) 375 RETURN 380 PRINT"Shoot or Move ?" 385 I$=INKEY$:IFI$=""THEN385 390 IFI$<>"S"ANDI$<>"s"THEN405 395 O=1 400 RETURN 405 IFI$<>"M"ANDI$<>"m"THEN385 410 O=2 415 RETURN 420 Z=0 425 PRINT"No. of Rooms ?" 430 J$=INKEY$:IFJ$=""THEN430 435 J9=VAL(J$) 440 IFJ9<1ORJ9>5ORINT(J9)<>ABS(J9)THEN430 445 FORK=1TOJ9 450 PRINT"Room #"; 455 INPUTP(K) 460 IFP(K)>0ANDP(K)<21ANDINT(P(K))=ABS(P(K))THEN470 465 GOTO450 470 NEXT 480 U=U-J9 485 V=L(1) 490 FORK=1TOJ9 495 FORK1=1TO3 500 IFS(V,K1)=P(K)THEN560 505 NEXT 510 V=S(V,INT(3*RND(1)+1)) 515 GOTO565 520 NEXT 525 CLS:PRINT:PRINT:FORQ=1TO20:SOUND2000,2:SOUND3500,2:PRINTB1;CHR$(154);:NEXTQ:PRINT:PRINTB7;"MISSED!" 530 GOSUB610 535 IFU>0THEN555 540 PRINT:PRINT" You have used up all your arrows." 545 GOSUB65 550 Z=-1 555 RETURN 560 V=P(K) 565 IFV<>L(2)THEN590 570 CLS:SOUND6000,10:SOUND4000,10:PRINT@128,"AHA! YOU GOT THE WUMPUS!":PRINT:PRINTTAB(12);"He was in Room";L(2) 575 GOSUB65 580 Z=1 585 RETURN 590 IFV<>L(1)THEN520 595 CLS:PRINT@130,CHR$(154);B1;CHR$(154);H:PRINT:PRINTTAB(10);"OUCH! Arrow got you!" 600 GOSUB65 605 GOTO550 610 K=INT(4*RND(1)+1) 615 IFK=4THEN645 620 L(2)=S(L(2),K) 625 IFL(2)<>LTHEN645 630 CLS:SOUND8000,10:SOUND8500,10:SOUND12000,20:PRINT@165,"TSK TSK TSK - Wumpus got you!" 635 GOSUB65 640 Z=-1 645 RETURN 650 Z=0 655 PRINT"Where to "; 660 INPUTL 665 IFL<1ORL>20ORABS(L)<>INT(L)THEN660 670 FORK=1TO3 675 IFS(L(1),K)=LTHEN710 680 NEXT 685 IFL=L(1)THEN710 690 PRINT:PRINTTAB(10);"Not possible -"; 695 INPUTZ9 700 PRINT""; 705 GOTO655 710 L(1)=L 715 IFL<>L(2)THEN755 720 FORM=0TO10:CLS:PRINT@115-M,A:PRINT@154-M,B:PRINT@193-M,C:PRINT@232-M,D:PRINT@232-M,B7 725 PRINT@41+M,G:PRINT@232-M,D2:PRINT@232-M,B7:PRINT@154-M,C2 727 FORX=153-MTO135STEP-1:PRINT@X,CHR$(190);:NEXT:FORT=1TO20:NEXT:FORX=153-MTO135STEP-1:PRINT@X,B1;:NEXT:FORT=1TO20:NEXT 730 PRINT@232-M,D:SOUND7000,1:SOUND8000,1:PRINT@154-M,B:NEXT 735 PRINT@247,"... OOPS! bumped a Wumpus!":BEEP:BEEP:BEEP 740 GOSUB65 745 CLS:GOSUB610 750 IFZ=0THEN755 755 IFL<>L(3)ANDL<>L(4)THEN780 760 CLS:PRINT@41,"YYYIIIEEE...";HF:SOUND1567,10:PRINT@53,B7:PRINT@95,H:SOUND1500,13:PRINT@95,B7 762 PRINT@136,HF:SOUND1200,14:PRINT@136,B7:PRINT@177,H:SOUND1000,15 765 PRINT@177,;B7:PRINT@218,HF:SOUND900,16:PRINT@218,;B7:PRINT@259,H:SOUND500,50:PRINT@259,;B7 767 PRINT@300,HF;" fell in a PIT!":GOSUB65 770 Z=-1 775 CLS:RETURN 780 IFL<>L(5)ANDL<>L(6)THEN810 785 CLS:PRINT@282,G;TAB(13);G:BEEP:PRINTTAB(16);G;STRING$(10,190);G:PRINTTAB(4);G;TAB(21);G:PRINTTAB(13);G;TAB(33);G 790 PRINTTAB(9);"ZAP! Super Bat snatch!":PRINTTAB(8);"ELSEWHERESVILLE FOR YOU!":SOUND8500,10:SOUND11000,15 795 GOSUB65 800 CLS:L=INT(20*RND(1)+1) 805 GOTO710 810 CLS:RETURN 815 REM - SELECT CAVE 820 PRINT" Cave #(0-6) " 825 RESTORE 830 N$=INKEY$:IFN$=""THEN830 835 N=VAL(N$) 840 PRINTTAB(15);"Let me think a bit...." 845 IFN<0ORN>6ORINT(N)<>ABS(N)THEN820 850 ONN+1GOSUB860,895,955,1015,1075,1135,1195 855 RETURN 860 REM-DODECAHEDRON 865 DATA2,5,8,1,3,10,2,4,12,3,5,14,1,4,6 870 DATA5,7,15,6,8,17,1,7,9,8,10,18,2,9,11 875 DATA10,12,19,3,11,13,12,14,20,4,13,15,6,4,1 880 DATA15,17,20,7,16,18,9,17,19,11,18,20,13,16,19 885 GOSUB1250 890 RETURN 895 REM-NOBIUS STRIP 900 FORW1=1TO1 905 FORW2=1TO60 910 READW 915 NEXT:NEXT 925 DATA20,2,3,19,1,4,1,4,5,2,3,6,3,6,7 930 DATA4,5,8,5,8,9,6,7,10,7,10,11,8,9,12 935 DATA9,12,13,10,11,14,11,14,15,12,13,16,12,1,17 940 DATA14,15,18,15,18,19,16,17,20,2,17,20,1,18,19 945 GOSUB1250 950 RETURN 955 REM-STRING OF BEADS 960 FORW1=1TO2 965 FORW2=1TO60 970 READW 975 NEXT:NEXT 985 DATA2,3,20,1,3,4,1,2,4,2,3,5,4,6,7 990 DATA5,7,8,5,6,8,6,7,9,8,10,11,9,11,12 995 DATA9,10,12,10,11,13,12,14,15,13,15,16,13,14,16 1000 DATA14,15,17,16,18,19,17,19,20,17,18,20,1,18,19 1005 GOSUB1250 1010 RETURN 1015 REM-HEX NUT ON TORUS 1020 FORW1=1TO3 1025 FORW2=1TO60 1030 READW 1035 NEXT:NEXT 1045 DATA6,10,16,6,7,17,7,8,18,8,9,19,9,10,20 1050 DATA1,2,15,2,3,11,3,4,12,4,5,13,5,6,14 1055 DATA7,16,20,8,16,17,9,17,18,10,18,19,6,19,20 1060 DATA1,11,12,2,12,13,3,13,14,4,14,15,5,11,15 1065 GOSUB1250 1070 RETURN 1075 REM-DENDRITE W/DEGENERACIES 1080 FORW1=1TO4 1085 FORW2=1TO60 1090 READW 1095 NEXT:NEXT 1105 DATA1,1,5,2,2,5,3,3,6,4,4,6,1,2,7 1110 DATA3,4,7,5,6,10,8,9,9,8,8,10,7,9,11 1115 DATA10,13,14,12,13,13,11,12,12,11,15,16,14,17,1 1120 DATA14,19,20,15,17,17,15,18,18,16,19,19,16,20,20 1125 GOSUB1250 1130 RETURN 1135 REM-ONE WAY LATTICE 1140 FORW1=1TO5 1145 FORW2=1TO60 1150 READW 1155 NEXT:NEXT 1165 DATA5,4,8,1,5,6,2,6,7,3,7,8,8,9,12 1170 DATA5,9,10,6,10,11,7,11,12,12,13,16,9,13,14 1175 DATA10,14,15,11,15,16,16,17,20,13,17,18,14,18,19 1180 DATA15,19,20,1,4,20,1,2,17,2,3,18,3,4,19 1185 GOSUB1250 1190 RETURN 1195 REM-INPUT YOUR OWN CAVE 1200 FORJ=1TO20 1205 CLS:PRINT@125,"Room #";J; 1210 INPUTS(J,1),S(J,2),S(J,3) 1215 FORK=1TO3 1220 IFS(J,K)>0ANDS(J,K)<21ANDINT(S(J,K))=ABS(S(J,K))THEN1235 1225 PRINT:PRINT" ***** ERROR!!!!!! Sorry, can't do it!":GOSUB65 1230 GOTO1205 1235 NEXT:NEXT 1245 RETURN 1250 REM-INPUTCAVE 1255 FORJ=1TO20 1260 FORK=1TO3 1265 READS(J,K) 1270 NEXT:NEXT 1280 RETURN 1285 MENU 1290 SOUND4000,50:SOUND2000,50 1295 IFERR<>11THENPRINT" Error Code";ERR;"in line ";ERL:STOP:RESUME 1300 END 1305 CLS:PRINT"WUMPUS 2; Creative Computing (c) 1979 Written by Gregory Yob 1976" 1310 PRINT"Re-written with major modifications and adapted for Model 100 by David D.Thomas" 1315 PRINT"Graphic animation by Dave Thomas Aug 83":FORT=1TO3000:NEXT:RETURN