lovejoy777

PORTEDFORESTOFDOOM

Dec 10th, 2023
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ZXBasic 39.36 KB | Source Code | 0 0
  1.      2ON ERROR GOTO 7000
  2.      5ZS=1:XX%=0:R=0
  3.     15REM WRITTEN BY S.W. LUCAS
  4.     20REM APRIL 1983
  5.     25REM Ported to the BBC Micro in June 2020
  6.     26REM this port is from the ORIC version as printed in PCW magazine in Feb. 1984 but then slightly adjusted to bring it in line with the Commodore version.
  7.     27REM several improvements to the parser and bugfixes have been attempted!
  8.     28REM Ported to the AGON LIGHT2 in December 2023 by steve lovejoy.
  9.     29MODE 7
  10.     30GOSUB3110
  11.     50DIMQ$(46),G$(42),S%(46,4),V$(3),B%(60,1),N$(60),N%(53),X$(61)
  12.     60A$="":P%=3:M%=0
  13.     70RESTORE:GOSUB440:GOSUB2410
  14.     80CLS
  15.    110PRINT;CHR$(131);"I am:-"
  16.    111PRINTQ$(P%):A$=""
  17.    120IFS%(P%,1)>0THENA$="North"
  18.    124GOSUB3150
  19.    140IFS%(P%,2)>0ANDLEN(A$)>0THENA$=A$+", South"
  20.    145IFS%(P%,2)>0ANDLEN(A$)=0THENA$=A$+"South"
  21.    150IFS%(P%,3)>0ANDLEN(A$)>0THENA$=A$+", East"
  22.    155IFS%(P%,3)>0ANDLEN(A$)=0THENA$=A$+"East"
  23.    160IFS%(P%,4)>0ANDLEN(A$)>0THENA$=A$+", West"
  24.    170IFS%(P%,4)>0ANDLEN(A$)=0THENA$=A$+"West"
  25.    175:
  26.    176IFA%=6THENPRINT"…You have successfully completed your   …mission!"'''
  27.    177IFA%=6THENPRINT"…The Prince thanks you and Albert for   …your …incredible bravery.               …He gives you both a knighthood!"
  28.    178IFA%=6THEN END
  29.    185PRINT:PRINT;CHR$(130);"I can go: ";A$
  30.    186PRINT
  31.    190IFP%=22ANDS%(22,3)=0THENPRINTX$(55)
  32.    200E=0:FORT=1TO37:PP%=0:IFB%(T,1)=P%THENPP%=1
  33.    210IFPP%=1THEN230
  34.    220NEXTT:GOTO250
  35.    230IFE=0THENPRINT;CHR$(134);"That looks like"
  36.    235PRINT;CHR$(134);G$(T):E=E+1:GOTO220
  37.    250PRINT:PRINT;CHR$(133);"What should I do now ";:INPUTZ$
  38.    252IFZ$=""THENCLS:PRINT;CHR$(133);"What?":GOTO110
  39.    260PROCPARSER
  40.    270CLS
  41.    280IFB$="NORT"ANDS%(P%,1)<>0THENP%=S%(P%,1):GOTO110
  42.    290IFB$="SOUT"ANDS%(P%,2)<>0THENP%=S%(P%,2):GOTO110
  43.    300IFB$="EAST"ANDS%(P%,3)<>0THENP%=S%(P%,3):GOTO110
  44.    310IFB$="WEST"ANDS%(P%,4)<>0THENP%=S%(P%,4):GOTO110
  45.    315IFB$="NORT"ANDS%(P%,1)=0THENZS=0:GOTO410
  46.    316IFB$="SOUT"ANDS%(P%,2)=0THENZS=0:GOTO410
  47.    317IFB$="EAST"ANDS%(P%,3)=0THENZS=0:GOTO410
  48.    318IFB$="WEST"ANDS%(P%,4)=0THENZS=0:GOTO410
  49.    320IFB$="SCOR"THENGOSUB3150:PRINT"ƒYou have scored ";A%;" out of 6.":GOTO110
  50.    321IFB$="PULL"ORB$="FLUS"THEN4500
  51.    325:
  52.    335IFB$="TAKE"ORB$="GRAB"OR LEFT$(B$,3)="GET"THEN1550
  53.    338IFB$="HELP"THEN2390
  54.    339IFB$="SWIM"THENPRINT"‚I can't swim!":GOTO110
  55.    350IFB$="FUCK"ORB$="PISS"ORB$="SHIT"THEN3210
  56.    355IFB$="DROP"ORB$="LEAV"ORB$="GIVE"THEN1860
  57.    370IFB$="LOOK"THEN110
  58.    375IFB$="PRAY"THEN3260
  59.    380IFB$="SHOO"THEN2120
  60.    390IFLEFT$(B$,3)="HIT"THENGOTO2120
  61.    395IFB$="KILL"THENGOTO2120
  62.    398IFB$="EXAM"ORB$="READ"THEN2200
  63.    400IFB$="THRO"ORB$="CHUC"THENGOTO2340
  64.    405IFLEFT$(B$,3)="RUB"THEN3280
  65.    408IFB$="INVE"THEN2280
  66.    409IFLEFT$(B$,3)="USE"THEN2360
  67.    410IFZS=0THENPRINT"‚I can't go in that direction":ZS=1:GOTO110
  68.    414:
  69.    415PRINTX$(60)
  70.    420GOTO110
  71.    430END
  72.    440FORH=1TO46
  73.    445FORD=1TO4
  74.    450READS%(H,D)
  75.    455NEXT
  76.    460READQ$(H)
  77.    465NEXT
  78.    470FORH=1 TO37
  79.    480READG$(H):READB%(H,1)
  80.    485NEXT
  81.    490FORH=1TO53
  82.    495READN$(H),N%(H)
  83.    500NEXT
  84.    507RETURN
  85.    510DATA0,0,2,0," at the doorway of an old hut.           The door is locked."
  86.    520DATA43,8,3,1," in the Pawnbroker's shop. A sign says   'Drop yourƒ*TREASURES*‡here'"
  87.    530DATA0,9,4,2," on a disused railway line."
  88.    550DATA0,10,0,3," on a narrow footpath that leads into    the forest."
  89.    560DATA0,11,6,10," At a junction in the path."
  90.    565DATA0,0,0,5," In an old stone quarry."
  91.    570DATA0,0,8,0," by a wooden gate.                       The Pawnbroker is here.                 He won't let me pass."
  92.    590DATA2,0,0,7," by the dustbins."
  93.    600DATA3,0,0,0," In the Old Ship Tavern."
  94.    610DATA4,0,0,0," just by the edge of the woods."
  95.    620DATA5,0,16,0," in a small thicket in the woods."
  96.    630DATA7,0,0,0," in a clearing in the woods. There are   broken pots, and weeds everywhere."
  97.    640DATA0,0,14,12," by a small plot of land. It is rather   overgrown."
  98.    650DATA0,18,0,13," in the graveyard, by a grave."
  99.    660DATA0,19,0,0," inside a small brick outbuilding."
  100.    670DATA0,0,0,11," at a dead end."
  101.    680DATA12,25,26,0," in a damp, gloomy tunnel. Water is      pouring down the walls."
  102.    690DATA14,0,19,0," on a disused track near the graveyard."
  103.    700DATA15,27,0,18," at the entrance to an old temple."
  104.    710DATA0,28,0,0," in the lavatory!"
  105.    720DATA16,0,0,0," on a narrow bridge that crosses the     stream."
  106.    730DATA0,0,0,16," in a very dark part of the forest."
  107.    740DATA34,0,0,22," in the workshop."
  108.    750DATA0,0,31,0," in a vast hallway."
  109.    760DATA17,0,42,0," in a twisty little passage."
  110.    770DATA0,42,0,17," in a hallway."
  111.    780DATA19,0,0,0," inside the old temple."
  112.    790DATA20,38,0,27," in the hospital."
  113.    800DATA21,0,0,0," at another dead end."
  114.    810DATA22,0,32,0," in a tiny shrine."
  115.    820DATA32,0,0,24," on a private beach."
  116.    830DATA0,31,33,30," in a large arena."
  117.    840DATA36,37,0,32," in a secluded house."
  118.    850DATA0,23,0,0," in the tiny store-room."
  119.    860DATA41,41,41,34," lost!"
  120.    870DATA36,36,36,36," Completely lost in a spinning time      vortex!"
  121.    880DATA33,0,0,0," in a cold and damp cell."
  122.    890DATA28,0,0,0," in the broom cupboard."
  123.    900DATA27,0,0,0," in a long, narrow tunnel."
  124.    910DATA0,0,0,42," in an eerie crypt, deep in the caves."
  125.    920DATA41,41,41,35," in a dense, swirling fog."
  126.    930DATA26,0,0,25," in a cavern."
  127.    940DATA0,2,45,44," in the potting shed."
  128.    950DATA0,0,43,0," at the far end of the potting shed."
  129.    960DATA0,0,0,43," by the garden shed."
  130.    970DATA0,45,0,0," in the garden shed."
  131.    980RETURN
  132.    990DATA"A large frog.",14
  133.   1000DATA"A little girl.",37
  134.   1010DATA"A wallet.",30
  135.   1020DATA"A flask of brandy.",9
  136.   1030DATA"An old dwarf.",29
  137.   1040DATA"A *RUBY* encrusted goblet.",33
  138.   1050DATA"A loaded shotgun.",46
  139.   1060DATA"A *DIAMOND* studded tiara.",41
  140.   1070DATA"A genuine antique Orc *DAGGER*",38
  141.   1080DATA"My old friend Albert. He looks ill.",28
  142.   1090DATA"A jar of Dr. Frankenstein's cure-all   †medicine.",31
  143.   1100DATA"a vending machine. It contains         †chocolates.",13
  144.   1110DATA"A `1 coin.",11
  145.   1120DATA"A bauble.",39
  146.   1130DATA"A *SILVER* spear. (Just right for      ƒmonsters of all types).",40
  147.   1135DATA"A golden coloured ring.",4
  148.   1140DATA"A can of oil.",15
  149.   1150DATA"A dirty old plant pot.",43
  150.   1160DATA"A real plastic crucifix.",6
  151.   1170DATA"Bill & Ben guarding the entrance to a  †tunnel.",12
  152.   1180DATA"An evil Balrog!",16
  153.   1190DATA"A large altar.",27
  154.   1200DATA"An evil, menacing Vampire who will not let me pass.",42
  155.   1210DATA"A seemingly innocent old man, but he   †won't let me pass.",10
  156.   1220DATA"A coffin, covered with mud.",25
  157.   1230DATA"A rusty lock.",45
  158.   1240DATA"An evil Hobgoblin - with halitosis!",34
  159.   1250DATA"A silver plated casket with no lid.",26
  160.   1260DATA"A broken lid.",24
  161.   1270DATA"A small pack-horse.",32
  162.   1280DATA"A sleeping monster...",23
  163.   1300DATA"A greedy little Orc warrior, guarding  the bridge.",21
  164.   1310DATA"A tiny beanstalk with a label attached.",3
  165.   1320DATA"A packet of fertiliser.",44
  166.   1330DATA"A brass monkey.",2
  167.   1340DATA"A chain.",20
  168.   1350DATA"Some mushrooms (I think).",18
  169.   1360DATA"FROG",1,"PRINCE",1
  170.   1370DATA"GIRL",2,"LITTLE",2
  171.   1380DATA"WALLET",3,"FLASK",4,"BRANDY",4
  172.   1390DATA"DWARF",5,"RUBY",6
  173.   1400DATA"SHOTGUN",7,"GUN",7
  174.   1410DATA"DIAMOND",8
  175.   1420DATA"ANTIQUE",9,"DAGGER",9
  176.   1425DATA"FRIEND",10,"ALBERT",10
  177.   1430DATA"MEDICINE",11,"VENDING",12,"CHOCOLATES",12
  178.   1450DATA"COIN",13,"BAUBLE",14
  179.   1460DATA"GOLDEN",15,"SPEAR",15,"RING",16
  180.   1465DATA"OIL",17,"DIRTY POT",18,"POTS",18
  181.   1467DATA"CRUCIFIX",19,"CROSS",19,"GUARD",20
  182.   1470DATA"BALROG",21,"ALTAR",22,"VAMPIRE",23,"MAN",24
  183.   1480DATA"COFFIN",25,"CORPSE",25
  184.   1490DATA"DOOR",26,"LOCK",26,"GOBLIN",27,"CASKET",28
  185.   1500DATA"LID",29,"HORSE",30
  186.   1510DATA"SLEEPING MONSTER",31,"MONSTER",31
  187.   1520DATA"ORC",32,"WARRIOR",32
  188.   1530DATA"BEAN",33,"LABEL",33
  189.   1540DATA"PACKET",34,"FERTILISER",34,"MONKEY",35,"CHAIN",36,"MUSHROOMS",37
  190.   1550GOSUB3030
  191.   1560IFL$="PLANT"THENPRINT"‚Sorry!":GOTO250
  192.   1570IFL%=1THEN1590
  193.   1580PRINT"‚Get what?":GOTO110
  194.   1590E%=0
  195.   1600FORH=1 TO37
  196.   1605IFB%(H,1)=P% ANDB%(N%(R),1)=P%THENE%=1
  197.   1610NEXTH
  198.   1620IFE%=0THEN PRINT"‚I don't see it.":GOTO110
  199.   1630CLS:IFP%=12ANDR=30THENPRINTX$(3):GOTO110
  200.   1640IFP%=16ANDR=31THENPRINTX$(4):GOTO110
  201.   1641IFP%=20ANDR=52THENPRINT"‚Get a lavatory chain? You are joking!":GOTO110
  202.   1650IFP%=27ANDR=32THENPRINTX$(5):GOTO110
  203.   1660IFP%=10ANDR=34THENPRINTX$(7):GOTO110
  204.   1661IFP%=37AND(R=3ORR=4)ANDXX%<>1THENPRINTX$(52):GOTO110
  205.   1662IFP%=37AND(R=3ORR=4)ANDXX%=1THENPRINT"‚She smiles as she eats a chocolate.":GOTO1810
  206.   1670IFP%=42ANDR=33THENPRINTX$(6):GOTO110
  207.   1680IFP%=25AND(R=35ORR=36)THENPRINTX$(8):GOTO110
  208.   1690IFP%=14AND(R=1ORR=2)ANDB%(2,1)=-1THENGOTO1810
  209.   1700IFP%=45AND(R=37ORR=38)THENPRINTX$(45):GOTO250
  210.   1710IFP%=34ANDR=39THENPRINTX$(46):GOTO250
  211.   1720IFP%=21AND(R=44ORR=45)THENPRINTX$(49):GOTO250
  212.   1730IFP%=14AND(R=1ORR=2)ANDB%(2,1)<>14THENPRINTX$(17):GOTO110
  213.   1740IFP%=13ANDR=19ANDB%(13,1)<>13THENPRINTX$(19):GOTO110
  214.   1741IFP%=13ANDR=18ANDB%(13,1)<>13THENPRINTX$(10):GOTO110
  215.   1750IFP%=9AND(R=6ORR=7)ANDB%(3,1)=9THEN1810
  216.   1760IFP%=9AND(R=6ORR=7)ANDB%(13,1)=9THENPRINTX$(21):GOTO250
  217.   1770IFP%=9AND(R=6ORR=7)ANDB%(13,1)<>9THENPRINTX$(36):GOTO250
  218.   1780IFP%=29ANDB%(4,1)<>29THENPRINTX$(54):GOTO110
  219.   1790IFP%=28AND(R=15ORR=16)ANDB%(11,1)<>28THENPRINTX$(56):GOTO110
  220.   1800IFP%=28AND(R=15ORR=16)ANDB%(11,1)=28THENG$(10)=X$(57):B%(11,1)=-1
  221.   1810E%=0
  222.   1820FORD=1TO3:IFV$(D)=""THENV$(D)=G$(N%(R)):E%=1:D=4
  223.   1830NEXT
  224.   1840IFE%=0THENPRINTX$(38):GOTO250
  225.   1850B%(N%(R),1)=0:GOTO110
  226.   1860GOSUB3030
  227.   1870IFL%=1THEN1890
  228.   1880PRINT''"‚I can't see a ";L$:GOTO250
  229.   1890E%=0
  230.   1900FORD=1TO3
  231.   1905IFV$(D)=G$(N%(R))THENV$(D)="":E%=1
  232.   1910NEXT
  233.   1911:
  234.   1920IFE%=1THEN1940
  235.   1930PRINTX$(39):GOTO250
  236.   1940B%(N%(R),1)=P%
  237.   1950CLS
  238.   1960IFP%=7ANDR=24THENPRINTX$(1):S%(7,2)=12:B%(16,1)=1:Q$(7)=" by an open gate."
  239.   1970IFP%=12AND(R=26ORR=27)THENPRINTX$(2):S%(12,2)=17:S%(12,3)=13
  240.   1971IFP%=12AND(R=26ORR=27)THENB%(20,1)=-1:B%(18,1)=0
  241.   1980IFP%=14AND(R=3ORR=4)THENPRINTX$(9):G$(1)=X$(13):B%(2,1)=-1:GOTO110
  242.   1981IFP%=37AND(R=18ORR=19)THENXX%=1
  243.   2000IFP%=29AND(R=6ORR=7)THENG$(5)=X$(14):PRINTX$(12):GOTO110
  244.   2010IFP%=28ANDR=17THENPRINTX$(16):G$(10)="†my friendƒ*Albert*":GOTO110
  245.   2020IFP%=13ANDR=20THENPRINTX$(18):G$(12)="†a box of chocolates.":GOTO110
  246.   2030IFP%=45ANDR=25THENPRINTX$(20):S%(45,1)=46:B%(26,1)=-1:B%(17,1)=-1:GOTO110
  247.   2040IFP%=22AND(R=49ORR=50)ANDB%(33,1)=22THENPRINTX$(53):S%(22,2)=30:S%(22,3)=23
  248.   2041IFP%=22AND(R=49ORR=50)ANDB%(33,1)=22THENG$(33)=X$(61):X$(55)="":GOTO110
  249.   2050IFP%=22AND(R=47ORR=48)ANDB%(34,1)=22THENPRINTX$(53):S%(22,2)=30:S%(22,3)=23
  250.   2051IFP%=22AND(R=47ORR=48)ANDB%(34,1)=22THENG$(33)=X$(61):X$(55)="":GOTO110
  251.   2061IFP%=27ANDB%(12,1)=27ANDB%(1,1)=0THENS%(27,3)=28:B%(12,1)=0:G$(22)=X$(58)
  252.   2080IFP%=21ANDR=53THENPRINTX$(47):S%(21,2)=29:B%(32,1)=0:B%(53,1)=-1:GOTO110
  253.   2090IFP%=13AND(R=18ORR=19)ANDB%(13,1)=13THENPRINTX$(18):GOTO110
  254.   2100IFP%=34ANDR=8THENPRINTX$(25):S%(34,3)=35:B%(5,1)=-1:B%(27,1)=-1:GOTO110
  255.   2110GOTO110
  256.   2120IFP%=10ANDB%(7,1)=0ANDS%(10,3)=0THENPRINTX$(27):S%(10,3)=5:G$(24)=X$(28):GOTO110
  257.   2125IFP%=10ANDB%(7,1)THENPRINTX$(30):GOTO110
  258.   2130IFP%=29ANDM%=0THENPRINTX$(29):GOTO110
  259.   2140IFB%(7,1)<>0THENPRINT"‚I don't have a gun!":GOTO250
  260.   2150PRINTX$(30):GOTO250
  261.   2160GOSUB3030
  262.   2170IFP%=27ANDR=28THENPRINTX$(31):S%(27,3)=28:GOTO110
  263.   2180IFP%=24THENPRINTX$(37):GOTO110
  264.   2190PRINT"‚Into what?":GOTO250
  265.   2200GOSUB3030
  266.   2210IFB%(8,1)=0ANDR=12THENPRINTX$(34):GOTO110
  267.   2211IFP%=12AND(R=26ORR=27)THENPRINTX$(40):GOTO110
  268.   2220IFP%=25AND(R=35ORR=36)THENPRINTX$(59):GOTO110
  269.   2230IFB%(15,1)=0ANDR=15THENPRINTX$(22):GOTO110
  270.   2240IFP%=24THENPRINTX$(37):GOTO110
  271.   2241IFP%=39ANDR=21THENPRINTX$(41):GOTO110
  272.   2243IFP%=14AND(R=1ORR=2)THENPRINTX$(42):GOTO110
  273.   2250IF(R=47ORR=48)ANDB%(33,1)=0THENPRINTX$(23):GOTO110
  274.   2260IF(R=22ORR=23)ANDB%(15,1)=0THENPRINTX$(22):GOTO110
  275.   2270PRINTX$(35):GOTO250
  276.   2280PRINT"†I have:-"
  277.   2285:
  278.   2290F%=0
  279.   2300FORH=1TO3
  280.   2305IFV$(H)<>""THENPRINTV$(H):F%=1
  281.   2310NEXT
  282.   2320IFF%=0THENPRINT"†nothing at all!"
  283.   2330GOTO250
  284.   2340IFP%=16ANDB%(21,1)=16THENPRINTX$(48)
  285.   2341IFP%=16ANDB%(21,1)=16THENS%(16,2)=21:S%(16,3)=22:B%(21,1)=0:GOTO110
  286.   2350GOTO110
  287.   2360GOSUB3030
  288.   2365IFR=25ANDB%(17,1)=0THEN GOTO 2376
  289.   2370IFB%(19,1)<>0 THEN PRINTX$(39):GOTO110
  290.   2372IFP%=42ANDR=28 AND B%(19,1)=0ANDS%(42,3)=0 THENPRINTX$(31):S%(42,3)=40:G$(23)=X$(24):GOTO110
  291.   2374IFP%=42ANDR=28 AND B%(19,1)=0ANDS%(42,3)=40 THENPRINTX$(33):GOTO110
  292.   2376IFP%=45ANDR=25 AND B%(17,1)=0ANDS%(45,1)=0 THENPRINTX$(20):S%(45,1)=46:B%(17,1)=-1:B%(26,1)=-1:GOTO1890
  293.   2377IFR=25 AND B%(17,1)=0 THENPRINTX$(32):GOTO110
  294.   2380PRINTX$(32):GOTO250
  295.   2390CLS:PRINT''"‚I'm as confused as you are..."
  296.   2391:
  297.   2395PRINT'"‚I suppose you could try praying...":GOTO250
  298.   2410X$(1)="‚The Pawnbroker rubs his hands together ‚in glee. He grabs the ring and runs    ‚in to his shop."
  299.   2420X$(2)="‚Ben grabs the pot and runs off.        ‚He is shouting something about a       ‚present for Bill..."
  300.   2430X$(3)="‚You must be joking!"
  301.   2440X$(4)="‚What do you think I am?                ‚Have you seen those fangs, dripping in BLOOD!"
  302.   2450X$(5)="‚I know I am Superman, but even I can't ‚move that!"
  303.   2460X$(6)="‚What do you think I am? A sucker?!"
  304.   2470X$(7)="‚All that glitters..."
  305.   2480X$(8)="‚I'm not carrying that! There's a dead  ‚body in there!"
  306.   2490X$(9)="‚The girl chases the frog and kisses it.‚In a blinding flash, the frog turns    ‚into the handsome Prince of Cenra!"
  307.   2500X$(10)="‚I'm not a thief you know!              ‚I need a coin..."
  308.   2510X$(11)="‚O.K."
  309.   2520X$(12)="‚The old dwarf takes the brandy and     ‚drinks it. He gives you a warm smile."
  310.   2530X$(13)="ƒA handsome *PRINCE*"
  311.   2540X$(14)="‚An old dwarf. He is happy to come along‚with you now."
  312.   2550X$(15)="‚Albert still isn't feeling well enough ‚to travel."
  313.   2560X$(16)="‚Healthy Albert!"
  314.   2570X$(17)="‚The frog hops away."
  315.   2580X$(18)="‚The coin fits in the slot.             ‚I get a box of chocolates."
  316.   2590X$(19)="‚I can't carry the whole machine!"
  317.   2600X$(20)="‚After a second... The lock opens."
  318.   2610X$(21)="‚The landlord grins at you and says     ‚'I don't accept those.'"
  319.   2620X$(22)="‚There is an inscription written on it  ‚but I can't quite make it out."
  320.   2630X$(23)="‚The label reads 'For Rapid growth - use…GROWMORE‚fertiliser.'"
  321.   2640X$(24)="‚The dark opening to a crypt"
  322.   2650X$(25)="‚The dwarf chases the hobgoblin away    ‚with his axe."
  323.   2660X$(26)="‚It seems like a good idea, but...      ‚Nothing happens."
  324.   2670X$(27)="‚The man lets out an agonizing scream!  ‚His body shrivels in mid-air.          ‚A Pile of dust falls to the ground.    ‚A monster starts to form from the dust!"
  325.   2680X$(28)="†an evil smellingMonster†with venom    †dripping from its pointed teeth."
  326.   2690X$(29)="‚Whoops! Missed!"
  327.   2700X$(30)="‚BANG! - Nothing happened."
  328.   2710X$(31)="‚TheVampire‚recoils at the sight of the‚crucifix and runs for its life!"
  329.   2720X$(32)="‚It doesn't seem to do anything at the  ‚moment."
  330.   2730X$(33)="‚Thevampire‚has already left."
  331.   2740X$(34)="‚Theƒ*DIAMONDS*‚must be valuable."
  332.   2750X$(35)="‚I can't see anything unusual."
  333.   2760X$(36)="‚The landlord doesn't like that..."
  334.   2770X$(37)="‚It bears an inscription:               ‚'A perfect gift for all.'"
  335.   2780X$(38)="‚I may be superman, but I just can't    ‚carry any more."
  336.   2790X$(39)="‚I've not got it - Dummy!"
  337.   2800X$(40)="‚The pots are rather tatty."
  338.   2810X$(41)="‚A worthless bauble."
  339.   2820X$(42)="‚It's too fast for me."
  340.   2830X$(43)="‚Watch out!                             ‚I think I may have been spotted."
  341.   2840X$(44)="‚I've just beenATTACKED!"
  342.   2850X$(45)="‚I can't move it, it's too rusty."
  343.   2860X$(46)="‚You must be joking!                    ‚With breath like that!"
  344.   2870X$(47)="‚It eats the mushrooms, and falls into  ‚a stupor."
  345.   2880X$(48)="‚Straight through the heart!            ‚I grab theƒ*SPEAR*‚back quickly."
  346.   2890X$(49)="‚Orcs are far too vicious and nasty."
  347.   2900X$(50)="‚Seems like a good idea..."
  348.   2910X$(51)="‚The horse just fainted!"
  349.   2920X$(52)="‚The girl refuses to come!"
  350.   2930X$(53)="‚The beanstalk spurts into furious      ‚growth. I can use it to climb over the ‚wall."
  351.   2940X$(54)="‚The dwarf refuses to come with you."
  352.   2950X$(55)="‚There is a wall here, but I can't      ‚climb it.                              ‚The soil is good..."
  353.   2960X$(56)="‚Albert is too ill to travel."
  354.   2970X$(57)="‚It's my healthy friendƒ*Albert*"
  355.   2980X$(58)="‚The altar moved aside.                 ‚There are two passages behind it."
  356.   2990X$(59)="‚There's a half-decomposed body         ‚in there!"
  357.   3000X$(60)="‚I'm sorry - I don't know that word."
  358.   3010X$(61)="‚The beanstalk grows so much that I can ‚climb the wall!"
  359.   3020RETURN
  360.   3030L$="":FORH=1TOLEN(Z$)
  361.   3040IF MID$(Z$,H,1)=" "THENL$=RIGHT$(Z$,(LEN(Z$)-H)):H=H+40
  362.   3050NEXT
  363.   3060R=0
  364.   3070L%=0:IFLEN(L$)<2THENRETURN
  365.   3080FORH=1TO53:IFLEFT$(N$(H),LEN(L$))=L$ THENL%=1:R=H
  366.   3090NEXT
  367.   3100RETURN
  368.   3110CLS
  369.   3111PRINT'TAB(9);CHR$(141);CHR$(129);"THE FOREST OF DOOM"
  370.   3112PRINT TAB(9);CHR$(141);CHR$(129);"THE FOREST OF DOOM"
  371.   3113PRINT'
  372.   3115PRINTTAB(14);CHR$(130);"An adventure"
  373.   3117PRINT'TAB(13);CHR$(130);"By  S.W. Lucas"
  374.   3118PRINT''"Many months ago your lifelong friend,   Al     2ON ERROR GOTO 7000
  375.      5ZS=1:XX%=0:R=0
  376.     15REM WRITTEN BY S.W. LUCAS
  377.     20REM APRIL 1983
  378.     25REM Ported to the BBC Micro in June 2020
  379.     26REM this port is from the ORIC version as printed in PCW magazine in Feb. 1984 but then slightly adjusted to bring it in line with the Commodore version.
  380.     27REM several improvements to the parser and bugfixes have been attempted!
  381.     28REM Ported to the AGON LIGHT2 in December 2023 by steve lovejoy.
  382.     29MODE 7
  383.     30GOSUB3110
  384.     50DIMQ$(46),G$(42),S%(46,4),V$(3),B%(60,1),N$(60),N%(53),X$(61)
  385.     60A$="":P%=3:M%=0
  386.     70RESTORE:GOSUB440:GOSUB2410
  387.     80CLS
  388.    110PRINT;CHR$(131);"I am:-"
  389.    111PRINTQ$(P%):A$=""
  390.    120IFS%(P%,1)>0THENA$="North"
  391.    124GOSUB3150
  392.    140IFS%(P%,2)>0ANDLEN(A$)>0THENA$=A$+", South"
  393.    145IFS%(P%,2)>0ANDLEN(A$)=0THENA$=A$+"South"
  394.    150IFS%(P%,3)>0ANDLEN(A$)>0THENA$=A$+", East"
  395.    155IFS%(P%,3)>0ANDLEN(A$)=0THENA$=A$+"East"
  396.    160IFS%(P%,4)>0ANDLEN(A$)>0THENA$=A$+", West"
  397.    170IFS%(P%,4)>0ANDLEN(A$)=0THENA$=A$+"West"
  398.    175:
  399.    176IFA%=6THENPRINT"…You have successfully completed your   …mission!"'''
  400.    177IFA%=6THENPRINT"…The Prince thanks you and Albert for   …your …incredible bravery.               …He gives you both a knighthood!"
  401.    178IFA%=6THEN END
  402.    185PRINT:PRINT;CHR$(130);"I can go: ";A$
  403.    186PRINT
  404.    190IFP%=22ANDS%(22,3)=0THENPRINTX$(55)
  405.    200E=0:FORT=1TO37:PP%=0:IFB%(T,1)=P%THENPP%=1
  406.    210IFPP%=1THEN230
  407.    220NEXTT:GOTO250
  408.    230IFE=0THENPRINT;CHR$(134);"That looks like"
  409.    235PRINT;CHR$(134);G$(T):E=E+1:GOTO220
  410.    250PRINT:PRINT;CHR$(133);"What should I do now ";:INPUTZ$
  411.    252IFZ$=""THENCLS:PRINT;CHR$(133);"What?":GOTO110
  412.    260PROCPARSER
  413.    270CLS
  414.    280IFB$="NORT"ANDS%(P%,1)<>0THENP%=S%(P%,1):GOTO110
  415.    290IFB$="SOUT"ANDS%(P%,2)<>0THENP%=S%(P%,2):GOTO110
  416.    300IFB$="EAST"ANDS%(P%,3)<>0THENP%=S%(P%,3):GOTO110
  417.    310IFB$="WEST"ANDS%(P%,4)<>0THENP%=S%(P%,4):GOTO110
  418.    315IFB$="NORT"ANDS%(P%,1)=0THENZS=0:GOTO410
  419.    316IFB$="SOUT"ANDS%(P%,2)=0THENZS=0:GOTO410
  420.    317IFB$="EAST"ANDS%(P%,3)=0THENZS=0:GOTO410
  421.    318IFB$="WEST"ANDS%(P%,4)=0THENZS=0:GOTO410
  422.    320IFB$="SCOR"THENGOSUB3150:PRINT"ƒYou have scored ";A%;" out of 6.":GOTO110
  423.    321IFB$="PULL"ORB$="FLUS"THEN4500
  424.    325:
  425.    335IFB$="TAKE"ORB$="GRAB"OR LEFT$(B$,3)="GET"THEN1550
  426.    338IFB$="HELP"THEN2390
  427.    339IFB$="SWIM"THENPRINT"‚I can't swim!":GOTO110
  428.    350IFB$="FUCK"ORB$="PISS"ORB$="SHIT"THEN3210
  429.    355IFB$="DROP"ORB$="LEAV"ORB$="GIVE"THEN1860
  430.    370IFB$="LOOK"THEN110
  431.    375IFB$="PRAY"THEN3260
  432.    380IFB$="SHOO"THEN2120
  433.    390IFLEFT$(B$,3)="HIT"THENGOTO2120
  434.    395IFB$="KILL"THENGOTO2120
  435.    398IFB$="EXAM"ORB$="READ"THEN2200
  436.    400IFB$="THRO"ORB$="CHUC"THENGOTO2340
  437.    405IFLEFT$(B$,3)="RUB"THEN3280
  438.    408IFB$="INVE"THEN2280
  439.    409IFLEFT$(B$,3)="USE"THEN2360
  440.    410IFZS=0THENPRINT"‚I can't go in that direction":ZS=1:GOTO110
  441.    414:
  442.    415PRINTX$(60)
  443.    420GOTO110
  444.    430END
  445.    440FORH=1TO46
  446.    445FORD=1TO4
  447.    450READS%(H,D)
  448.    455NEXT
  449.    460READQ$(H)
  450.    465NEXT
  451.    470FORH=1 TO37
  452.    480READG$(H):READB%(H,1)
  453.    485NEXT
  454.    490FORH=1TO53
  455.    495READN$(H),N%(H)
  456.    500NEXT
  457.    507RETURN
  458.    510DATA0,0,2,0," at the doorway of an old hut.           The door is locked."
  459.    520DATA43,8,3,1," in the Pawnbroker's shop. A sign says   'Drop yourƒ*TREASURES*‡here'"
  460.    530DATA0,9,4,2," on a disused railway line."
  461.    550DATA0,10,0,3," on a narrow footpath that leads into    the forest."
  462.    560DATA0,11,6,10," At a junction in the path."
  463.    565DATA0,0,0,5," In an old stone quarry."
  464.    570DATA0,0,8,0," by a wooden gate.                       The Pawnbroker is here.                 He won't let me pass."
  465.    590DATA2,0,0,7," by the dustbins."
  466.    600DATA3,0,0,0," In the Old Ship Tavern."
  467.    610DATA4,0,0,0," just by the edge of the woods."
  468.    620DATA5,0,16,0," in a small thicket in the woods."
  469.    630DATA7,0,0,0," in a clearing in the woods. There are   broken pots, and weeds everywhere."
  470.    640DATA0,0,14,12," by a small plot of land. It is rather   overgrown."
  471.    650DATA0,18,0,13," in the graveyard, by a grave."
  472.    660DATA0,19,0,0," inside a small brick outbuilding."
  473.    670DATA0,0,0,11," at a dead end."
  474.    680DATA12,25,26,0," in a damp, gloomy tunnel. Water is      pouring down the walls."
  475.    690DATA14,0,19,0," on a disused track near the graveyard."
  476.    700DATA15,27,0,18," at the entrance to an old temple."
  477.    710DATA0,28,0,0," in the lavatory!"
  478.    720DATA16,0,0,0," on a narrow bridge that crosses the     stream."
  479.    730DATA0,0,0,16," in a very dark part of the forest."
  480.    740DATA34,0,0,22," in the workshop."
  481.    750DATA0,0,31,0," in a vast hallway."
  482.    760DATA17,0,42,0," in a twisty little passage."
  483.    770DATA0,42,0,17," in a hallway."
  484.    780DATA19,0,0,0," inside the old temple."
  485.    790DATA20,38,0,27," in the hospital."
  486.    800DATA21,0,0,0," at another dead end."
  487.    810DATA22,0,32,0," in a tiny shrine."
  488.    820DATA32,0,0,24," on a private beach."
  489.    830DATA0,31,33,30," in a large arena."
  490.    840DATA36,37,0,32," in a secluded house."
  491.    850DATA0,23,0,0," in the tiny store-room."
  492.    860DATA41,41,41,34," lost!"
  493.    870DATA36,36,36,36," Completely lost in a spinning time      vortex!"
  494.    880DATA33,0,0,0," in a cold and damp cell."
  495.    890DATA28,0,0,0," in the broom cupboard."
  496.    900DATA27,0,0,0," in a long, narrow tunnel."
  497.    910DATA0,0,0,42," in an eerie crypt, deep in the caves."
  498.    920DATA41,41,41,35," in a dense, swirling fog."
  499.    930DATA26,0,0,25," in a cavern."
  500.    940DATA0,2,45,44," in the potting shed."
  501.    950DATA0,0,43,0," at the far end of the potting shed."
  502.    960DATA0,0,0,43," by the garden shed."
  503.    970DATA0,45,0,0," in the garden shed."
  504.    980RETURN
  505.    990DATA"A large frog.",14
  506.   1000DATA"A little girl.",37
  507.   1010DATA"A wallet.",30
  508.   1020DATA"A flask of brandy.",9
  509.   1030DATA"An old dwarf.",29
  510.   1040DATA"A *RUBY* encrusted goblet.",33
  511.   1050DATA"A loaded shotgun.",46
  512.   1060DATA"A *DIAMOND* studded tiara.",41
  513.   1070DATA"A genuine antique Orc *DAGGER*",38
  514.   1080DATA"My old friend Albert. He looks ill.",28
  515.   1090DATA"A jar of Dr. Frankenstein's cure-all   †medicine.",31
  516.   1100DATA"a vending machine. It contains         †chocolates.",13
  517.   1110DATA"A `1 coin.",11
  518.   1120DATA"A bauble.",39
  519.   1130DATA"A *SILVER* spear. (Just right for      ƒmonsters of all types).",40
  520.   1135DATA"A golden coloured ring.",4
  521.   1140DATA"A can of oil.",15
  522.   1150DATA"A dirty old plant pot.",43
  523.   1160DATA"A real plastic crucifix.",6
  524.   1170DATA"Bill & Ben guarding the entrance to a  †tunnel.",12
  525.   1180DATA"An evil Balrog!",16
  526.   1190DATA"A large altar.",27
  527.   1200DATA"An evil, menacing Vampire who will not let me pass.",42
  528.   1210DATA"A seemingly innocent old man, but he   †won't let me pass.",10
  529.   1220DATA"A coffin, covered with mud.",25
  530.   1230DATA"A rusty lock.",45
  531.   1240DATA"An evil Hobgoblin - with halitosis!",34
  532.   1250DATA"A silver plated casket with no lid.",26
  533.   1260DATA"A broken lid.",24
  534.   1270DATA"A small pack-horse.",32
  535.   1280DATA"A sleeping monster...",23
  536.   1300DATA"A greedy little Orc warrior, guarding  the bridge.",21
  537.   1310DATA"A tiny beanstalk with a label attached.",3
  538.   1320DATA"A packet of fertiliser.",44
  539.   1330DATA"A brass monkey.",2
  540.   1340DATA"A chain.",20
  541.   1350DATA"Some mushrooms (I think).",18
  542.   1360DATA"FROG",1,"PRINCE",1
  543.   1370DATA"GIRL",2,"LITTLE",2
  544.   1380DATA"WALLET",3,"FLASK",4,"BRANDY",4
  545.   1390DATA"DWARF",5,"RUBY",6
  546.   1400DATA"SHOTGUN",7,"GUN",7
  547.   1410DATA"DIAMOND",8
  548.   1420DATA"ANTIQUE",9,"DAGGER",9
  549.   1425DATA"FRIEND",10,"ALBERT",10
  550.   1430DATA"MEDICINE",11,"VENDING",12,"CHOCOLATES",12
  551.   1450DATA"COIN",13,"BAUBLE",14
  552.   1460DATA"GOLDEN",15,"SPEAR",15,"RING",16
  553.   1465DATA"OIL",17,"DIRTY POT",18,"POTS",18
  554.   1467DATA"CRUCIFIX",19,"CROSS",19,"GUARD",20
  555.   1470DATA"BALROG",21,"ALTAR",22,"VAMPIRE",23,"MAN",24
  556.   1480DATA"COFFIN",25,"CORPSE",25
  557.   1490DATA"DOOR",26,"LOCK",26,"GOBLIN",27,"CASKET",28
  558.   1500DATA"LID",29,"HORSE",30
  559.   1510DATA"SLEEPING MONSTER",31,"MONSTER",31
  560.   1520DATA"ORC",32,"WARRIOR",32
  561.   1530DATA"BEAN",33,"LABEL",33
  562.   1540DATA"PACKET",34,"FERTILISER",34,"MONKEY",35,"CHAIN",36,"MUSHROOMS",37
  563.   1550GOSUB3030
  564.   1560IFL$="PLANT"THENPRINT"‚Sorry!":GOTO250
  565.   1570IFL%=1THEN1590
  566.   1580PRINT"‚Get what?":GOTO110
  567.   1590E%=0
  568.   1600FORH=1 TO37
  569.   1605IFB%(H,1)=P% ANDB%(N%(R),1)=P%THENE%=1
  570.   1610NEXTH
  571.   1620IFE%=0THEN PRINT"‚I don't see it.":GOTO110
  572.   1630CLS:IFP%=12ANDR=30THENPRINTX$(3):GOTO110
  573.   1640IFP%=16ANDR=31THENPRINTX$(4):GOTO110
  574.   1641IFP%=20ANDR=52THENPRINT"‚Get a lavatory chain? You are joking!":GOTO110
  575.   1650IFP%=27ANDR=32THENPRINTX$(5):GOTO110
  576.   1660IFP%=10ANDR=34THENPRINTX$(7):GOTO110
  577.   1661IFP%=37AND(R=3ORR=4)ANDXX%<>1THENPRINTX$(52):GOTO110
  578.   1662IFP%=37AND(R=3ORR=4)ANDXX%=1THENPRINT"‚She smiles as she eats a chocolate.":GOTO1810
  579.   1670IFP%=42ANDR=33THENPRINTX$(6):GOTO110
  580.   1680IFP%=25AND(R=35ORR=36)THENPRINTX$(8):GOTO110
  581.   1690IFP%=14AND(R=1ORR=2)ANDB%(2,1)=-1THENGOTO1810
  582.   1700IFP%=45AND(R=37ORR=38)THENPRINTX$(45):GOTO250
  583.   1710IFP%=34ANDR=39THENPRINTX$(46):GOTO250
  584.   1720IFP%=21AND(R=44ORR=45)THENPRINTX$(49):GOTO250
  585.   1730IFP%=14AND(R=1ORR=2)ANDB%(2,1)<>14THENPRINTX$(17):GOTO110
  586.   1740IFP%=13ANDR=19ANDB%(13,1)<>13THENPRINTX$(19):GOTO110
  587.   1741IFP%=13ANDR=18ANDB%(13,1)<>13THENPRINTX$(10):GOTO110
  588.   1750IFP%=9AND(R=6ORR=7)ANDB%(3,1)=9THEN1810
  589.   1760IFP%=9AND(R=6ORR=7)ANDB%(13,1)=9THENPRINTX$(21):GOTO250
  590.   1770IFP%=9AND(R=6ORR=7)ANDB%(13,1)<>9THENPRINTX$(36):GOTO250
  591.   1780IFP%=29ANDB%(4,1)<>29THENPRINTX$(54):GOTO110
  592.   1790IFP%=28AND(R=15ORR=16)ANDB%(11,1)<>28THENPRINTX$(56):GOTO110
  593.   1800IFP%=28AND(R=15ORR=16)ANDB%(11,1)=28THENG$(10)=X$(57):B%(11,1)=-1
  594.   1810E%=0
  595.   1820FORD=1TO3:IFV$(D)=""THENV$(D)=G$(N%(R)):E%=1:D=4
  596.   1830NEXT
  597.   1840IFE%=0THENPRINTX$(38):GOTO250
  598.   1850B%(N%(R),1)=0:GOTO110
  599.   1860GOSUB3030
  600.   1870IFL%=1THEN1890
  601.   1880PRINT''"‚I can't see a ";L$:GOTO250
  602.   1890E%=0
  603.   1900FORD=1TO3
  604.   1905IFV$(D)=G$(N%(R))THENV$(D)="":E%=1
  605.   1910NEXT
  606.   1911:
  607.   1920IFE%=1THEN1940
  608.   1930PRINTX$(39):GOTO250
  609.   1940B%(N%(R),1)=P%
  610.   1950CLS
  611.   1960IFP%=7ANDR=24THENPRINTX$(1):S%(7,2)=12:B%(16,1)=1:Q$(7)=" by an open gate."
  612.   1970IFP%=12AND(R=26ORR=27)THENPRINTX$(2):S%(12,2)=17:S%(12,3)=13
  613.   1971IFP%=12AND(R=26ORR=27)THENB%(20,1)=-1:B%(18,1)=0
  614.   1980IFP%=14AND(R=3ORR=4)THENPRINTX$(9):G$(1)=X$(13):B%(2,1)=-1:GOTO110
  615.   1981IFP%=37AND(R=18ORR=19)THENXX%=1
  616.   2000IFP%=29AND(R=6ORR=7)THENG$(5)=X$(14):PRINTX$(12):GOTO110
  617.   2010IFP%=28ANDR=17THENPRINTX$(16):G$(10)="†my friendƒ*Albert*":GOTO110
  618.   2020IFP%=13ANDR=20THENPRINTX$(18):G$(12)="†a box of chocolates.":GOTO110
  619.   2030IFP%=45ANDR=25THENPRINTX$(20):S%(45,1)=46:B%(26,1)=-1:B%(17,1)=-1:GOTO110
  620.   2040IFP%=22AND(R=49ORR=50)ANDB%(33,1)=22THENPRINTX$(53):S%(22,2)=30:S%(22,3)=23
  621.   2041IFP%=22AND(R=49ORR=50)ANDB%(33,1)=22THENG$(33)=X$(61):X$(55)="":GOTO110
  622.   2050IFP%=22AND(R=47ORR=48)ANDB%(34,1)=22THENPRINTX$(53):S%(22,2)=30:S%(22,3)=23
  623.   2051IFP%=22AND(R=47ORR=48)ANDB%(34,1)=22THENG$(33)=X$(61):X$(55)="":GOTO110
  624.   2061IFP%=27ANDB%(12,1)=27ANDB%(1,1)=0THENS%(27,3)=28:B%(12,1)=0:G$(22)=X$(58)
  625.   2080IFP%=21ANDR=53THENPRINTX$(47):S%(21,2)=29:B%(32,1)=0:B%(53,1)=-1:GOTO110
  626.   2090IFP%=13AND(R=18ORR=19)ANDB%(13,1)=13THENPRINTX$(18):GOTO110
  627.   2100IFP%=34ANDR=8THENPRINTX$(25):S%(34,3)=35:B%(5,1)=-1:B%(27,1)=-1:GOTO110
  628.   2110GOTO110
  629.   2120IFP%=10ANDB%(7,1)=0ANDS%(10,3)=0THENPRINTX$(27):S%(10,3)=5:G$(24)=X$(28):GOTO110
  630.   2125IFP%=10ANDB%(7,1)THENPRINTX$(30):GOTO110
  631.   2130IFP%=29ANDM%=0THENPRINTX$(29):GOTO110
  632.   2140IFB%(7,1)<>0THENPRINT"‚I don't have a gun!":GOTO250
  633.   2150PRINTX$(30):GOTO250
  634.   2160GOSUB3030
  635.   2170IFP%=27ANDR=28THENPRINTX$(31):S%(27,3)=28:GOTO110
  636.   2180IFP%=24THENPRINTX$(37):GOTO110
  637.   2190PRINT"‚Into what?":GOTO250
  638.   2200GOSUB3030
  639.   2210IFB%(8,1)=0ANDR=12THENPRINTX$(34):GOTO110
  640.   2211IFP%=12AND(R=26ORR=27)THENPRINTX$(40):GOTO110
  641.   2220IFP%=25AND(R=35ORR=36)THENPRINTX$(59):GOTO110
  642.   2230IFB%(15,1)=0ANDR=15THENPRINTX$(22):GOTO110
  643.   2240IFP%=24THENPRINTX$(37):GOTO110
  644.   2241IFP%=39ANDR=21THENPRINTX$(41):GOTO110
  645.   2243IFP%=14AND(R=1ORR=2)THENPRINTX$(42):GOTO110
  646.   2250IF(R=47ORR=48)ANDB%(33,1)=0THENPRINTX$(23):GOTO110
  647.   2260IF(R=22ORR=23)ANDB%(15,1)=0THENPRINTX$(22):GOTO110
  648.   2270PRINTX$(35):GOTO250
  649.   2280PRINT"†I have:-"
  650.   2285:
  651.   2290F%=0
  652.   2300FORH=1TO3
  653.   2305IFV$(H)<>""THENPRINTV$(H):F%=1
  654.   2310NEXT
  655.   2320IFF%=0THENPRINT"†nothing at all!"
  656.   2330GOTO250
  657.   2340IFP%=16ANDB%(21,1)=16THENPRINTX$(48)
  658.   2341IFP%=16ANDB%(21,1)=16THENS%(16,2)=21:S%(16,3)=22:B%(21,1)=0:GOTO110
  659.   2350GOTO110
  660.   2360GOSUB3030
  661.   2365IFR=25ANDB%(17,1)=0THEN GOTO 2376
  662.   2370IFB%(19,1)<>0 THEN PRINTX$(39):GOTO110
  663.   2372IFP%=42ANDR=28 AND B%(19,1)=0ANDS%(42,3)=0 THENPRINTX$(31):S%(42,3)=40:G$(23)=X$(24):GOTO110
  664.   2374IFP%=42ANDR=28 AND B%(19,1)=0ANDS%(42,3)=40 THENPRINTX$(33):GOTO110
  665.   2376IFP%=45ANDR=25 AND B%(17,1)=0ANDS%(45,1)=0 THENPRINTX$(20):S%(45,1)=46:B%(17,1)=-1:B%(26,1)=-1:GOTO1890
  666.   2377IFR=25 AND B%(17,1)=0 THENPRINTX$(32):GOTO110
  667.   2380PRINTX$(32):GOTO250
  668.   2390CLS:PRINT''"‚I'm as confused as you are..."
  669.   2391:
  670.   2395PRINT'"‚I suppose you could try praying...":GOTO250
  671.   2410X$(1)="‚The Pawnbroker rubs his hands together ‚in glee. He grabs the ring and runs    ‚in to his shop."
  672.   2420X$(2)="‚Ben grabs the pot and runs off.        ‚He is shouting something about a       ‚present for Bill..."
  673.   2430X$(3)="‚You must be joking!"
  674.   2440X$(4)="‚What do you think I am?                ‚Have you seen those fangs, dripping in BLOOD!"
  675.   2450X$(5)="‚I know I am Superman, but even I can't ‚move that!"
  676.   2460X$(6)="‚What do you think I am? A sucker?!"
  677.   2470X$(7)="‚All that glitters..."
  678.   2480X$(8)="‚I'm not carrying that! There's a dead  ‚body in there!"
  679.   2490X$(9)="‚The girl chases the frog and kisses it.‚In a blinding flash, the frog turns    ‚into the handsome Prince of Cenra!"
  680.   2500X$(10)="‚I'm not a thief you know!              ‚I need a coin..."
  681.   2510X$(11)="‚O.K."
  682.   2520X$(12)="‚The old dwarf takes the brandy and     ‚drinks it. He gives you a warm smile."
  683.   2530X$(13)="ƒA handsome *PRINCE*"
  684.   2540X$(14)="‚An old dwarf. He is happy to come along‚with you now."
  685.   2550X$(15)="‚Albert still isn't feeling well enough ‚to travel."
  686.   2560X$(16)="‚Healthy Albert!"
  687.   2570X$(17)="‚The frog hops away."
  688.   2580X$(18)="‚The coin fits in the slot.             ‚I get a box of chocolates."
  689.   2590X$(19)="‚I can't carry the whole machine!"
  690.   2600X$(20)="‚After a second... The lock opens."
  691.   2610X$(21)="‚The landlord grins at you and says     ‚'I don't accept those.'"
  692.   2620X$(22)="‚There is an inscription written on it  ‚but I can't quite make it out."
  693.   2630X$(23)="‚The label reads 'For Rapid growth - use…GROWMORE‚fertiliser.'"
  694.   2640X$(24)="‚The dark opening to a crypt"
  695.   2650X$(25)="‚The dwarf chases the hobgoblin away    ‚with his axe."
  696.   2660X$(26)="‚It seems like a good idea, but...      ‚Nothing happens."
  697.   2670X$(27)="‚The man lets out an agonizing scream!  ‚His body shrivels in mid-air.          ‚A Pile of dust falls to the ground.    ‚A monster starts to form from the dust!"
  698.   2680X$(28)="†an evil smellingMonster†with venom    †dripping from its pointed teeth."
  699.   2690X$(29)="‚Whoops! Missed!"
  700.   2700X$(30)="‚BANG! - Nothing happened."
  701.   2710X$(31)="‚TheVampire‚recoils at the sight of the‚crucifix and runs for its life!"
  702.   2720X$(32)="‚It doesn't seem to do anything at the  ‚moment."
  703.   2730X$(33)="‚Thevampire‚has already left."
  704.   2740X$(34)="‚Theƒ*DIAMONDS*‚must be valuable."
  705.   2750X$(35)="‚I can't see anything unusual."
  706.   2760X$(36)="‚The landlord doesn't like that..."
  707.   2770X$(37)="‚It bears an inscription:               ‚'A perfect gift for all.'"
  708.   2780X$(38)="‚I may be superman, but I just can't    ‚carry any more."
  709.   2790X$(39)="‚I've not got it - Dummy!"
  710.   2800X$(40)="‚The pots are rather tatty."
  711.   2810X$(41)="‚A worthless bauble."
  712.   2820X$(42)="‚It's too fast for me."
  713.   2830X$(43)="‚Watch out!                             ‚I think I may have been spotted."
  714.   2840X$(44)="‚I've just beenATTACKED!"
  715.   2850X$(45)="‚I can't move it, it's too rusty."
  716.   2860X$(46)="‚You must be joking!                    ‚With breath like that!"
  717.   2870X$(47)="‚It eats the mushrooms, and falls into  ‚a stupor."
  718.   2880X$(48)="‚Straight through the heart!            ‚I grab theƒ*SPEAR*‚back quickly."
  719.   2890X$(49)="‚Orcs are far too vicious and nasty."
  720.   2900X$(50)="‚Seems like a good idea..."
  721.   2910X$(51)="‚The horse just fainted!"
  722.   2920X$(52)="‚The girl refuses to come!"
  723.   2930X$(53)="‚The beanstalk spurts into furious      ‚growth. I can use it to climb over the ‚wall."
  724.   2940X$(54)="‚The dwarf refuses to come with you."
  725.   2950X$(55)="‚There is a wall here, but I can't      ‚climb it.                              ‚The soil is good..."
  726.   2960X$(56)="‚Albert is too ill to travel."
  727.   2970X$(57)="‚It's my healthy friendƒ*Albert*"
  728.   2980X$(58)="‚The altar moved aside.                 ‚There are two passages behind it."
  729.   2990X$(59)="‚There's a half-decomposed body         ‚in there!"
  730.   3000X$(60)="‚I'm sorry - I don't know that word."
  731.   3010X$(61)="‚The beanstalk grows so much that I can ‚climb the wall!"
  732.   3020RETURN
  733.   3030L$="":FORH=1TOLEN(Z$)
  734.   3040IF MID$(Z$,H,1)=" "THENL$=RIGHT$(Z$,(LEN(Z$)-H)):H=H+40
  735.   3050NEXT
  736.   3060R=0
  737.   3070L%=0:IFLEN(L$)<2THENRETURN
  738.   3080FORH=1TO53:IFLEFT$(N$(H),LEN(L$))=L$ THENL%=1:R=H
  739.   3090NEXT
  740.   3100RETURN
  741.   3110CLS
  742.   3111PRINT'TAB(9);CHR$(141);CHR$(129);"THE FOREST OF DOOM"
  743.   3112PRINT TAB(9);CHR$(141);CHR$(129);"THE FOREST OF DOOM"
  744.   3113PRINT'
  745.   3115PRINTTAB(14);CHR$(130);"An adventure"
  746.   3117PRINT'TAB(13);CHR$(130);"By  S.W. Lucas"
  747.   3118PRINT''"Many months ago your lifelong friend,   Albert, set out to rescue the Prince of Cenra who has been captured by the evil witch and is reputed to have been turnedinto a poor little frog."
  748.   3119PRINT"Albert has never returned and you must  set out to find him and in the process  you must also find four items of        treasure which were stolen from your    land by the evil witch."
  749.   3120PRINT'''TAB(4);CHR$(130);"Press the SPACE BAR to begin"
  750.   3130REM *FX15,0
  751.   3135REPEATUNTILGET=32
  752.   3140RETURN
  753.   3150A%=0
  754.   3155IFB%(6,1)=2THENA%=A%+1
  755.   3157IFB%(1,1)=2THENA%=A%+1
  756.   3160IFB%(8,1)=2THENA%=A%+1
  757.   3170IFB%(9,1)=2THENA%=A%+1
  758.   3180IFB%(10,1)=2THENA%=A%+1
  759.   3190IFB%(15,1)=2THENA%=A%+1
  760.   3200RETURN
  761.   3210CLS
  762.   3220PRINT''"You dirty, filthy beast!"
  763.   3230PRINT"Go and wash your mouth out."
  764.   3235PRINT''"‚You had better apologise to me!"
  765.   3240INPUTA$:IFLEFT$(A$,5)="SORRY"OR RIGHT$(A$,5)="SORRY" THEN GOTO 3250 ELSEPRINT"‚That's not good enough!":GOTO3240
  766.   3250CLS:PRINT"‚That's better!":GOTO110
  767.   3260IFP%=27THEN4000
  768.   3261PRINT''"‚That doesn't seem to help."
  769.   3265PRINT'"‚Maybe I didn't try hard enough?"
  770.   3270GOTO250
  771.   3280GOSUB3030
  772.   3290IFLEFT$(L$,3)="MON"THENPRINT"‚The monkey is not pleased...":GOTO250
  773.   3300PRINT"‚Don't be silly!":GOTO250
  774.   4000:
  775.   4005S%(27,2)=39:S%(27,3)=28:G$(22)=X$(58)
  776.   4010:
  777.   4020FORW=1TO5000:NEXT
  778.   4030PRINT'''"‚ƒThis is absolutely amazing!"
  779.   4040:
  780.   4050FORW=1TO5000:NEXT
  781.   4060PRINT''"ƒThe altar slides to one side...        ƒThere are two passages behind it."
  782.   4070GOTO250
  783.   4500GOSUB3030:IFP%=20ANDR=52 PRINT"‚Well... You DID ask me to flush it..."
  784.   4510IFP%<>20THENPRINT"‚Pull what?!"
  785.   4530GOTO110
  786.   5000DEFPROCPARSER
  787.   5010IF LEN(Z$)=1 THEN PROCP2
  788.   5020IF LEFT$(Z$,3)="GO "THEN Z$=RIGHT$(Z$,LEN(Z$)-3)
  789.   5025IF LEFT$(Z$,2)="X "THEN Z$=RIGHT$(Z$,LEN(Z$)-2):Z$="EXAM "+Z$
  790.   5026B$=LEFT$(Z$,4):GOSUB3030
  791.   5030ENDPROC
  792.   6000DEFPROCP2
  793.   6010IFZ$="N"ORZ$="S"ORZ$="E"ORZ$="W" THEN ZS=1 ELSE ZS=0
  794.   6020IFZ$="I"THEN Z$="INVE":ENDPROC
  795.   6030IFZ$="L"THEN Z$="LOOK":ENDPROC
  796.   6040IFZ$="N"THEN Z$="NORT":ENDPROC
  797.   6050IFZ$="S"THEN Z$="SOUT":ENDPROC
  798.   6060IFZ$="E"THEN Z$="EAST":ENDPROC
  799.   6070IFZ$="W"THEN Z$="WEST":ENDPROC
  800.   6080ENDPROC
  801.   7000IF ERR=17 THEN RUN
  802.   7010CLS:REPORT:PRINT" at line ";ERL
  803.   7020ENDbert, set out TO rescue the Prince of Cenra who has been captured by the evil witch AND is reputed TO have been turnedinto a poor little frog."
  804.  3119PRINT"Albert has never returned AND you must  set out TO find him AND in the process  you must also find four items of        treasure which were stolen from your    land by the evil witch."
  805.  3120PRINT'''TAB(4);CHR$(130);"Press the SPACE BAR TO begin"
  806.  3130REM *FX15,0
  807.  3135REPEATUNTILGET=32
  808.  3140RETURN
  809.  3150A%=0
  810.  3155IFB%(6,1)=2THENA%=A%+1
  811.  3157IFB%(1,1)=2THENA%=A%+1
  812.  3160IFB%(8,1)=2THENA%=A%+1
  813.  3170IFB%(9,1)=2THENA%=A%+1
  814.  3180IFB%(10,1)=2THENA%=A%+1
  815.  3190IFB%(15,1)=2THENA%=A%+1
  816.  3200RETURN
  817.  3210CLS
  818.  3220PRINT''"You dirty, filthy beast!"
  819.  3230PRINT"GO AND wash your mouth out."
  820.  3235PRINT''"‚You had better apologise TO me!"
  821.  3240INPUTA$:IFLEFT$(A$,5)="SORRY"OR RIGHT$(A$,5)="SORRY" THEN GOTO 3250 ELSEPRINT"‚That's not good enough!":GOTO3240
  822.   3250CLS:PRINT"‚That's better!":GOTO110
  823.   3260IFP%=27THEN4000
  824.   3261PRINT''"‚That doesn't seem to help."
  825.   3265PRINT'"‚Maybe I didn't try hard enough?"
  826.   3270GOTO250
  827.   3280GOSUB3030
  828.   3290IFLEFT$(L$,3)="MON"THENPRINT"‚The monkey is not pleased...":GOTO250
  829.   3300PRINT"‚Don't be silly!":GOTO250
  830.   4000:
  831.   4005S%(27,2)=39:S%(27,3)=28:G$(22)=X$(58)
  832.   4010:
  833.   4020FORW=1TO5000:NEXT
  834.   4030PRINT'''"‚ƒThis is absolutely amazing!"
  835.   4040:
  836.   4050FORW=1TO5000:NEXT
  837.   4060PRINT''"ƒThe altar slides to one side...        ƒThere are two passages behind it."
  838.   4070GOTO250
  839.   4500GOSUB3030:IFP%=20ANDR=52 PRINT"‚Well... You DID ask me to flush it..."
  840.   4510IFP%<>20THENPRINT"‚Pull what?!"
  841.   4530GOTO110
  842.   5000DEFPROCPARSER
  843.   5010IF LEN(Z$)=1 THEN PROCP2
  844.   5020IF LEFT$(Z$,3)="GO "THEN Z$=RIGHT$(Z$,LEN(Z$)-3)
  845.   5025IF LEFT$(Z$,2)="X "THEN Z$=RIGHT$(Z$,LEN(Z$)-2):Z$="EXAM "+Z$
  846.   5026B$=LEFT$(Z$,4):GOSUB3030
  847.   5030ENDPROC
  848.   6000DEFPROCP2
  849.   6010IFZ$="N"ORZ$="S"ORZ$="E"ORZ$="W" THEN ZS=1 ELSE ZS=0
  850.   6020IFZ$="I"THEN Z$="INVE":ENDPROC
  851.   6030IFZ$="L"THEN Z$="LOOK":ENDPROC
  852.   6040IFZ$="N"THEN Z$="NORT":ENDPROC
  853.   6050IFZ$="S"THEN Z$="SOUT":ENDPROC
  854.   6060IFZ$="E"THEN Z$="EAST":ENDPROC
  855.   6070IFZ$="W"THEN Z$="WEST":ENDPROC
  856.   6080ENDPROC
  857.   7000IF ERR=17 THEN RUN
  858.   7010CLS:REPORT:PRINT" at line ";ERL
  859.   7020END
Tags: AGON LIGHT2
Add Comment
Please, Sign In to add comment