10 *TV255 20 *FX4,1 30 MODE7:PROCSETVDU :GOES=0 40 DIM T%(13,5),P(13) 50 FORI=1TO13:P(I)=I:NEXT 60 FOR I=1 TO 13 70 READ T%(I,1),T%(I,2),T%(I,3),T%(I,4):NEXT 80 DATA 5,17,5,18,9,12,9,13,15,12,15,11,15,8,15,9,17,10,16,10,17,6,16,6,23,17,23,16,23,11,24,11,23,5,23,6,33,17,33,16,33,11,32,11,33,5,33,6,36,10,37,10 90 FORI=1TO13 100 Z=RND(13) 110 IF P(Z)<>-1 THEN T%(I,5)=P(Z):P(Z)=-1 ELSE GOTO 100 120 NEXT 130 VDU23,1,0;0;0;0; 140 PRINTTAB(9,10);CHR$141; 150 PRINT"ƒNightmare Park‡ "+CHR$156 160 PRINTTAB(9,11);CHR$141; 170 PRINT"ƒNightmare Park‡ "+CHR$156 180 PRINTTAB(10,20);"ƒBy John Henson" 190 Z=INKEY(300) 200 *TV3,1 210 MODE6:PROCSETSCREEN:PROCVARS 220 PROCMAP:VDU31,MX,MY,224 230 REPEAT:REPEAT:Z=GET 240 UNTIL Z<140 AND Z>135:XI=0:YI=0 250 VDU31,MX,MY,224:GOES=GOES+1 260 IFZ=136 XI=-1 270 IFZ=137 XI=1 280 IFZ=138 YI=1 290 IFZ=139 YI=-1 300 NP=FNPEEK(MX+XI,MY+YI) 310 IFNP=226 OR NP=225 THEN CLS:PRINT"Oh Dear you should have kept off the grass because the Park-keeper has just mowed you down!!!"':PROCDEAD 320 IFNP=32 THEN GOTO 390 330 VDU31,MX,MY,32:I=1:J=FALSE 340 MX=MX+XI:MY=MY+YI 350 REPEAT 360 IF MX=T%(I,1) AND MY=T%(I,2) THEN MX=T%(T%(I,5),3):MY=T%(T%(I,5),4):J=TRUE 370 I=I+1:UNTIL J=TRUE 380 VDU31,MX,MY,224:GOTO410 390 VDU31,MX,MY,32,31,MX+XI,MY+YI,224 400 MX=MX+XI:MY=MY+YI 410 TERROR=RND(25)-1 420 IFTERROR=LAST GOTO410ELSELAST=TERROR 430 IF TERROR=0 PROCGAMBLER 440 IF TERROR=1 PROCGORRILA 450 IF TERROR=2 PROCMAD 460 IF TERROR=3 PROCHAIL 470 IF TERROR=4 PROCFOREST 480 IF TERROR=5 PROCLION 490 IF TERROR=6 PROCCRUSHER 500 IF TERROR=7 PROCEDNA 510 VDU31,MX,MY,224 520 UNTIL MX=38 AND MY=10:*TV255 530 MODE7:END 540 DEFPROCSETSCREEN 550 VDU23,0,9,7,0,0,0,0,0,0 560 VDU23,0,4,38,0;0;0;19,7,3,0,0,0 570 VDU23,1,0;0;0;0; 580 ENDPROC 590 DEFPROCVARS:LAST=-1:MX=1:MY=10:ENDPROC 600 DEFPROCMAP 610 PRINTSTRING$(40,CHR$(225)); 620 FOR Y=1 TO 22 630 PRINT"";STRING$(38,CHR$226);""; 640 NEXT Y:D$=" "+CHR$10+CHR$8 650 PRINTSTRING$(40,CHR$(225)); 660 PRINTTAB(9,2)SPC(10)TAB(21,2)SPC(8)TAB(9,15)SPC(5)TAB(11,5)SPC(1)TAB(11,6)SPC(6)TAB(23,6)SPC(2)TAB(32,6)SPC(2)TAB(24,7)SPC(9)TAB(25,8)SPC(2)TAB(30,8)SPC(2)TAB(24,9)SPC(2) 670 PRINTTAB(31,9)SPC(2)TAB(18,3)SPC(1)TAB(1,10)SPC(16)TAB(37,10)SPC(2)TAB(19,11)SPC(3)TAB(10,12)SPC(4)TAB(24,13)SPC(2)TAB(31,13)SPC(2)TAB(25,14)SPC(2)TAB(30,14)SPC(2)TAB(11,4)SPC(8) 680 PRINTTAB(3,15)SPC(5)TAB(24,15)SPC(9)TAB(23,16)SPC(2)TAB(32,16)SPC(2)TAB(3,18)SPC(5)TAB(9,18)SPC(3)TAB(3,20)SPC(2)TAB(4,21)SPC(8)TAB(13,21)SPC(3)TAB(21,21)SPC(8) 690 PRINTTAB(3,16)STRING$(4,D$)TAB(4,11)STRING$(4,D$)TAB(24,9)STRING$(5,D$)TAB(9,3)STRING$(7,D$)TAB(9,13)STRING$(5,D$)TAB(13,13)STRING$(8,D$)TAB(11,19)STRING$(2,D$)TAB(15,9)STRING$(3,D$) 700 PRINTTAB(15,19)STRING$(2,D$)TAB(16,17)STRING$(3,D$)TAB(17,15)STRING$(3,D$)TAB(18,13)STRING$(3,D$)TAB(28,3)STRING$(4,D$)TAB(28,16)STRING$(5,D$)TAB(32,10)STRING$(3,D$) 710 PRINTTAB(7,15)STRING$(4,D$)TAB(19,12)STRING$(2,D$)TAB(21,2)STRING$(20,D$) 720 FORI=1TO13:VDU31,T%(I,1),T%(I,2),229:NEXT 730 PRINTTAB(2,2);"Keep";TAB(2,4);"Off";TAB(2,6);"The";TAB(2,8);"Grass" 740 PRINTTAB(30,19)"NiteMare"TAB(32,21)"Park" 750 COLOUR0:COLOUR129 760 PRINTTAB(13,0)"By John Henson" 770 COLOUR7:COLOUR128 780 ENDPROC 790 DEFPROCSETVDU:FOR L%=128 TO 224 STEP 96 800 VDU23,L%,0,8,28,127,62,28,54,34 810 VDU23,L%+1,255,255,255,255,255,255,255,255 820 VDU23,L%+2,85,170,85,170,85,170,85,170 830 VDU23,L%+3,60,126,126,126,24,24,24,0 840 VDU23,L%+4,60,126,255,126,102,102,102,102 850 VDU23,L%+5,0,126,66,90,90,66,126,0:NEXT 860 ENDPROC 870 DEFFNPEEK(X%,Y%) 880 LOCAL A%,C% :A%=135:VDU31,X%,Y% 890 C%=((USR(&FFF4) AND &FFFF)DIV&100) 900 IF C%<128 THEN =C% 910 =(C% MOD 32)+224 920 DEFPROCGORRILA 930 RESTORE 950 940 CLS:N=RND(11)-1:FORI=1TON:READN$:NEXT 950 DATAWINSTON,HENRY,PERCIVAL,SIDNEY,ALBERT,FREDRICK,RONALD,STANLEY,EDWARD,LIONEL 960 PRINT"AARGH!, It's the EGOTISTICAL GORRILLA"' 970 PRINT"Tell him his name or be dismantled!!" 980 PRINT'"It is revealed in a flash of light." 990 I=INKEY(500) 1000 PRINTTAB(15,12);N$ 1010 FOR I=1 TO 120*RND(2)+1:NEXT 1020 PRINTTAB(15,12);" " 1030 INPUT "What is his name ",n$ 1040 IF N$<>n$ PRINT'"Grrr! Snarl! You got it ... ";:I=INKEY(200):PRINT"Wrong!":PROCDEAD 1050 PRINT'"Grrr! Snarl! You got it ... ";:I=INKEY(200):PRINT"Right!" 1060 I=INKEY(200):CLS:PROCMAP 1070 ENDPROC 1080 DEFPROCMAD 1090 CLS 1100 PRINT"AARGH!, It's the MAD MATHEMATICIAN" 1110 PRINT'"He says you must answer his sum"' 1120 PRINT"correctly in 15 seconds or else !!!!!" 1130 S$=STR$(RND(10))+"+"+STR$(RND(10))+"+"+STR$(RND(10))+"+"+STR$(RND(10))+"+"+STR$(RND(10))+"+"+STR$(RND(10)) 1140 I=INKEY(300):PRINT''SPC(13);S$ 1150 T=TIME:PRINT:INPUT"Answer ",A 1160 PRINT 1170 IF A<>EVAL(S$) THEN PRINT"Wrong dummy it was ";EVAL(S$)' ELSE PRINT"Right smarty pants it was indeed ";EVAL(S$)' 1180 IF TIME>T+1500 ANDA=EVAL(S$) THEN PRINT"But you were too slow !!":I=INKEY(200):PROCDEAD ELSE IF TIME>T+1500 THEN PRINT"But you were to slow anyway !!":I=INKEY(200):PROCDEAD 1190 IFA<>EVAL(S$) THEN I=INKEY(200):PROCDEAD 1200 I=INKEY(300) 1210 CLS:PROCMAP:ENDPROC 1220 DEFPROCGAMBLER :CLS 1230 PRINT"AARGH!, It's the GRUESOME GAMBLER" 1240 PRINT'"He says you must guess if your dice will"'"be higher or lower than his" 1250 D$=STR$(RND(6)):D1$=STR$(RND(6)) 1260 PRINT'"He rolls a ";D$ 1270 PRINT'"You guess higher or lower (H/L) ";:REPEAT:G$=GET$:UNTILG$="H" OR G$="L":PRINTG$ 1280 PRINT'"You roll a ";:I=INKEY(200):PRINTD1$' 1290 IF G$="H" AND D$D1$ THEN 1320 1310 PRINT"Wrong! ha ha ha !!":PROCDEAD 1320 PRINT"Grrr! Snarl! Right!":I=INKEY(400) 1330 CLS:PROCMAP:ENDPROC 1340 DEFPROCHAIL :CLS 1350 PRINT"Stand still and prepare yourself for a"''"HAIL OF BARBES." 1360 FOR I=1 TO 7000:NEXT:CLS 1370 PRINTTAB(19,19);CHR$(224) 1380 C=0:REPEAT:X=RND(15)+24:Y=0 1390 REPEAT VDU31,X,Y,ASC("X") 1400 FOR I=1 TO 100:NEXT 1410 X=X-1:Y=Y+1:UNTIL Y=20 OR X=0 1420 IF FNPEEK(19,19)<>224 GOTO 1480 1430 X=RND(16)-1:Y=0 1440 REPEAT VDU31,X,Y,ASC("X") 1450 FOR I=1 TO 100:NEXT 1460 X=X+1:Y=Y+1:UNTIL Y=20 OR X=39 1470 C=C+1:UNTIL C=5 OR FNPEEK(19,19)<>224 1480 S=FNPEEK(19,19) 1490 IFS<>224 THEN CLS:PRINT"Too bad, you were hit by a BARB!":PROCDEAD 1500 I=INKEY(400):CLS 1510 PRINT'"You were lucky there." 1520 I=INKEY(200):CLS:PROCMAP:ENDPROC 1530 DEFPROCFOREST:CLS 1540 PRINT"You have 30 seconds to get home(„)"''"throught the forest, if you run into any"'"trees you will break your neck."''"Use arrow keys to move." 1550 I=INKEY(600):CLS:N=32 1560 PRINTSTRING$(40,"ƒ"); 1570 FORI=1TO22:PRINT"ƒ";SPC(38);"ƒ";:NEXT 1580 PRINTSTRING$(40,"ƒ"); 1590 FORI=1TO250:VDU31,RND(39) 1600 VDURND(22),227:NEXT 1610 VDU31,19,12,228 1620 REPEAT:X=RND(37)+1:Y=RND(20)+1:UNTIL FNPEEK(X,Y)=32 1630 T=TIME:REPEAT 1640 IT=TIME:REPEAT:D=INKEY(0) 1650 VDU31,0,24:PRINT"TIME:";(INT(TIME-T)/100);" "; 1660 VDU31,X,Y,32 1670 IF D=136 N=FNPEEK(X-1,Y):X=X-1 1680 IF D=137 N=FNPEEK(X+1,Y):X=X+1 1690 IF D=138 N=FNPEEK(X,Y+1):Y=Y+1 1700 IF D=139 N=FNPEEK(X,Y-1):Y=Y-1 1710 VDU31,X,Y,224 1720 UNTIL TIME>IT+300 OR N<>32 1730 IF N=227 OR N=228 THEN GOTO 1770 1740 FORK%=1TO25 1750 REPEAT:A%=RND(37)+1:B%=RND(20+1):UNTIL FNPEEK(A%,B%)=32 1760 VDU31,A%,B%,227:NEXT 1770 UNTIL N<>32 OR TIME>T+3000 1780 IF N=227 THEN CLS:PRINT"Oops! clumsy! you ran into a tree and"''"broke your neck.":PROCDEAD 1790 ET=TIME:IF ET>=T+3000 THEN CLS:PRINT"Ooops!, too long you have died!":PROCDEAD 1800 CLS:PRINT"Grrr! Snarl! Made it!!" 1810 PRINT'"You are free to go now" 1820 I=INKEY(200):CLS:PROCMAP:ENDPROC 1830 DEFPROCDEAD 1840 PRINT'"Another victim to chalk up on the"''"Park-keepers scoreboard."''"You survived for ";GOES;" move"; 1850 IFGOES>1 PRINT"s."' ELSE PRINT"."' 1860 PRINT'"Would you like to try again? (Y/N) ";:REPEAT:A$=GET$:UNTIL A$="Y" OR A$="N":PRINTA$ 1870 IF A$="Y" RUN ELSE OSCLI("TV255"):CALL !-4 1880 DEFPROCLION:CLS 1890 PRINT"Aaargh! It's the POTTY ZOO-KEEPER!!"' 1900 PRINT"Hidden behind one of three doors is a"''"lion!"''"You must pick a safe door." 1910 FORY=10 TO 17:VDU31,4,Y:PRINT"":VDU31,16,Y:PRINT"":VDU31,27,Y:PRINT"":NEXT Y 1920 VDU31,7,14:PRINT"1":VDU31,19,14:PRINT"2":VDU31,30,14:PRINT"3" 1930 VDU31,0,20:PRINT "You choose door number? "; 1940 REPEAT:A$=GET$:UNTIL A$="1" OR A$="2" OR A$="3":PRINTA$ 1950 D=VAL(A$):DOOR=RND(3):IF D=DOOR A$="LION!" ELSE A$="EMPTY" 1960 IFD=1X=5 1970 IFD=2X=17 1980 IFD=3X=28 1990 FORY=16 TO 11 STEP -1 2000 VDU31,X,Y,32,32,32,32,32 2010 SOUND&0011,-10,100-Y*3,-1:I=INKEY(100) 2020 NEXT:SOUND&0011,0,0,0:VDU31,X,11:PRINTA$:VDU31,0,22 2030 IFD=DOOR PRINT"Aaargh! Grrr! Chomp! Snarl! Crunch!":I=INKEY(200):CLS:PROCDEAD 2040 PRINT"Phew! Escaped! That was lucky.":I=INKEY(200):CLS:PROCMAP:ENDPROC 2050 DEFPROCCRUSHER 2060 CLS:PRINT"Oh! No! It's the Alphabet Crusher!"''"You must press the right letter (A-Z) to"'"stop the roller advancing!" 2070 l%=RND(27)-1:l%=ASC("A")+l%-1 2080 L$=CHR$(l%) 2090 I=INKEY(300):CLS 2100 VDU31,19,20,224:SAME=FALSE 2110 A%=-1:REPEAT:A%=A%+1:VDU31,0,A%:PRINTSTRING$(40,""):SOUND&0011,-10,A%*2+60,-1 2120 REPEAT:A$=GET$:UNTILA$<>"" 2130 IFA$=L$SAME=TRUE 2140 UNTIL SAME OR A%=19 2150 SOUND&0011,0,0,0 2160 IFNOTSAME VDU31,0,20:PRINTSTRING$(40,""):SOUND0,-10,6,10 2170 IFSAME VDU12:PRINT"Well done you stopped the Crusher before"'"it was too late with the letter ";L$;".":FOR I=1 TO 9000:NEXT:CLS:PROCMAP:ENDPROC 2180 COLOUR0:COLOUR129 2190 VDU12,31,0,7 2200 PRINT"     " 2210 PRINT"       " 2220 PRINT"     " 2230 PRINT"      " 2240 PRINT"      " 2250 I=INKEY(600):CLS:PROCDEAD:ENDPROC 2260 DEFPROCEDNA 2270 CLS:PRINT"The wicked witch Edna appears in a puff"''"of foul smelling smoke. 'Your having"''"too much of an easy thing',she says." 2280 PRINT'"Do you agree (Y/N) ?"; 2290 REPEAT:A$=GET$:UNTIL A$="Y" OR A$="N" 2300 PRINTA$' 2310 IF RND(1)>.5 THEN N=TRUE ELSE N=FALSE 2320 IF A$="Y" AND N PROCOK(1) 2330 IF A$="N" AND N PROCOK(2) 2340 IF A$="Y" AND NOT N PRINT"In that case you wont mind going back"''"to the start, will you?":PROCVARS 2350 IF A$="N" AND NOT N PRINT"Because you argued with Edna she sends"''"you back to the start.":PROCVARS 2360 I=INKEY(700):CLS:PROCMAP:ENDPROC 2370 DEFPROCOK(Z) 2380 IF Z=1 PRINT"Because you agree with Edna she decides"''"to leave you be and dissapears." 2390 IF Z=2 PRINT"Oh oh! You shouldnt argue with Edna."''"She raises her hands wiggles her fingers"'"and zaps off in a huff." 2400 ENDPROC