Home » Archimedes archive » Archimedes World » AW-1995-02-Disc1.adf » Disk1Feb95 » !AWFeb95/Goodies/Willy/!Willy/!RunImage
!AWFeb95/Goodies/Willy/!Willy/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1995-02-Disc1.adf » Disk1Feb95 |
Filename: | !AWFeb95/Goodies/Willy/!Willy/!RunImage |
Read OK: | ✔ |
File size: | 8195 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM>!RunImage 20PROCinit 30REPEAT 40PROCmenu 50UNTIL quit=TRUE 60*FX 15,1 70MODE 15 80OFF 90END 100: 110: 120DEF PROCinit 130MODE 1 140OFF 150COLOUR1:PRINT TAB(6,13)"Loading Willy Please Wait..." 160COLOUR2:PRINT TAB(5,15)"An Adventure Game For The Young" 170COLOUR1:PRINT TAB(5,17)" � Archimedes World 1994" 180OSCLI "Sload <Obey$Dir>.Workers" 190DIM objects(15,7) 200DIM name$(15,7) 210DIM choose$(15,7) 220DIM inventory$(16) 230DIM inventory(16,2) 240DIM background$(15,2) 250DIM coordinate(15,7,4) 260DIM walk(15,7,2) 270DIM look$(15,7) 280DIM use(15,7,2) 290DIM pickup(15,7) 300DIM give(15,7,2) 310DIM talk$(15,7,2) 320DIM open(15,7) 330DIM close(15,7) 340DIM move(15,7) 350DIM run$(15) 360quit=FALSE 370ENDPROC 380: 390: 400DEF PROCmenu 410MODE 15 420OFF 430FOR tittle%=0 TO 1300 STEP 25 440*SCHOOSE tittle1 450PLOT &ED,1300-tittle%,800 460*SCHOOSE tittle2 470PLOT &ED,-920+tittle%,575 480NEXT 490*SCHOOSE tittle3 500PLOT &ED,500,425 510VDU 28,19,29,70,29 520CLS 530OFF 540PRINT " 1. Start Game 2. Quit"; 550done=FALSE 560walk=0 570REPEAT 580walk+=1 590IF walk=9 THEN walk=1 600choose$="*SCHOOSE willyr"+STR$(walk) 610OSCLI choose$ 620PLOT &ED,575,102 630TIME=0 640REPEAT 650IF INKEY(-49) THEN done=TRUE 660IF INKEY(-50) THEN 670quit=TRUE 680done=TRUE 690ENDIF 700UNTIL TIME>13 710UNTIL done=TRUE 720IF quit=FALSE THEN PROCstart 730ENDPROC 740: 750: 760DEF PROCstart 770level%=1 780PROCblank 790background$(1,1)="brwall" 800background$(1,2)="brwall" 810background$(2,1)="brwall" 820background$(2,2)="backbr" 830background$(3,1)="backbr" 840background$(3,2)="backbr" 850background$(4,1)="brwall" 860background$(4,2)="brwall" 870background$(5,1)="brwall" 880background$(5,2)="brwall" 890background$(6,1)="brwall" 900background$(6,2)="backbr" 910background$(7,1)="backbr" 920background$(7,2)="brwall" 930background$(8,1)="backbr" 940background$(8,2)="brwall" 950background$(9,1)="brwall" 960background$(9,2)="brwall" 970objects(1,2)=1 980name$(1,2)="DOOR" 990choose$(1,2)="DOORL" 1000open(1,2)=1 1010coordinate(1,2,1)=28 1020coordinate(1,2,2)=460 1030coordinate(1,2,3)=149 1040coordinate(1,2,4)=942 1050objects(1,3)=1 1060name$(1,3)="DOORWAY" 1070choose$(1,3)="DOORWAYR" 1080walk(1,3,1)=2 1090walk(1,3,2)=260 1100coordinate(1,3,1)=1077 1110coordinate(1,3,2)=460 1120coordinate(1,3,3)=1247 1130coordinate(1,3,4)=942 1140name$(1,4)="DOORWAY" 1150choose$(1,4)="DOORWAYL" 1160walk(1,4,1)=5 1170walk(1,4,2)=879 1180close(1,4)=1 1190coordinate(1,4,1)=28 1200coordinate(1,4,2)=460 1210coordinate(1,4,3)=198 1220coordinate(1,4,4)=942 1230objects(1,5)=1 1240name$(1,5)="LOCK" 1250choose$(1,5)="LOCK" 1260look$(1,5)="IT LOOKS VERY STRONG" 1270use(1,5,1)=4 1280use(1,5,2)=5 1290coordinate(1,5,1)=150 1300coordinate(1,5,2)=624 1310coordinate(1,5,3)=192 1320coordinate(1,5,4)=680 1330objects(1,6)=1 1340name$(1,6)="LAMP" 1350choose$(1,6)="LIGHT" 1360coordinate(1,6,1)=215 1370coordinate(1,6,2)=780 1380coordinate(1,6,3)=315 1390coordinate(1,6,4)=900 1400objects(2,1)=1 1410name$(2,1)="DOORWAY" 1420choose$(2,1)="DOORWAYL" 1430walk(2,1,1)=1 1440walk(2,1,2)=879 1450coordinate(2,1,1)=28 1460coordinate(2,1,2)=460 1470coordinate(2,1,3)=198 1480coordinate(2,1,4)=942 1490objects(2,2)=1 1500name$(2,2)="" 1510choose$(2,2)="NEXTSCREEN" 1520walk(2,2,1)=3 1530walk(2,2,2)=260 1540coordinate(2,2,1)=1218 1550coordinate(2,2,2)=396 1560coordinate(2,2,3)=1280 1570coordinate(2,2,4)=948 1580objects(2,3)=1 1590name$(2,3)="DOOR" 1600choose$(2,3)="DOORT" 1610open(2,3)=1 1620coordinate(2,3,1)=1071 1630coordinate(2,3,2)=540 1640coordinate(2,3,3)=1215 1650coordinate(2,3,4)=850 1660name$(2,4)="DOORWAY" 1670choose$(2,4)="DOORWAYT" 1680close(2,4)=1 1690walk(2,4,1)=4 1700walk(2,4,2)=260 1710coordinate(2,4,1)=1071 1720coordinate(2,4,2)=540 1730coordinate(2,4,3)=1215 1740coordinate(2,4,4)=850 1750objects(2,5)=1 1760name$(2,5)="LAMP" 1770choose$(2,5)="LIGHT" 1780coordinate(2,5,1)=215 1790coordinate(2,5,2)=780 1800coordinate(2,5,3)=315 1810coordinate(2,5,4)=900 1820objects(3,1)=1 1830name$(3,1)="" 1840choose$(3,1)="NEXTSCREEN" 1850walk(3,1,1)=2 1860walk(3,1,2)=879 1870coordinate(3,1,1)=-1 1880coordinate(3,1,2)=396 1890coordinate(3,1,3)=64 1900coordinate(3,1,4)=948 1910objects(3,2)=1 1920name$(3,2)="SIGN" 1930choose$(3,2)="SIGN" 1940look$(3,2)="'THE TWO SAXONS'" 1950coordinate(3,2,1)=944 1960coordinate(3,2,2)=810 1970coordinate(3,2,3)=1044 1980coordinate(3,2,4)=930 1990objects(3,3)=1 2000name$(3,3)="KNIGHT" 2010choose$(3,3)="KNIGHT" 2020look$(3,3)="HE LOOKS SAD" 2030talk$(3,3,1)="YOU LOOK SAD. WHATS UP MATE?" 2040talk$(3,3,2)="I`M IN LOVE WITH A PRINCESS BUT I`M JUST A KNIGHT. SHE COULD NEVER LOVE ME" 2050coordinate(3,3,1)=64 2060coordinate(3,3,2)=516 2070coordinate(3,3,3)=174 2080coordinate(3,3,4)=736 2090objects(3,4)=1 2100name$(3,4)="DOORWAY" 2110choose$(3,4)="DOORWAYT" 2120walk(3,4,1)=6 2130walk(3,4,2)=260 2140coordinate(3,4,1)=1071 2150coordinate(3,4,2)=540 2160coordinate(3,4,3)=1215 2170coordinate(3,4,4)=850 2180objects(3,5)=1 2190name$(3,5)="" 2200choose$(3,5)="NEXTSCREEN" 2210walk(3,5,1)=8 2220walk(3,5,2)=260 2230coordinate(3,5,1)=1218 2240coordinate(3,5,2)=396 2250coordinate(3,5,3)=1280 2260coordinate(3,5,4)=948 2270objects(4,1)=1 2280name$(4,1)="DOORWAY" 2290choose$(4,1)="DOORWAYL" 2300walk(4,1,1)=2 2310walk(4,1,2)=879 2320coordinate(4,1,1)=28 2330coordinate(4,1,2)=460 2340coordinate(4,1,3)=198 2350coordinate(4,1,4)=942 2360objects(4,2)=1 2370name$(4,2)="" 2380choose$(4,2)="TABLE" 2390coordinate(4,2,1)=1030 2400coordinate(4,2,2)=397 2410coordinate(4,2,3)=1030 2420coordinate(4,2,4)=397 2430objects(4,3)=1 2440name$(4,3)="BOOK" 2450choose$(4,3)="BOOK" 2460look$(4,3)="IT LOOKS LIKE A DRUIDS SPELL BOOK. IT SAYS SPEED SPELLS, LOVE POTIONS ECT." 2470open(4,3)=1 2480close(4,3)=1 2490coordinate(4,3,1)=1135 2500coordinate(4,3,2)=515 2510coordinate(4,3,3)=1233 2520coordinate(4,3,4)=583 2530name$(4,4)="SPELL" 2540look$(4,4)="IT`S ALL IN SOME WEIRD LANGUAGE" 2550objects(4,5)=1 2560name$(4,5)="ACID" 2570choose$(4,5)="BOTTLE" 2580look$(4,5)="IT LOOKS VERY STRONG" 2590pickup(4,5)=1 2600coordinate(4,5,1)=1072 2610coordinate(4,5,2)=550 2620coordinate(4,5,3)=1132 2630coordinate(4,5,4)=625 2640name$(4,6)="BOTTLE" 2650look$(4,6)="A BOTTLE USED FOR POTIONS" 2660objects(5,1)=1 2670name$(5,1)="DOORWAY" 2680choose$(5,1)="DOORWAYR" 2690walk(5,1,1)=1 2700walk(5,1,2)=260 2710coordinate(5,1,1)=1077 2720coordinate(5,1,2)=460 2730coordinate(5,1,3)=1247 2740coordinate(5,1,4)=942 2750objects(5,2)=1 2760name$(5,2)="CABINET" 2770choose$(5,2)="TABLE2" 2780look$(5,2)="IT LOOKS HEAVY" 2790move(5,2)=1 2800use(5,2,1)=4 2810use(5,2,2)=4 2820coordinate(5,2,1)=15 2830coordinate(5,2,2)=405 2840coordinate(5,2,3)=259 2850coordinate(5,2,4)=612 2860name$(5,3)="MAP" 2870look$(5,3)="IT`S ONLY PART OF THE MAP. I NEED TO FIND THE REST" 2880name$(5,4)="SPY GLASS" 2890look$(5,4)="A MAGNIFYING GLASS" 2900name$(5,5)="ROPE" 2910look$(5,5)="A LONG PIECE OF ROPE" 2920use(5,5,1)=10 2930use(5,5,2)=3 2940objects(6,1)=1 2950name$(6,1)="DOORWAY" 2960choose$(6,1)="DOORWAYL" 2970walk(6,1,1)=3 2980walk(6,1,2)=879 2990coordinate(6,1,1)=28 3000coordinate(6,1,2)=460 3010coordinate(6,1,3)=198 3020coordinate(6,1,4)=942 3030objects(6,2)=1 3040name$(6,2)="" 3050choose$(6,2)="NEXTSCREEN" 3060walk(6,2,1)=7 3070walk(6,2,2)=260 3080coordinate(6,2,1)=1218 3090coordinate(6,2,2)=396 3100coordinate(6,2,3)=1280 3110coordinate(6,2,4)=948 3120objects(6,3)=1 3130name$(6,3)="" 3140choose$(6,3)="BAR" 3150coordinate(6,3,1)=1043 3160coordinate(6,3,2)=492 3170coordinate(6,3,3)=1043 3180coordinate(6,3,4)=492 3190objects(6,4)=1 3200name$(6,4)="BAR TENDER" 3210choose$(6,4)="TENDER" 3220look$(6,4)="HE LOOKS FED UP" 3230talk$(6,4,1)="IT`S A BIT QUIET IN HERE TONIGHT ISN`T IT" 3240talk$(6,4,2)="YEH. EVERYONES GONE LOOKING FOR THIS DRAGON AINT THEY" 3250coordinate(6,4,1)=1072 3260coordinate(6,4,2)=599 3270coordinate(6,4,3)=1218 3280coordinate(6,4,4)=766 3290objects(7,1)=1 3300name$(7,1)="" 3310choose$(7,1)="NEXTSCREEN" 3320walk(7,1,1)=6 3330walk(7,1,2)=879 3340coordinate(7,1,1)=-1 3350coordinate(7,1,2)=396 3360coordinate(7,1,3)=64 3370coordinate(7,1,4)=948 3380objects(7,2)=1 3390name$(7,2)="" 3400choose$(7,2)="BAR" 3410coordinate(7,2,1)=0 3420coordinate(7,2,2)=492 3430coordinate(7,2,3)=0 3440coordinate(7,2,4)=492 3450objects(7,3)=1 3460name$(7,3)="FIRE PLACE" 3470choose$(7,3)="FIREPLACE" 3480coordinate(7,3,1)=1080 3490coordinate(7,3,2)=475 3500coordinate(7,3,3)=1140 3510coordinate(7,3,4)=666 3520objects(7,4)=1 3530name$(7,4)="COAL" 3540choose$(7,4)="COAL" 3550look$(7,4)="ITS VERY BLACK" 3560pickup(7,4)=1 3570coordinate(7,4,1)=1140 3580coordinate(7,4,2)=500 3590coordinate(7,4,3)=1186 3600coordinate(7,4,4)=530 3610objects(8,1)=1 3620name$(8,1)="" 3630choose$(8,1)="NEXTSCREEN" 3640walk(8,1,1)=3 3650walk(8,1,2)=879 3660coordinate(8,1,1)=-1 3670coordinate(8,1,2)=396 3680coordinate(8,1,3)=64 3690coordinate(8,1,4)=948 3700objects(8,2)=1 3710name$(8,2)="DOOR" 3720choose$(8,2)="DOORT" 3730open(8,2)=1 3740coordinate(8,2,1)=64 3750coordinate(8,2,2)=540 3760coordinate(8,2,3)=208 3770coordinate(8,2,4)=850 3780name$(8,3)="DOORWAY" 3790choose$(8,3)="DOORWAYT" 3800close(8,3)=1 3810walk(8,3,1)=9 3820walk(8,3,2)=260 3830coordinate(8,3,1)=64 3840coordinate(8,3,2)=540 3850coordinate(8,3,3)=208 3860coordinate(8,3,4)=850 3870objects(9,1)=1 3880name$(9,1)="DOORWAY" 3890choose$(9,1)="DOORWAYL" 3900walk(9,1,1)=8 3910walk(9,1,2)=260 3920coordinate(9,1,1)=28 3930coordinate(9,1,2)=460 3940coordinate(9,1,3)=198 3950coordinate(9,1,4)=942 3960objects(9,2)=1 3970name$(9,2)="" 3980choose$(9,2)="TABLE" 3990coordinate(9,2,1)=1030 4000coordinate(9,2,2)=397 4010coordinate(9,2,3)=1030 4020coordinate(9,2,4)=397 4030objects(9,3)=1 4040name$(9,3)="PLANT" 4050choose$(9,3)="PLANT" 4060look$(9,3)="A PLANT" 4070use(9,3,1)=5 4080use(9,3,2)=4 4090coordinate(9,3,1)=1080 4100coordinate(9,3,2)=545 4110coordinate(9,3,3)=1126 4120coordinate(9,3,4)=657 4130name$(9,4)="LEAF" 4140look$(9,4)="IT`S STILL SMOKING" 4150use(9,4,1)=4 4160use(9,4,2)=6 4170objects(9,5)=1 4180name$(9,5)="SKYLIGHT" 4190choose$(9,5)="SKYLIGHT" 4200coordinate(9,5,1)=700 4210coordinate(9,5,2)=819 4220coordinate(9,5,3)=900 4230coordinate(9,5,4)=959 4240PROCgame 4250level%=2 4260IF exit=FALSE THEN 4270PROCblank 4280MODE 15 4290OFF 4300message$="SO YOU AND MIC THE BAR TENDER SET OFF IN A BOAT FOR THE ISLAND. AFTER A FEW DAYS AT SEA YOU REACH YOUR DESTINATION. UNFORTUNATELY THE LOCAL NATIVES DO NOT APPRECIATE YOUR PRESENCE AND THEY THROW YOU BOTH IN CELLS." 4310FOR show%=1 TO LEN(message$) 4320PRINT MID$(message$,show%,1); 4330TIME=0 4340IF MID$(message$,show%,1)<>" " THEN REPEAT UNTIL TIME>11 4350NEXT 4360TIME=0 4370REPEAT UNTIL TIME>400 4380inventory$(1)="ROPE" 4390inventory(1,1)=5 4400inventory(1,2)=5 4410look$(5,5)="A LONG PIECE OF ROPE" 4420use(5,5,1)=10 4430use(5,5,2)=3 4440background$(10,1)="brwall" 4450background$(10,2)="brwall" 4460background$(11,1)="brwall" 4470background$(11,2)="backbr" 4480background$(12,1)="backbr" 4490background$(12,2)="backbr" 4500background$(13,1)="brwall" 4510background$(13,2)="brwall" 4520background$(14,1)="backbr" 4530background$(14,2)="backbr" 4540objects(10,1)=1 4550name$(10,1)="WINDOW" 4560choose$(10,1)="WINDOW" 4570look$(10,1)="I CAN`T QUITE SEE OUT" 4580coordinate(10,1,1)=1070 4590coordinate(10,1,2)=730 4600coordinate(10,1,3)=1240 4610coordinate(10,1,4)=949 4620use(10,1,1)=10 4630use(10,1,2)=4 4640objects(10,2)=1 4650name$(10,2)="DOOR" 4660choose$(10,2)="DOORL" 4670open(10,2)=1 4680coordinate(10,2,1)=28 4690coordinate(10,2,2)=460 4700coordinate(10,2,3)=198 4710coordinate(10,2,4)=942 4720objects(10,3)=1 4730name$(10,3)="BRICK" 4740choose$(10,3)="BRICK" 4750look$(10,3)="IT LOOKS STRONG" 4760pickup(10,3)=1 4770use(10,3,1)=5 4780use(10,3,2)=5 4790coordinate(10,3,1)=1180 4800coordinate(10,3,2)=525 4810coordinate(10,3,3)=1252 4820coordinate(10,3,4)=605 4830name$(10,4)="ROPE N BRICK" 4840look$(10,4)="THE ROPE IS TIED AROUND THE BRICK" 4850objects(11,1)=1 4860name$(11,1)="BAR" 4870choose$(11,1)="BARS" 4880look$(11,1)="IT FELL OUT OF THE WINDOW" 4890pickup(11,1)=1 4900use(11,1,1)=12 4910use(11,1,2)=5 4920coordinate(11,1,1)=100 4930coordinate(11,1,2)=450 4940coordinate(11,1,3)=172 4950coordinate(11,1,4)=490 4960objects(11,2)=1 4970name$(11,2)="ROPE" 4980choose$(11,2)="ROPE" 4990look$(11,2)="IT`S STILL ATACHED TO THE BRICK" 5000use(11,2,1)=12 5010use(11,2,2)=3 5020coordinate(11,2,1)=120 5030coordinate(11,2,2)=557 5040coordinate(11,2,3)=139 5050coordinate(11,2,4)=955 5060objects(11,3)=1 5070name$(11,3)="LAMP" 5080choose$(11,3)="LIGHT" 5090coordinate(11,3,1)=215 5100coordinate(11,3,2)=780 5110coordinate(11,3,3)=315 5120coordinate(11,3,4)=900 5130objects(11,4)=1 5140name$(11,4)="" 5150choose$(11,4)="NEXTSCREEN" 5160walk(11,4,1)=12 5170walk(11,4,2)=260 5180coordinate(11,4,1)=1218 5190coordinate(11,4,2)=396 5200coordinate(11,4,3)=1280 5210coordinate(11,4,4)=948 5220objects(12,1)=1 5230name$(12,1)="DOOR" 5240choose$(12,1)="DOORT" 5250open(12,1)=1 5260coordinate(12,1,1)=64 5270coordinate(12,1,2)=540 5280coordinate(12,1,3)=208 5290coordinate(12,1,4)=850 5300name$(12,2)="DOORWAY" 5310choose$(12,2)="DOORWAYT" 5320close(12,2)=1 5330walk(12,2,1)=13 5340walk(12,2,2)=260 5350coordinate(12,2,1)=64 5360coordinate(12,2,2)=540 5370coordinate(12,2,3)=208 5380coordinate(12,2,4)=850 5390objects(12,3)=1 5400name$(12,3)="FLINT" 5410choose$(12,3)="FLINT" 5420look$(12,3)="IT`S SHARP" 5430pickup(12,3)=1 5440coordinate(12,3,1)=1100 5450coordinate(12,3,2)=500 5460coordinate(12,3,3)=1128 5470coordinate(12,3,4)=540 5480objects(12,4)=1 5490name$(12,4)="" 5500choose$(12,4)="NEXTSCREEN" 5510walk(12,4,1)=11 5520walk(12,4,2)=879 5530coordinate(12,4,1)=-1 5540coordinate(12,4,2)=396 5550coordinate(12,4,3)=64 5560coordinate(12,4,4)=948 5570name$(12,5)="ROPE" 5580look$(12,5)="A SHORTER PIECE OF ROPE" 5590use(12,5,1)=11 5600use(12,5,2)=1 5610name$(12,6)="ROPE N BAR" 5620look$(12,6)="THE ROPE IS TIED AROUND THE END OF THE BAR" 5630objects(12,7)=1 5640name$(12,7)="" 5650choose$(12,7)="NEXTSCREEN" 5660walk(12,7,1)=14 5670walk(12,7,2)=260 5680coordinate(12,7,1)=1218 5690coordinate(12,7,2)=396 5700coordinate(12,7,3)=1280 5710coordinate(12,7,4)=948 5720objects(13,1)=1 5730name$(13,1)="DOORWAY" 5740choose$(13,1)="DOORWAYL" 5750walk(13,1,1)=12 5760walk(13,1,2)=260 5770coordinate(13,1,1)=28 5780coordinate(13,1,2)=460 5790coordinate(13,1,3)=198 5800coordinate(13,1,4)=942 5810objects(13,2)=1 5820name$(13,2)="DRUID" 5830choose$(13,2)="DRUID" 5840look$(13,2)="HE LOOKS DEEP IN THOUGHT" 5850talk$(13,2,1)="I NEED YOUR HELP TO GET RID OF A DRAGON. CAN YOU GIVE ME A SPELL?" 5860talk$(13,2,2)="IF YOU WANT A SPELL YOU MUST BRING ME PART OF THE DRAGONS BODY" 5870coordinate(13,2,1)=1065 5880coordinate(13,2,2)=460 5890coordinate(13,2,3)=1167 5900coordinate(13,2,4)=699 5910objects(14,1)=1 5920name$(14,1)="DRAGON" 5930choose$(14,1)="DRAGON" 5940look$(14,1)="HE`S ASLEEP" 5950use(14,1,1)=14 5960use(14,1,2)=3 5970coordinate(14,1,1)=1033 5980coordinate(14,1,2)=400 5990coordinate(14,1,3)=1250 6000coordinate(14,1,4)=607 6010objects(14,2)=1 6020name$(14,2)="SCALE" 6030choose$(14,2)="SCALE" 6040look$(14,2)="A GREEN SCALE" 6050give(14,2,1)=13 6060give(14,2,2)=2 6070use(14,2,1)=12 6080use(14,2,2)=6 6090coordinate(14,2,1)=1251 6100coordinate(14,2,2)=555 6110coordinate(14,2,3)=1279 6120coordinate(14,2,4)=595 6130name$(14,3)="SPELL" 6140look$(14,3)="IT`S A SPELL TO GET RID OF THE DRAGON" 6150objects(14,4)=1 6160name$(14,4)="" 6170choose$(14,4)="NEXTSCREEN" 6180walk(14,4,1)=12 6190walk(14,4,2)=879 6200coordinate(14,4,1)=-1 6210coordinate(14,4,2)=396 6220coordinate(14,4,3)=64 6230coordinate(14,4,4)=948 6240PROCgame 6250ENDIF 6260IF exit=FALSE THEN PROCwin 6270ENDPROC 6280: 6290: 6300DEF PROCblank 6310FOR setarea=1 TO 15 6320FOR setobject=1 TO 7 6330FOR co=1 TO 4 6340coordinate(setarea,setobject,co)=0 6350NEXT 6360objects(setarea,setobject)=0 6370walk(setarea,setobject,1)=0 6380talk$(setarea,setobject,1)="" 6390talk$(setarea,setobject,2)="" 6400use(setarea,setobject,1)=0 6410open(setarea,setobject)=0 6420close(setarea,setobject)=0 6430give(setarea,setobject,1)=0 6440move(setarea,setobject)=0 6450pickup(setarea,setobject)=0 6460NEXT 6470NEXT 6480IF level%=1 THEN area=1 ELSE area=10 6490x=500 6500y=450 6510direction=1 6520old$="" 6530gots=FALSE 6540completed=FALSE 6550exit=FALSE 6560map%=0 6570potion%=0 6580FOR blank=1 TO 16 6590inventory$(blank)="" 6600inventory(blank,1)=0 6610inventory(blank,2)=0 6620NEXT 6630ENDPROC 6640: 6650: 6660DEF PROCwin 6670MODE 15 6680OFF 6690message$="YOU START YOUR LONG JOURNEY HOME. NEWS REACHES THE KING OF YOUR TRIUMPH OVER THEDRAGON AND YOU ARRIVE HOME TO A BIG RECEPTION. YOU ARE TO BE KNIGHTED BY THE KING AND BECOME ONE OF HIS PERSONAL GUARDS." 6700FOR show%=1 TO LEN(message$) 6710PRINT MID$(message$,show%,1); 6720TIME=0 6730IF MID$(message$,show%,1)<>" " THEN REPEAT UNTIL TIME>11 6740NEXT 6750TIME=0 6760REPEAT UNTIL TIME>400 6770MODE 15 6780OFF 6790*SCHOOSE willyr 6800PLOT &ED,1000,300 6810PRINT TAB(61,12)"I KNIGHT THE" 6820TIME=0 6830REPEAT UNTIL TIME>400 6840*SCHOOSE arm 6850GCOL 8,0 6860PLOT &ED,1000,435 6870PRINT TAB(61,12)" SIR WILLY " 6880TIME=0 6890REPEAT UNTIL TIME>400 6900CLS 6910*SCHOOSE willyr 6920PLOT &ED,1000,300 6930TIME=0 6940REPEAT UNTIL TIME>30 6950CLS 6960*SCHOOSE arm 6970GCOL 8,0 6980PLOT &ED,1000,435 6990*SCHOOSE willyr 7000PLOT &ED,1000,300 7010PRINT TAB(59,12)"THE DRAGON KILLER" 7020TIME=0 7030REPEAT UNTIL TIME>600 7040MODE 1 7050OFF 7060PRINT TAB(13,14)"WILLY SUCCEEDED" 7070TIME=0 7080REPEAT UNTIL TIME>500 7090ENDPROC 7100: 7110: 7120DEF PROCgame 7130PROCbuild 7140*POINTER 1 7150REPEAT 7160MOUSE a,b,c,d 7170IF a>532 AND a<800 AND b>0 AND b<108 AND c=4 THEN exit=TRUE 7180IF a>0 AND a<270 AND b>230 AND b<350 AND c=4 THEN PROClook 7190IF a>532 AND a<800 AND b>108 AND b<228 AND c=4 THEN PROCmove 7200IF a>268 AND a<532 AND b>0 AND b<108 AND c=4 THEN PROCpickup 7210IF a>0 AND a<268 AND b>108 AND b<228 AND c=4 THEN PROCopen 7220IF a>0 AND a<268 AND b>0 AND b<108 AND c=4 THEN PROCclose 7230IF a>268 AND a<532 AND b>230 AND b<350 AND c=4 THEN PROCtalk 7240IF a>268 AND a<532 AND b>108 AND b<228 AND c=4 THEN PROCgive 7250IF a>532 AND a<800 AND b>230 AND b<350 AND c=4 THEN PROCuse 7260IF b>395 AND b<959 THEN 7270moved=FALSE 7280count=0 7290REPEAT 7300count+=1 7310over=FALSE 7320IF a>coordinate(area,count,1) AND a<coordinate(area,count,3) AND b>coordinate(area,count,2) AND b<coordinate(area,count,4) AND objects(area,count)=1 THEN over=TRUE 7330print$="WALK TO " 7340IF over=TRUE THEN 7350print$=print$+name$(area,count) 7360IF c=4 THEN 7370PROCwalk 7380moved=TRUE 7390IF walk(area,count,1)<>0 THEN 7400x=walk(area,count,2) 7410area=walk(area,count,1) 7420IF x<500 THEN direction=1 ELSE direction=-1 7430PROCbuild 7440ENDIF 7450ENDIF 7460ENDIF 7470UNTIL count=7 OR over=TRUE 7480IF moved=FALSE AND c=4 THEN PROCwalk 7490ENDIF 7500IF b<=395 OR b>=959 THEN print$="WALK TO" 7510IF print$<>old$ THEN 7520PRINT "" 7530PRINT print$; 7540ENDIF 7550old$=print$ 7560IF direction=1 THEN 7570*SCHOOSE willyr 7580ELSE 7590*SCHOOSE willyl 7600ENDIF 7610GCOL 63 7620PLOT &ED,x,y 7630IF level%=1 AND map%=3 THEN completed=TRUE 7640UNTIL completed=TRUE OR exit=TRUE 7650ENDPROC 7660: 7670: 7680DEF PROClook 7690PRINT "" 7700old$="" 7710PRINT "LOOK AT "; 7720TIME=0 7730REPEAT UNTIL TIME>50 7740REPEAT 7750MOUSE a,b,c,d 7760print$="LOOK AT" 7770IF b>395 AND b<959 THEN 7780FOR check=1 TO 7 7790over=FALSE 7800IF a>coordinate(area,check,1) AND a<coordinate(area,check,3) AND b>coordinate(area,check,2) AND b<coordinate(area,check,4) AND objects(area,check)=1 THEN over=TRUE 7810IF over=TRUE THEN 7820print$="LOOK AT "+name$(area,check) 7830IF c=4 THEN 7840PROCwalk 7850IF look$(area,check)="" THEN say$="NOTHING SPECIAL" ELSE say$=look$(area,check) 7860PROCsay 7870ENDIF 7880ENDIF 7890NEXT 7900ELSE 7910FOR invencheck=1 TO 8 7920clickedon=0 7930IF a>799 AND a<1039 AND b>320-(invencheck*32.5) AND b<352.5-(invencheck*32.5) THEN clickedon=invencheck 7940IF a>1039 AND a<1279 AND b>320-(invencheck*32.5) AND b<352.5-(invencheck*32.5) THEN clickedon=invencheck+8 7950IF clickedon<>0 THEN 7960IF inventory(clickedon,1)<>0 THEN 7970print$="LOOK AT "+name$(inventory(clickedon,1),inventory(clickedon,2)) 7980IF c=4 THEN 7990say$=look$(inventory(clickedon,1),inventory(clickedon,2)) 8000PROCsay 8010ENDIF 8020ENDIF 8030ENDIF 8040NEXT 8050ENDIF 8060IF print$<>old$ THEN 8070PRINT "" 8080PRINT print$; 8090old$=print$ 8100ENDIF 8110UNTIL c=4 8120c=0 8130print$="WALK TO " 8140PRINT "" 8150PRINT "WALK TO"; 8160ENDPROC 8170: 8180: 8190DEF PROCmove 8200PRINT "" 8210old$="" 8220PRINT "MOVE"; 8230TIME=0 8240REPEAT UNTIL TIME>50 8250REPEAT 8260MOUSE a,b,c,d 8270print$="MOVE" 8280IF b>395 AND b<959 THEN 8290FOR check=1 TO 7 8300over=FALSE 8310IF a>coordinate(area,check,1) AND a<coordinate(area,check,3) AND b>coordinate(area,check,2) AND b<coordinate(area,check,4) AND objects(area,check)=1 THEN over=TRUE 8320IF over=TRUE THEN 8330print$="MOVE "+name$(area,check) 8340IF c=4 THEN 8350PROCwalk 8360IF move(area,check)=1 THEN 8370IF area=5 AND check=2 THEN 8380say$="I CAN`T QUITE FIND THE STRENGTH TO LIFT IT" 8390PROCsay 8400ENDIF 8410ELSE 8420say$="I DON`T SEE THE POINT" 8430PROCsay 8440ENDIF 8450ENDIF 8460ENDIF 8470NEXT 8480ENDIF 8490IF print$<>old$ THEN 8500PRINT "" 8510PRINT print$; 8520ENDIF 8530old$=print$ 8540UNTIL c=4 8550c=0 8560ENDPROC 8570: 8580: 8590DEF PROCpickup 8600PRINT "" 8610old$="" 8620PRINT "PICK UP"; 8630TIME=0 8640REPEAT UNTIL TIME>50 8650REPEAT 8660MOUSE a,b,c,d 8670print$="PICK UP" 8680IF b>359 AND b<959 THEN 8690FOR check=1 TO 7 8700over=FALSE 8710IF a>coordinate(area,check,1) AND a<coordinate(area,check,3) AND b>coordinate(area,check,2) AND b<coordinate(area,check,4) AND objects(area,check)=1 THEN over=TRUE 8720IF over=TRUE THEN 8730print$="PICK UP "+name$(area,check) 8740IF c=4 THEN 8750PROCwalk 8760IF pickup(area,check)=1 THEN 8770objects(area,check)=0 8780tarea=area 8790tcheck=check 8800PROCtake 8810PROCupdate 8820IF area=7 AND check=4 THEN 8830use(7,4,1)=4 8840use(7,4,2)=6 8850ENDIF 8860ELSE 8870say$="I DON`T WANT IT" 8880IF area=11 AND check=2 THEN say$="I CAN`T. IT`S STILL TIED TO THE BRICK" 8890IF area=14 AND check=2 THEN say$="I`M NOT GOING NEAR THAT DRAGON" 8900PROCsay 8910ENDIF 8920ENDIF 8930ENDIF 8940NEXT 8950ENDIF 8960IF print$<>old$ THEN 8970PRINT "" 8980PRINT print$; 8990ENDIF 9000old$=print$ 9010UNTIL c=4 9020c=0 9030ENDPROC 9040: 9050: 9060DEF PROCopen 9070do=TRUE 9080PRINT "" 9090old$="" 9100PRINT "OPEN"; 9110TIME=0 9120REPEAT UNTIL TIME>50 9130REPEAT 9140MOUSE a,b,c,d 9150print$="OPEN" 9160IF b>395 AND b<959 THEN 9170FOR check=1 TO 7 9180over=FALSE 9190IF a>coordinate(area,check,1) AND a<coordinate(area,check,3) AND b>coordinate(area,check,2) AND b<coordinate(area,check,4) AND objects(area,check)=1 THEN over=TRUE 9200IF over=TRUE AND do=TRUE THEN 9210print$="OPEN "+name$(area,check) 9220IF c=4 THEN 9230PROCwalk 9240IF open(area,check)=1 THEN 9250IF area=1 AND check=2 THEN 9260IF objects(1,5)=1 THEN 9270say$="IT`S LOCKED" 9280PROCsay 9290ELSE 9300objects(1,2)=0 9310objects(1,4)=1 9320do=FALSE 9330PROCupdate 9340ENDIF 9350ENDIF 9360IF area=2 AND check=3 THEN 9370objects(2,3)=0 9380objects(2,4)=1 9390PROCupdate 9400do=FALSE 9410ENDIF 9420IF area=8 AND check=2 THEN 9430objects(8,2)=0 9440objects(8,3)=1 9450PROCupdate 9460do=FALSE 9470ENDIF 9480IF area=4 AND check=3 THEN 9490say$="WHAT TYPE OF SPELL DO YOU WANT ME TO LOOK UP?" 9500PROCsay 9510CLS 9520ON 9530*FX 15,1 9540INPUT spell$ 9550OFF 9560say$="I CAN`T FIND THAT SPELL" 9570IF spell$="LOVE" OR spell$="love" OR spell$="LOVE POTION" OR spell$="love potion" THEN 9580say$="IT`S A POTION. YOU NEED SOME CARBON AND A LEAF FROM A BURNING FIRE PLANT" 9590look$(9,3)="WELL IT`S A PLANT BUT I DON`T THINK IT`S A BURNING FIRE PLANT" 9600ENDIF 9610IF spell$="STRENGTH" OR spell$="strength" OR spell$="STRENGTH SPELL" OR spell$="strength spell" THEN 9620IF gots=FALSE THEN 9630say$="HERE IT IS. I`LL TEAR OUT THE PAGE" 9640tarea=4 9650tcheck=4 9660PROCtake 9670gots=TRUE 9680ENDIF 9690ENDIF 9700IF spell$="SPEED" OR spell$="speed" OR spell$="SPEED SPELL" OR spell$="speed spell" THEN say$="THAT PAGE HAS BEEN TORN OUT" 9710PROCsay 9720ENDIF 9730IF area=10 AND check=2 THEN 9740say$="IT`S LOCKED FROM THE OUTSIDE" 9750PROCsay 9760ENDIF 9770IF area=12 AND check=1 THEN 9780objects(12,1)=0 9790objects(12,2)=1 9800PROCupdate 9810do=FALSE 9820ENDIF 9830ELSE 9840say$="I CAN`T OPEN IT" 9850PROCsay 9860ENDIF 9870ENDIF 9880ENDIF 9890NEXT 9900ENDIF 9910IF print$<>old$ THEN 9920PRINT "" 9930PRINT print$; 9940ENDIF 9950old$=print$ 9960UNTIL c=4 9970c=0 9980ENDPROC 9990: 10000: 10010DEF PROCclose 10020do=TRUE 10030PRINT "" 10040old$="" 10050PRINT "CLOSE"; 10060TIME=0 10070REPEAT UNTIL TIME>50 10080REPEAT 10090MOUSE a,b,c,d 10100print$="CLOSE" 10110IF b>395 AND b<959 THEN 10120FOR check=1 TO 7 10130over=FALSE 10140IF a>coordinate(area,check,1) AND a<coordinate(area,check,3) AND b>coordinate(area,check,2) AND b<coordinate(area,check,4) AND objects(area,check)=1 THEN over=TRUE 10150IF over=TRUE AND do=TRUE THEN 10160print$="CLOSE "+name$(area,check) 10170IF c=4 THEN 10180PROCwalk 10190IF close(area,check)=1 THEN 10200IF area=2 AND check=4 THEN 10210objects(2,4)=0 10220objects(2,3)=1 10230PROCupdate 10240do=FALSE 10250ENDIF 10260IF area=8 AND check=3 THEN 10270objects(8,3)=0 10280objects(8,2)=1 10290PROCupdate 10300do=FALSE 10310ENDIF 10320IF area=1 AND check=4 THEN 10330objects(1,4)=0 10340objects(1,2)=1 10350PROCupdate 10360do=FALSE 10370ENDIF 10380IF area=12 AND check=2 THEN 10390objects(12,2)=0 10400objects(12,1)=1 10410PROCupdate 10420do=FALSE 10430ENDIF 10440ELSE 10450say$="I CAN`T CLOSE IT" 10460PROCsay 10470ENDIF 10480ENDIF 10490ENDIF 10500NEXT 10510ENDIF 10520IF print$<>old$ THEN 10530PRINT "" 10540PRINT print$; 10550ENDIF 10560old$=print$ 10570UNTIL c=4 10580c=0 10590ENDPROC 10600: 10610: 10620DEF PROCtalk 10630PRINT "" 10640old$="" 10650PRINT "TALK TO "; 10660TIME=0 10670REPEAT UNTIL TIME>50 10680REPEAT 10690MOUSE a,b,c,d 10700print$="TALK TO" 10710IF b>395 AND b<959 THEN 10720FOR check=1 TO 7 10730over=FALSE 10740IF a>coordinate(area,check,1) AND a<coordinate(area,check,3) AND b>coordinate(area,check,2) AND b<coordinate(area,check,4) AND objects(area,check)=1 THEN over=TRUE 10750IF over=TRUE THEN 10760print$="TALK TO "+name$(area,check) 10770IF c=4 THEN 10780PROCwalk 10790IF talk$(area,check,1)="" THEN 10800say$="HMM THERES NO ANSWER, STRANGE THAT" 10810PROCsay 10820ELSE 10830say$=talk$(area,check,1) 10840PROCsays 10850COLOUR 31 10860say$=talk$(area,check,2) 10870PROCsays 10880COLOUR 63 10890IF area=6 AND check=4 THEN 10900talk$(6,4,1)="WHY AREN`T YOU LOOKING FOR THE DRAGON?" 10910talk$(6,4,2)="I`VE ONLY GOT PART OF THE MAP I`LL NEVER FIND MY WAY THERE" 10920ENDIF 10930ENDIF 10940ENDIF 10950ENDIF 10960NEXT 10970ENDIF 10980IF print$<>old$ THEN 10990PRINT "" 11000PRINT print$; 11010old$=print$ 11020ENDIF 11030UNTIL c=4 11040c=0 11050print$="WALK TO " 11060PRINT "" 11070PRINT "WALK TO"; 11080ENDPROC 11090: 11100: 11110DEF PROCgive 11120PRINT "" 11130old$="" 11140PRINT "GIVE "; 11150TIME=0 11160REPEAT UNTIL TIME>50 11170garea=0 11180gnumber=0 11190REPEAT 11200MOUSE a,b,c,d 11210print$="GIVE" 11220FOR invencheck=1 TO 8 11230clickedon=0 11240IF a>799 AND a<1039 AND b>320-(invencheck*32.5) AND b<352.5-(invencheck*32.5) THEN clickedon=invencheck 11250IF a>1039 AND a<1279 AND b>320-(invencheck*32.5) AND b<352.5-(invencheck*32.5) THEN clickedon=invencheck+8 11260IF clickedon<>0 THEN 11270IF inventory(clickedon,1)<>0 THEN 11280print$="GIVE "+name$(inventory(clickedon,1),inventory(clickedon,2)) 11290IF c=4 THEN 11300print$=print$+" TO " 11310PRINT print$ 11320garea=inventory(clickedon,1) 11330gnumber=inventory(clickedon,2) 11340inumber=clickedon 11350ENDIF 11360ENDIF 11370ENDIF 11380NEXT 11390IF print$<>old$ THEN 11400PRINT "" 11410PRINT print$; 11420old$=print$ 11430ENDIF 11440UNTIL c=4 11450IF garea<>0 THEN 11460TIME=0 11470REPEAT UNTIL TIME>50 11480was$=print$ 11490REPEAT 11500print$=was$ 11510MOUSE a,b,c,d 11520IF b>395 AND b<959 THEN 11530FOR check=1 TO 7 11540over=FALSE 11550IF a>coordinate(area,check,1) AND a<coordinate(area,check,3) AND b>coordinate(area,check,2) AND b<coordinate(area,check,4) AND objects(area,check)=1 THEN over=TRUE 11560IF over=TRUE THEN 11570print$=print$+name$(area,check) 11580IF c=4 THEN 11590PROCwalk 11600IF give(garea,gnumber,1)=area AND give(garea,gnumber,2)=check THEN 11610inventory$(inumber)="" 11620inventory(inumber,1)=0 11630inventory(inumber,2)=0 11640IF garea=4 AND gnumber=6 THEN 11650map%+=1 11660IF map%=1 THEN 11670tarea=5 11680tcheck=3 11690PROCtake 11700ELSE 11710give(5,3,1)=6 11720give(5,3,2)=4 11730look$(5,3)="I THINK THERES ONLY ONE MORE PIECE TO FIND" 11740ENDIF 11750say$="HERE YOU ARE THIS WILL SOLVE ALL YOUR PROBLEMS. IT`S A LOVE POTION" 11760PROCsays 11770say$="THANKS. HERE I JUST HAPPEN TO HAVE A PIECE OF THAT MAP YOUR LOOKING FOR" 11780COLOUR 31 11790PROCsays 11800COLOUR 63 11810objects(3,3)=0 11820PROCupdate 11830ENDIF 11840IF garea=5 AND gnumber=3 THEN 11850map%+=1 11860say$="WOW I`VE GOT ALL OF THE MAP NOW. WE CAN TEAM UP AND GO TOGETHER" 11870COLOUR 31 11880PROCsays 11890say$="OK LETS GO" 11900COLOUR 63 11910PROCsays 11920ENDIF 11930IF garea=14 AND gnumber=2 THEN 11940say$="HERE YOU GO I`VE GOT ONE OF THE DRAGONS SCALES" 11950PROCsays 11960say$="THAT`LL DO. I`LL WRITE OUT A SPELL" 11970COLOUR 31 11980PROCsays 11990talk$(13,2,1)="HOW DO I USE THE SPELL?" 12000talk$(13,2,2)="JUST READ IT OUT" 12010tarea=14 12020tcheck=3 12030PROCtake 12040PROCupdate 12050ENDIF 12060ELSE 12070say$="I DON`T WANT TO" 12080PROCsay 12090ENDIF 12100ENDIF 12110ENDIF 12120NEXT 12130ENDIF 12140IF print$<>old$ THEN 12150PRINT "" 12160PRINT print$; 12170ENDIF 12180old$=print$ 12190UNTIL c=4 12200ENDIF 12210c=0 12220print$="WALK TO " 12230PRINT "" 12240PRINT "WALK TO"; 12250ENDPROC 12260: 12270: 12280DEF PROCuse 12290PRINT "" 12300old$="" 12310PRINT "USE "; 12320TIME=0 12330REPEAT UNTIL TIME>50 12340uarea=0 12350unumber=0 12360REPEAT 12370MOUSE a,b,c,d 12380print$="USE" 12390FOR invencheck=1 TO 8 12400clickedon=0 12410IF a>799 AND a<1039 AND b>320-(invencheck*32.5) AND b<352.5-(invencheck*32.5) THEN clickedon=invencheck 12420IF a>1039 AND a<1279 AND b>320-(invencheck*32.5) AND b<352.5-(invencheck*32.5) THEN clickedon=invencheck+8 12430IF clickedon<>0 THEN 12440IF inventory(clickedon,1)<>0 THEN 12450print$="USE "+name$(inventory(clickedon,1),inventory(clickedon,2)) 12460IF c=4 THEN 12470print$=print$+" WITH " 12480PRINT print$ 12490uarea=inventory(clickedon,1) 12500unumber=inventory(clickedon,2) 12510inumber=invencheck 12520ENDIF 12530ENDIF 12540ENDIF 12550NEXT 12560IF print$<>old$ THEN 12570PRINT "" 12580PRINT print$; 12590old$=print$ 12600ENDIF 12610UNTIL c=4 12620IF uarea<>0 THEN 12630TIME=0 12640REPEAT UNTIL TIME>50 12650was$=print$ 12660REPEAT 12670print$=was$ 12680MOUSE a,b,c,d 12690IF b>395 AND b<959 THEN 12700FOR check=1 TO 7 12710over=FALSE 12720IF a>coordinate(area,check,1) AND a<coordinate(area,check,3) AND b>coordinate(area,check,2) AND b<coordinate(area,check,4) AND objects(area,check)=1 THEN over=TRUE 12730IF over=TRUE THEN 12740print$=print$+name$(area,check) 12750IF c=4 THEN 12760PROCwalk 12770IF use(area,check,1)=uarea AND use(area,check,2)=unumber THEN 12780inventory$(inumber)="" 12790inventory(inumber,1)=0 12800inventory(inumber,2)=0 12810IF uarea=4 AND unumber=5 THEN 12820objects(1,5)=0 12830tarea=4 12840tcheck=6 12850PROCtake 12860PROCupdate 12870say$="THE ACIDS BURNT THE LOCK AWAY" 12880PROCsay 12890ENDIF 12900IF uarea=4 AND unumber=4 THEN 12910map%+=1 12920IF map%=1 THEN 12930tarea=5 12940tcheck=3 12950PROCtake 12960ELSE 12970give(5,3,1)=6 12980give(5,3,2)=4 12990look$(5,3)="I THINK THERES ONLY ONE MORE PIECE TO FIND" 13000ENDIF 13010tarea=5 13020tcheck=4 13030PROCtake 13040tarea=5 13050tcheck=5 13060PROCtake 13070say$="I CAN LIFT THE CABINET WITH EASE. I`VE FOUND A PIECE OF THE MAP UNDERNEATH" 13080PROCsay 13090say$="I`VE ALSO FOUND A PIECE OF ROPE AND A SPY GLASS" 13100PROCsay 13110ENDIF 13120IF uarea=5 AND unumber=4 THEN 13130tarea=9 13140tcheck=4 13150PROCtake 13160say$="A LEAF HAS CAUGHT FIRE. I`LL PICK IT OFF" 13170PROCsay 13180ENDIF 13190IF uarea=10 AND unumber=4 THEN 13200say$="THE BRICK HAS CAUGHT ON THE WINDOW. I`LL CLIMB OUT" 13210PROCsay 13220area=11 13230x=260 13240PROCbuild 13250ENDIF 13260IF uarea=12 AND unumber=3 THEN 13270say$="THE FLINT CAN CUT THROUGH THE ROPE" 13280PROCsay 13290tarea=12 13300tcheck=5 13310objects(11,2)=0 13320PROCtake 13330PROCupdate 13340ENDIF 13350IF uarea=12 AND unumber=6 THEN 13360say$="I`LL TIE A KNOT IN THE END AND HOOK THE SCALE OFF HIS BACK" 13370PROCsay 13380tarea=14 13390tcheck=2 13400objects(14,2)=0 13410PROCtake 13420PROCupdate 13430ENDIF 13440IF uarea=14 AND unumber=3 THEN 13450print$="WALK TO" 13460objects(14,1)=0 13470PROCupdate 13480objects(14,1)=1 13490PROCupdate 13500objects(14,1)=0 13510PROCupdate 13520*SCHOOSE willyr 13530GCOL 63 13540PLOT &ED,x,y 13550TIME=0 13560REPEAT UNTIL TIME>300 13570say$="I`VE DONE IT." 13580PROCsay 13590say$="I`VE KILLED THE DRAGON. I CAN BECOME ONE OF THE KINGS KNIGHTS!" 13600PROCsay 13610TIME=0 13620REPEAT UNTIL TIME>250 13630a=0 13640PROCwalk 13650completed=TRUE 13660ENDIF 13670ELSE 13680say$="NOTHING HAPPENED" 13690PROCsay 13700ENDIF 13710ENDIF 13720ENDIF 13730NEXT 13740ELSE 13750FOR invencheck=1 TO 8 13760clickedon=0 13770IF a>799 AND a<1039 AND b>320-(invencheck*32.5) AND b<352.5-(invencheck*32.5) THEN clickedon=invencheck 13780IF a>1039 AND a<1279 AND b>320-(invencheck*32.5) AND b<352.5-(invencheck*32.5) THEN clickedon=invencheck+8 13790IF clickedon<>0 THEN 13800IF inventory(clickedon,1)<>0 THEN 13810print$=print$+name$(inventory(clickedon,1),inventory(clickedon,2)) 13820IF c=4 THEN 13830IF use(uarea,unumber,1)=inventory(clickedon,1) AND use(uarea,unumber,2)=inventory(clickedon,2) THEN 13840inventory$(inumber)="" 13850inventory(inumber,1)=0 13860inventory(inumber,2)=0 13870IF uarea=9 AND unumber=4 THEN 13880PROCredo 13890potion%+=1 13900say$="I`LL JUST PUT IT IN HERE" 13910PROCsay 13920IF potion%=2 THEN 13930give(4,6,1)=3 13940give(4,6,2)=3 13950ENDIF 13960ENDIF 13970IF uarea=7 AND unumber=4 THEN 13980PROCredo 13990potion%+=1 14000say$="I`LL JUST PUT IT IN HERE" 14010PROCsay 14020IF potion%=2 THEN 14030give(4,6,1)=3 14040give(4,6,2)=3 14050ENDIF 14060ENDIF 14070IF uarea=5 AND unumber=5 THEN 14080inventory$(2)="" 14090inventory(2,1)=0 14100inventory(2,2)=0 14110tarea=10 14120tcheck=4 14130PROCtake 14140say$="I`LL TIE THE ROPE TO THE BRICK" 14150PROCsay 14160ENDIF 14170IF uarea=10 AND unumber=3 THEN 14180inventory$(1)="" 14190inventory(1,1)=0 14200inventory(1,2)=0 14210tarea=10 14220tcheck=4 14230PROCtake 14240say$="I`LL TIE THE ROPE TO THE BRICK" 14250PROCsay 14260ENDIF 14270IF uarea=11 AND unumber=1 THEN 14280FOR rid=1 TO 16 14290IF inventory$(rid)="ROPE" THEN 14300inventory$(rid)="" 14310inventory(rid,1)=0 14320inventory(rid,2)=0 14330ENDIF 14340NEXT 14350tarea=12 14360tcheck=6 14370PROCtake 14380say$="I`LL TIE THE ROPE TO THE BAR" 14390PROCsay 14400ENDIF 14410IF uarea=12 AND unumber=5 THEN 14420FOR rid=1 TO 16 14430IF inventory$(rid)="BAR" THEN 14440inventory$(rid)="" 14450inventory(rid,1)=0 14460inventory(rid,2)=0 14470ENDIF 14480NEXT 14490tarea=12 14500tcheck=6 14510PROCtake 14520say$="I`LL TIE THE ROPE TO THE BAR" 14530PROCsay 14540ENDIF 14550ELSE 14560say$="NOTHING HAPPENED" 14570PROCsay 14580ENDIF 14590ENDIF 14600ENDIF 14610ENDIF 14620NEXT 14630ENDIF 14640IF print$<>old$ THEN 14650PRINT "" 14660PRINT print$; 14670ENDIF 14680old$=print$ 14690UNTIL c=4 14700ENDIF 14710c=0 14720print$="WALK TO " 14730PRINT "" 14740PRINT "WALK TO"; 14750ENDPROC 14760: 14770: 14780DEF PROCsay 14790*POINTER 0 14800VDU 28,3,1,76,1 14810CLS 14820OFF 14830gap=LEN(say$)*12+150 14840said=FALSE 14850PRINT say$; 14860TIME=0 14870REPEAT 14880IF direction=1 THEN 14890*SCHOOSE willyrt1 14900ELSE 14910*SCHOOSE willylt1 14920ENDIF 14930PLOT &ED,x,y 14940wait%=TIME 14950say%=RND(60)+10 14960REPEAT 14970UNTIL TIME>wait%+say% 14980IF direction=1 THEN 14990*SCHOOSE willyrt2 15000ELSE 15010*SCHOOSE willylt2 15020ENDIF 15030PLOT &ED,x,y 15040wait%=TIME 15050say%=RND(60)+10 15060REPEAT 15070IF TIME>gap THEN said=TRUE 15080UNTIL TIME>wait%+say% 15090UNTIL said=TRUE 15100CLS 15110OFF 15120VDU 28,3,20,40,20 15130CLS 15140OFF 15150PRINT print$; 15160*POINTER 1 15170ENDPROC 15180: 15190: 15200DEF PROCsays 15210*POINTER 0 15220IF direction=1 THEN 15230*SCHOOSE willyr 15240ELSE 15250*SCHOOSE willyl 15260ENDIF 15270PLOT &ED,x,y 15280VDU 28,3,1,76,1 15290CLS 15300OFF 15310gap=LEN(say$)*12+150 15320PRINT say$; 15330TIME=0 15340REPEAT UNTIL TIME>gap 15350CLS 15360OFF 15370VDU 28,3,20,40,20 15380CLS 15390OFF 15400COLOUR 63 15410PRINT print$; 15420*POINTER 1 15430ENDPROC 15440: 15450: 15460DEF PROCbuild 15470MODE 15 15480OFF 15490*SCHOOSE options 15500PLOT &ED,0,0 15510*SCHOOSE optionbar 15520PLOT &ED,0,959 15530PROCupdate 15540*POINTER 1 15550ENDPROC 15560: 15570: 15580DEF PROCredo 15590FOR move=1 TO 15 15600IF inventory$(move)="" THEN 15610inventory$(move)=inventory$(move+1) 15620inventory$(move+1)="" 15630inventory(move,1)=inventory(move+1,1) 15640inventory(move+1,1)=0 15650inventory(move,2)=inventory(move+1,2) 15660inventory(move+1,2)=0 15670ENDIF 15680NEXT 15690VDU 28,50,30,78,22 15700CLS 15710OFF 15720FOR print=1 TO 16 15730IF print<9 THEN left=1 ELSE left=16 15740down=print-1 15750IF print>8 THEN down-=8 15760PRINT TAB(left,down)inventory$(print) 15770NEXT 15780VDU 28,3,20,40,20 15790CLS 15800OFF 15810PRINT "WALK TO"; 15820ENDPROC 15830: 15840: 15850DEF PROCupdate 15860PROCredo 15870choose$="*SCHOOSE left"+background$(area,1) 15880OSCLI choose$ 15890PLOT &ED,0,397 15900choose$="*SCHOOSE right"+background$(area,2) 15910OSCLI choose$ 15920PLOT &ED,1030,397 15930FOR object=1 TO 7 15940IF objects(area,object)=1 THEN 15950choose$="*SCHOOSE "+choose$(area,object) 15960OSCLI choose$ 15970GCOL 8,0 15980PLOT &ED,coordinate(area,object,1),coordinate(area,object,2) 15990ENDIF 16000NEXT 16010ENDPROC 16020: 16030: 16040DEF PROCtake 16050count=0 16060REPEAT 16070count+=1 16080done=FALSE 16090IF inventory$(count)="" THEN 16100done=TRUE 16110inventory$(count)=name$(tarea,tcheck) 16120inventory(count,1)=tarea 16130inventory(count,2)=tcheck 16140ENDIF 16150UNTIL done=TRUE 16160PROCredo 16170ENDPROC 16180: 16190: 16200DEF PROCwalk 16210walk=TRUE 16220IF a<x THEN 16230IF x=260 THEN 16240walk=FALSE 16250direction=-1 16260ENDIF 16270ELSE 16280IF x=879 THEN 16290walk=FALSE 16300direction=1 16310ENDIF 16320ENDIF 16330IF walk=TRUE THEN 16340*POINTER 0 16350was=a 16360IF a<260 THEN a=260 16370IF a>1029 THEN a=1029 16380IF a<(x-10) THEN 16390direction=-1 16400FOR walk=x TO a STEP -17 16410IF walk<a THEN walk=a 16420x=walk 16430modded=(walk MOD 8) 16440choose$="*SCHOOSE willyl"+STR$(8-modded) 16450OSCLI choose$ 16460GCOL 63 16470PLOT &ED,x,y 16480TIME=0 16490REPEAT UNTIL TIME>7 16500NEXT 16510x=a 16520ENDIF 16530IF a>(x+150) THEN 16540direction=1 16550FOR walk=x TO a-150 STEP 17 16560x=walk 16570modded=(walk MOD 8)+1 16580choose$="*SCHOOSE willyr"+STR$(modded) 16590OSCLI choose$ 16600GCOL 63 16610PLOT &ED,x,y 16620TIME=0 16630REPEAT UNTIL TIME>7 16640NEXT 16650x=a-150 16660ENDIF 16670*POINTER 1 16680ENDIF 16690ENDPROC
�>!RunImage �init � ( �menu 2� quit=� <*FX 15,1 F� 15 P� Z� d: n: x� �init �� 1 �� �-�1:� �6,13)"Loading Willy Please Wait..." �0�2:� �5,15)"An Adventure Game For The Young" �+�1:� �5,17)" � Archimedes World 1994" � � "Sload <Obey$Dir>.Workers" �� objects(15,7) �� name$(15,7) �� choose$(15,7) �� inventory$(16) �� inventory(16,2) �� background$(15,2) �� coordinate(15,7,4) � walk(15,7,2) � look$(15,7) � use(15,7,2) "� pickup(15,7) ,� give(15,7,2) 6� talk$(15,7,2) @� open(15,7) J� close(15,7) T� move(15,7) ^� run$(15) h quit=� r� |: �: �� �menu �� 15 �� �� tittle%=0 � 1300 � 25 �*SCHOOSE tittle1 �� &ED,1300-tittle%,800 �*SCHOOSE tittle2 �� &ED,-920+tittle%,575 �� �*SCHOOSE tittle3 �� &ED,500,425 �� 28,19,29,70,29 � � *� " 1. Start Game 2. Quit"; & done=� 0 walk=0 :� Dwalk+=1 N� walk=9 � walk=1 X%choose$="*SCHOOSE willyr"+�(walk) b � choose$ l� &ED,575,102 v�=0 �� �� �(-49) � done=� �� �(-50) � � quit=� � done=� �� � � �>13 �� done=� �� quit=� � �start �� �: �: �� �start level%=1 �blank background$(1,1)="brwall" background$(1,2)="brwall" *background$(2,1)="brwall" 4background$(2,2)="backbr" >background$(3,1)="backbr" Hbackground$(3,2)="backbr" Rbackground$(4,1)="brwall" \background$(4,2)="brwall" fbackground$(5,1)="brwall" pbackground$(5,2)="brwall" zbackground$(6,1)="brwall" �background$(6,2)="backbr" �background$(7,1)="backbr" �background$(7,2)="brwall" �background$(8,1)="backbr" �background$(8,2)="brwall" �background$(9,1)="brwall" �background$(9,2)="brwall" �objects(1,2)=1 �name$(1,2)="DOOR" �choose$(1,2)="DOORL" �open(1,2)=1 �coordinate(1,2,1)=28 �coordinate(1,2,2)=460 coordinate(1,2,3)=149 coordinate(1,2,4)=942 objects(1,3)=1 $name$(1,3)="DOORWAY" .choose$(1,3)="DOORWAYR" 8walk(1,3,1)=2 Bwalk(1,3,2)=260 Lcoordinate(1,3,1)=1077 Vcoordinate(1,3,2)=460 `coordinate(1,3,3)=1247 jcoordinate(1,3,4)=942 tname$(1,4)="DOORWAY" ~choose$(1,4)="DOORWAYL" �walk(1,4,1)=5 �walk(1,4,2)=879 �close(1,4)=1 �coordinate(1,4,1)=28 �coordinate(1,4,2)=460 �coordinate(1,4,3)=198 �coordinate(1,4,4)=942 �objects(1,5)=1 �name$(1,5)="LOCK" �choose$(1,5)="LOCK" �%look$(1,5)="IT LOOKS VERY STRONG" �use(1,5,1)=4 use(1,5,2)=5 coordinate(1,5,1)=150 coordinate(1,5,2)=624 coordinate(1,5,3)=192 (coordinate(1,5,4)=680 2objects(1,6)=1 <name$(1,6)="LAMP" Fchoose$(1,6)="LIGHT" Pcoordinate(1,6,1)=215 Zcoordinate(1,6,2)=780 dcoordinate(1,6,3)=315 ncoordinate(1,6,4)=900 xobjects(2,1)=1 �name$(2,1)="DOORWAY" �choose$(2,1)="DOORWAYL" �walk(2,1,1)=1 �walk(2,1,2)=879 �coordinate(2,1,1)=28 �coordinate(2,1,2)=460 �coordinate(2,1,3)=198 �coordinate(2,1,4)=942 �objects(2,2)=1 �name$(2,2)="" �choose$(2,2)="NEXTSCREEN" �walk(2,2,1)=3 �walk(2,2,2)=260 coordinate(2,2,1)=1218 coordinate(2,2,2)=396 coordinate(2,2,3)=1280 "coordinate(2,2,4)=948 ,objects(2,3)=1 6name$(2,3)="DOOR" @choose$(2,3)="DOORT" Jopen(2,3)=1 Tcoordinate(2,3,1)=1071 ^coordinate(2,3,2)=540 hcoordinate(2,3,3)=1215 rcoordinate(2,3,4)=850 |name$(2,4)="DOORWAY" �choose$(2,4)="DOORWAYT" �close(2,4)=1 �walk(2,4,1)=4 �walk(2,4,2)=260 �coordinate(2,4,1)=1071 �coordinate(2,4,2)=540 �coordinate(2,4,3)=1215 �coordinate(2,4,4)=850 �objects(2,5)=1 �name$(2,5)="LAMP" �choose$(2,5)="LIGHT" �coordinate(2,5,1)=215 �coordinate(2,5,2)=780 coordinate(2,5,3)=315 coordinate(2,5,4)=900 objects(3,1)=1 &name$(3,1)="" 0choose$(3,1)="NEXTSCREEN" :walk(3,1,1)=2 Dwalk(3,1,2)=879 Ncoordinate(3,1,1)=-1 Xcoordinate(3,1,2)=396 bcoordinate(3,1,3)=64 lcoordinate(3,1,4)=948 vobjects(3,2)=1 �name$(3,2)="SIGN" �choose$(3,2)="SIGN" �!look$(3,2)="'THE TWO SAXONS'" �coordinate(3,2,1)=944 �coordinate(3,2,2)=810 �coordinate(3,2,3)=1044 �coordinate(3,2,4)=930 �objects(3,3)=1 �name$(3,3)="KNIGHT" �choose$(3,3)="KNIGHT" �look$(3,3)="HE LOOKS SAD" �/talk$(3,3,1)="YOU LOOK SAD. WHATS UP MATE?" �]talk$(3,3,2)="I`M IN LOVE WITH A PRINCESS BUT I`M JUST A KNIGHT. SHE COULD NEVER LOVE ME" coordinate(3,3,1)=64 coordinate(3,3,2)=516 coordinate(3,3,3)=174 coordinate(3,3,4)=736 *objects(3,4)=1 4name$(3,4)="DOORWAY" >choose$(3,4)="DOORWAYT" Hwalk(3,4,1)=6 Rwalk(3,4,2)=260 \coordinate(3,4,1)=1071 fcoordinate(3,4,2)=540 pcoordinate(3,4,3)=1215 zcoordinate(3,4,4)=850 �objects(3,5)=1 �name$(3,5)="" �choose$(3,5)="NEXTSCREEN" �walk(3,5,1)=8 �walk(3,5,2)=260 �coordinate(3,5,1)=1218 �coordinate(3,5,2)=396 �coordinate(3,5,3)=1280 �coordinate(3,5,4)=948 �objects(4,1)=1 �name$(4,1)="DOORWAY" �choose$(4,1)="DOORWAYL" �walk(4,1,1)=2 walk(4,1,2)=879 coordinate(4,1,1)=28 coordinate(4,1,2)=460 $coordinate(4,1,3)=198 .coordinate(4,1,4)=942 8objects(4,2)=1 Bname$(4,2)="" Lchoose$(4,2)="TABLE" Vcoordinate(4,2,1)=1030 `coordinate(4,2,2)=397 jcoordinate(4,2,3)=1030 tcoordinate(4,2,4)=397 ~objects(4,3)=1 �name$(4,3)="BOOK" �choose$(4,3)="BOOK" �[look$(4,3)="IT LOOKS LIKE A DRUIDS SPELL BOOK. IT SAYS SPEED SPELLS, LOVE POTIONS ECT." �open(4,3)=1 �close(4,3)=1 �coordinate(4,3,1)=1135 �coordinate(4,3,2)=515 �coordinate(4,3,3)=1233 �coordinate(4,3,4)=583 �name$(4,4)="SPELL" �0look$(4,4)="IT`S ALL IN SOME WEIRD LANGUAGE" �objects(4,5)=1 name$(4,5)="ACID" choose$(4,5)="BOTTLE" %look$(4,5)="IT LOOKS VERY STRONG" pickup(4,5)=1 (coordinate(4,5,1)=1072 2coordinate(4,5,2)=550 <coordinate(4,5,3)=1132 Fcoordinate(4,5,4)=625 Pname$(4,6)="BOTTLE" Z*look$(4,6)="A BOTTLE USED FOR POTIONS" dobjects(5,1)=1 nname$(5,1)="DOORWAY" xchoose$(5,1)="DOORWAYR" �walk(5,1,1)=1 �walk(5,1,2)=260 �coordinate(5,1,1)=1077 �coordinate(5,1,2)=460 �coordinate(5,1,3)=1247 �coordinate(5,1,4)=942 �objects(5,2)=1 �name$(5,2)="CABINET" �choose$(5,2)="TABLE2" �look$(5,2)="IT LOOKS HEAVY" �move(5,2)=1 �use(5,2,1)=4 �use(5,2,2)=4 coordinate(5,2,1)=15 coordinate(5,2,2)=405 coordinate(5,2,3)=259 "coordinate(5,2,4)=612 ,name$(5,3)="MAP" 6Clook$(5,3)="IT`S ONLY PART OF THE MAP. I NEED TO FIND THE REST" @name$(5,4)="SPY GLASS" J#look$(5,4)="A MAGNIFYING GLASS" Tname$(5,5)="ROPE" ^%look$(5,5)="A LONG PIECE OF ROPE" huse(5,5,1)=10 ruse(5,5,2)=3 |objects(6,1)=1 �name$(6,1)="DOORWAY" �choose$(6,1)="DOORWAYL" �walk(6,1,1)=3 �walk(6,1,2)=879 �coordinate(6,1,1)=28 �coordinate(6,1,2)=460 �coordinate(6,1,3)=198 �coordinate(6,1,4)=942 �objects(6,2)=1 �name$(6,2)="" �choose$(6,2)="NEXTSCREEN" �walk(6,2,1)=7 �walk(6,2,2)=260 coordinate(6,2,1)=1218 coordinate(6,2,2)=396 coordinate(6,2,3)=1280 &coordinate(6,2,4)=948 0objects(6,3)=1 :name$(6,3)="" Dchoose$(6,3)="BAR" Ncoordinate(6,3,1)=1043 Xcoordinate(6,3,2)=492 bcoordinate(6,3,3)=1043 lcoordinate(6,3,4)=492 vobjects(6,4)=1 �name$(6,4)="BAR TENDER" �choose$(6,4)="TENDER" � look$(6,4)="HE LOOKS FED UP" �<talk$(6,4,1)="IT`S A BIT QUIET IN HERE TONIGHT ISN`T IT" �Htalk$(6,4,2)="YEH. EVERYONES GONE LOOKING FOR THIS DRAGON AINT THEY" �coordinate(6,4,1)=1072 �coordinate(6,4,2)=599 �coordinate(6,4,3)=1218 �coordinate(6,4,4)=766 �objects(7,1)=1 �name$(7,1)="" �choose$(7,1)="NEXTSCREEN" �walk(7,1,1)=6 walk(7,1,2)=879 coordinate(7,1,1)=-1 coordinate(7,1,2)=396 coordinate(7,1,3)=64 *coordinate(7,1,4)=948 4objects(7,2)=1 >name$(7,2)="" Hchoose$(7,2)="BAR" Rcoordinate(7,2,1)=0 \coordinate(7,2,2)=492 fcoordinate(7,2,3)=0 pcoordinate(7,2,4)=492 zobjects(7,3)=1 �name$(7,3)="FIRE PLACE" �choose$(7,3)="FIREPLACE" �coordinate(7,3,1)=1080 �coordinate(7,3,2)=475 �coordinate(7,3,3)=1140 �coordinate(7,3,4)=666 �objects(7,4)=1 �name$(7,4)="COAL" �choose$(7,4)="COAL" �look$(7,4)="ITS VERY BLACK" �pickup(7,4)=1 �coordinate(7,4,1)=1140 �coordinate(7,4,2)=500 coordinate(7,4,3)=1186 coordinate(7,4,4)=530 objects(8,1)=1 $name$(8,1)="" .choose$(8,1)="NEXTSCREEN" 8walk(8,1,1)=3 Bwalk(8,1,2)=879 Lcoordinate(8,1,1)=-1 Vcoordinate(8,1,2)=396 `coordinate(8,1,3)=64 jcoordinate(8,1,4)=948 tobjects(8,2)=1 ~name$(8,2)="DOOR" �choose$(8,2)="DOORT" �open(8,2)=1 �coordinate(8,2,1)=64 �coordinate(8,2,2)=540 �coordinate(8,2,3)=208 �coordinate(8,2,4)=850 �name$(8,3)="DOORWAY" �choose$(8,3)="DOORWAYT" �close(8,3)=1 �walk(8,3,1)=9 �walk(8,3,2)=260 �coordinate(8,3,1)=64 coordinate(8,3,2)=540 coordinate(8,3,3)=208 coordinate(8,3,4)=850 objects(9,1)=1 (name$(9,1)="DOORWAY" 2choose$(9,1)="DOORWAYL" <walk(9,1,1)=8 Fwalk(9,1,2)=260 Pcoordinate(9,1,1)=28 Zcoordinate(9,1,2)=460 dcoordinate(9,1,3)=198 ncoordinate(9,1,4)=942 xobjects(9,2)=1 �name$(9,2)="" �choose$(9,2)="TABLE" �coordinate(9,2,1)=1030 �coordinate(9,2,2)=397 �coordinate(9,2,3)=1030 �coordinate(9,2,4)=397 �objects(9,3)=1 �name$(9,3)="PLANT" �choose$(9,3)="PLANT" �look$(9,3)="A PLANT" �use(9,3,1)=5 �use(9,3,2)=4 �coordinate(9,3,1)=1080 coordinate(9,3,2)=545 coordinate(9,3,3)=1126 coordinate(9,3,4)=657 "name$(9,4)="LEAF" ,#look$(9,4)="IT`S STILL SMOKING" 6use(9,4,1)=4 @use(9,4,2)=6 Jobjects(9,5)=1 Tname$(9,5)="SKYLIGHT" ^choose$(9,5)="SKYLIGHT" hcoordinate(9,5,1)=700 rcoordinate(9,5,2)=819 |coordinate(9,5,3)=900 �coordinate(9,5,4)=959 � �game �level%=2 �� exit=� � � �blank �� 15 �� ��message$="SO YOU AND MIC THE BAR TENDER SET OFF IN A BOAT FOR THE ISLAND. AFTER A FEW DAYS AT SEA YOU REACH YOUR DESTINATION. UNFORTUNATELY THE LOCAL NATIVES DO NOT APPRECIATE YOUR PRESENCE AND THEY THROW YOU BOTH IN CELLS." �� show%=1 � �(message$) �� �message$,show%,1); ��=0 �(� �message$,show%,1)<>" " � � � �>11 �� �=0 � � �>400 inventory$(1)="ROPE" &inventory(1,1)=5 0inventory(1,2)=5 :%look$(5,5)="A LONG PIECE OF ROPE" Duse(5,5,1)=10 Nuse(5,5,2)=3 Xbackground$(10,1)="brwall" bbackground$(10,2)="brwall" lbackground$(11,1)="brwall" vbackground$(11,2)="backbr" �background$(12,1)="backbr" �background$(12,2)="backbr" �background$(13,1)="brwall" �background$(13,2)="brwall" �background$(14,1)="backbr" �background$(14,2)="backbr" �objects(10,1)=1 �name$(10,1)="WINDOW" �choose$(10,1)="WINDOW" �'look$(10,1)="I CAN`T QUITE SEE OUT" �coordinate(10,1,1)=1070 �coordinate(10,1,2)=730 �coordinate(10,1,3)=1240 coordinate(10,1,4)=949 use(10,1,1)=10 use(10,1,2)=4 objects(10,2)=1 *name$(10,2)="DOOR" 4choose$(10,2)="DOORL" >open(10,2)=1 Hcoordinate(10,2,1)=28 Rcoordinate(10,2,2)=460 \coordinate(10,2,3)=198 fcoordinate(10,2,4)=942 pobjects(10,3)=1 zname$(10,3)="BRICK" �choose$(10,3)="BRICK" �!look$(10,3)="IT LOOKS STRONG" �pickup(10,3)=1 �use(10,3,1)=5 �use(10,3,2)=5 �coordinate(10,3,1)=1180 �coordinate(10,3,2)=525 �coordinate(10,3,3)=1252 �coordinate(10,3,4)=605 �name$(10,4)="ROPE N BRICK" �3look$(10,4)="THE ROPE IS TIED AROUND THE BRICK" �objects(11,1)=1 �name$(11,1)="BAR" choose$(11,1)="BARS" +look$(11,1)="IT FELL OUT OF THE WINDOW" pickup(11,1)=1 $use(11,1,1)=12 .use(11,1,2)=5 8coordinate(11,1,1)=100 Bcoordinate(11,1,2)=450 Lcoordinate(11,1,3)=172 Vcoordinate(11,1,4)=490 `objects(11,2)=1 jname$(11,2)="ROPE" tchoose$(11,2)="ROPE" ~1look$(11,2)="IT`S STILL ATACHED TO THE BRICK" �use(11,2,1)=12 �use(11,2,2)=3 �coordinate(11,2,1)=120 �coordinate(11,2,2)=557 �coordinate(11,2,3)=139 �coordinate(11,2,4)=955 �objects(11,3)=1 �name$(11,3)="LAMP" �choose$(11,3)="LIGHT" �coordinate(11,3,1)=215 �coordinate(11,3,2)=780 �coordinate(11,3,3)=315 coordinate(11,3,4)=900 objects(11,4)=1 name$(11,4)="" choose$(11,4)="NEXTSCREEN" (walk(11,4,1)=12 2walk(11,4,2)=260 <coordinate(11,4,1)=1218 Fcoordinate(11,4,2)=396 Pcoordinate(11,4,3)=1280 Zcoordinate(11,4,4)=948 dobjects(12,1)=1 nname$(12,1)="DOOR" xchoose$(12,1)="DOORT" �open(12,1)=1 �coordinate(12,1,1)=64 �coordinate(12,1,2)=540 �coordinate(12,1,3)=208 �coordinate(12,1,4)=850 �name$(12,2)="DOORWAY" �choose$(12,2)="DOORWAYT" �close(12,2)=1 �walk(12,2,1)=13 �walk(12,2,2)=260 �coordinate(12,2,1)=64 �coordinate(12,2,2)=540 �coordinate(12,2,3)=208 coordinate(12,2,4)=850 objects(12,3)=1 name$(12,3)="FLINT" "choose$(12,3)="FLINT" ,look$(12,3)="IT`S SHARP" 6pickup(12,3)=1 @coordinate(12,3,1)=1100 Jcoordinate(12,3,2)=500 Tcoordinate(12,3,3)=1128 ^coordinate(12,3,4)=540 hobjects(12,4)=1 rname$(12,4)="" |choose$(12,4)="NEXTSCREEN" �walk(12,4,1)=11 �walk(12,4,2)=879 �coordinate(12,4,1)=-1 �coordinate(12,4,2)=396 �coordinate(12,4,3)=64 �coordinate(12,4,4)=948 �name$(12,5)="ROPE" �)look$(12,5)="A SHORTER PIECE OF ROPE" �use(12,5,1)=11 �use(12,5,2)=1 �name$(12,6)="ROPE N BAR" �<look$(12,6)="THE ROPE IS TIED AROUND THE END OF THE BAR" �objects(12,7)=1 name$(12,7)="" choose$(12,7)="NEXTSCREEN" walk(12,7,1)=14 &walk(12,7,2)=260 0coordinate(12,7,1)=1218 :coordinate(12,7,2)=396 Dcoordinate(12,7,3)=1280 Ncoordinate(12,7,4)=948 Xobjects(13,1)=1 bname$(13,1)="DOORWAY" lchoose$(13,1)="DOORWAYL" vwalk(13,1,1)=12 �walk(13,1,2)=260 �coordinate(13,1,1)=28 �coordinate(13,1,2)=460 �coordinate(13,1,3)=198 �coordinate(13,1,4)=942 �objects(13,2)=1 �name$(13,2)="DRUID" �choose$(13,2)="DRUID" �*look$(13,2)="HE LOOKS DEEP IN THOUGHT" �Utalk$(13,2,1)="I NEED YOUR HELP TO GET RID OF A DRAGON. CAN YOU GIVE ME A SPELL?" �Rtalk$(13,2,2)="IF YOU WANT A SPELL YOU MUST BRING ME PART OF THE DRAGONS BODY" �coordinate(13,2,1)=1065 �coordinate(13,2,2)=460 coordinate(13,2,3)=1167 coordinate(13,2,4)=699 objects(14,1)=1 name$(14,1)="DRAGON" *choose$(14,1)="DRAGON" 4look$(14,1)="HE`S ASLEEP" >use(14,1,1)=14 Huse(14,1,2)=3 Rcoordinate(14,1,1)=1033 \coordinate(14,1,2)=400 fcoordinate(14,1,3)=1250 pcoordinate(14,1,4)=607 zobjects(14,2)=1 �name$(14,2)="SCALE" �choose$(14,2)="SCALE" �look$(14,2)="A GREEN SCALE" �give(14,2,1)=13 �give(14,2,2)=2 �use(14,2,1)=12 �use(14,2,2)=6 �coordinate(14,2,1)=1251 �coordinate(14,2,2)=555 �coordinate(14,2,3)=1279 �coordinate(14,2,4)=595 �name$(14,3)="SPELL" �7look$(14,3)="IT`S A SPELL TO GET RID OF THE DRAGON" objects(14,4)=1 name$(14,4)="" choose$(14,4)="NEXTSCREEN" $walk(14,4,1)=12 .walk(14,4,2)=879 8coordinate(14,4,1)=-1 Bcoordinate(14,4,2)=396 Lcoordinate(14,4,3)=64 Vcoordinate(14,4,4)=948 ` �game j� t� exit=� � �win ~� �: �: �� �blank �� setarea=1 � 15 �� setobject=1 � 7 �� co=1 � 4 �&coordinate(setarea,setobject,co)=0 �� � objects(setarea,setobject)=0 �walk(setarea,setobject,1)=0 �!talk$(setarea,setobject,1)="" �!talk$(setarea,setobject,2)="" use(setarea,setobject,1)=0 open(setarea,setobject)=0 close(setarea,setobject)=0 give(setarea,setobject,1)=0 (move(setarea,setobject)=0 2pickup(setarea,setobject)=0 <� F� P!� level%=1 � area=1 � area=10 Z x=500 d y=450 ndirection=1 xold$="" � gots=� �completed=� � exit=� � map%=0 � potion%=0 �� blank=1 � 16 �inventory$(blank)="" �inventory(blank,1)=0 �inventory(blank,2)=0 �� �� �: �: � �win � 15 � "�message$="YOU START YOUR LONG JOURNEY HOME. NEWS REACHES THE KING OF YOUR TRIUMPH OVER THEDRAGON AND YOU ARRIVE HOME TO A BIG RECEPTION. YOU ARE TO BE KNIGHTED BY THE KING AND BECOME ONE OF HIS PERSONAL GUARDS." ,� show%=1 � �(message$) 6� �message$,show%,1); @�=0 J(� �message$,show%,1)<>" " � � � �>11 T� ^�=0 h � � �>400 r� 15 |� �*SCHOOSE willyr �� &ED,1000,300 �� �61,12)"I KNIGHT THE" ��=0 � � � �>400 �*SCHOOSE arm � � 8,0 �� &ED,1000,435 �� �61,12)" SIR WILLY " ��=0 � � � �>400 �� �*SCHOOSE willyr � &ED,1000,300 �=0 � � �>30 &� 0*SCHOOSE arm : � 8,0 D� &ED,1000,435 N*SCHOOSE willyr X� &ED,1000,300 b � �59,12)"THE DRAGON KILLER" l�=0 v � � �>600 �� 1 �� �� �13,14)"WILLY SUCCEEDED" ��=0 � � � �>500 �� �: �: �� �game � �build �*POINTER 1 �� �ȗ a,b,c,d 0� a>532 � a<800 � b>0 � b<108 � c=4 � exit=� /� a>0 � a<270 � b>230 � b<350 � c=4 � �look 1� a>532 � a<800 � b>108 � b<228 � c=4 � �move 1� a>268 � a<532 � b>0 � b<108 � c=4 � �pickup */� a>0 � a<268 � b>108 � b<228 � c=4 � �open 4.� a>0 � a<268 � b>0 � b<108 � c=4 � �close >1� a>268 � a<532 � b>230 � b<350 � c=4 � �talk H1� a>268 � a<532 � b>108 � b<228 � c=4 � �give R0� a>532 � a<800 � b>230 � b<350 � c=4 � �use \� b>395 � b<959 � fmoved=� pcount=0 z� �count+=1 � over=� ��� a>coordinate(area,count,1) � a<coordinate(area,count,3) � b>coordinate(area,count,2) � b<coordinate(area,count,4) � objects(area,count)=1 � over=� �print$="WALK TO " �� over=� � �#print$=print$+name$(area,count) �� c=4 � � �walk �moved=� �� walk(area,count,1)<>0 � �x=walk(area,count,2) �area=walk(area,count,1) �(� x<500 � direction=1 � direction=-1 �build � � $� .� count=7 � over=� 8� moved=� � c=4 � �walk B� L(� b<=395 � b>=959 � print$="WALK TO" V� print$<>old$ � `� "" j � print$; t� ~old$=print$ �� direction=1 � �*SCHOOSE willyr �� �*SCHOOSE willyl �� �� 63 � � &ED,x,y �%� level%=1 � map%=3 � completed=� �� completed=� � exit=� �� �: �: � �look � "" old$="" � "LOOK AT "; (�=0 2� � �>50 <� Fȗ a,b,c,d Pprint$="LOOK AT" Z� b>395 � b<959 � d� check=1 � 7 n over=� x�� a>coordinate(area,check,1) � a<coordinate(area,check,3) � b>coordinate(area,check,2) � b<coordinate(area,check,4) � objects(area,check)=1 � over=� �� over=� � �'print$="LOOK AT "+name$(area,check) �� c=4 � � �walk �L� look$(area,check)="" � say$="NOTHING SPECIAL" � say$=look$(area,check) ��say �� �� �� �� �� invencheck=1 � 8 �clickedon=0 �a� a>799 � a<1039 � b>320-(invencheck*32.5) � b<352.5-(invencheck*32.5) � clickedon=invencheck d� a>1039 � a<1279 � b>320-(invencheck*32.5) � b<352.5-(invencheck*32.5) � clickedon=invencheck+8 � clickedon<>0 � !� inventory(clickedon,1)<>0 � "Jprint$="LOOK AT "+name$(inventory(clickedon,1),inventory(clickedon,2)) ,� c=4 � 6=say$=look$(inventory(clickedon,1),inventory(clickedon,2)) @�say J� T� ^� h� r� |� print$<>old$ � �� "" � � print$; �old$=print$ �� � � c=4 �c=0 �print$="WALK TO " �� "" �� "WALK TO"; �� �: �: �� �move � "" old$="" � "MOVE"; &�=0 0� � �>50 :� Dȗ a,b,c,d Nprint$="MOVE" X� b>395 � b<959 � b� check=1 � 7 l over=� v�� a>coordinate(area,check,1) � a<coordinate(area,check,3) � b>coordinate(area,check,2) � b<coordinate(area,check,4) � objects(area,check)=1 � over=� �� over=� � �$print$="MOVE "+name$(area,check) �� c=4 � � �walk �� move(area,check)=1 � �� area=5 � check=2 � �5say$="I CAN`T QUITE FIND THE STRENGTH TO LIFT IT" ��say �� �� � say$="I DON`T SEE THE POINT" ��say �� !� !� !� ! � !*� print$<>old$ � !4� "" !> � print$; !H� !Rold$=print$ !\ � c=4 !fc=0 !p� !z: !�: !� � �pickup !�� "" !�old$="" !�� "PICK UP"; !��=0 !�� � �>50 !�� !�ȗ a,b,c,d !�print$="PICK UP" !�� b>359 � b<959 � !�� check=1 � 7 !� over=� "�� a>coordinate(area,check,1) � a<coordinate(area,check,3) � b>coordinate(area,check,2) � b<coordinate(area,check,4) � objects(area,check)=1 � over=� "� over=� � "'print$="PICK UP "+name$(area,check) "$� c=4 � ". �walk "8� pickup(area,check)=1 � "Bobjects(area,check)=0 "Ltarea=area "Vtcheck=check "` �take "j�update "t� area=7 � check=4 � "~use(7,4,1)=4 "�use(7,4,2)=6 "�� "�� "�say$="I DON`T WANT IT" "�F� area=11 � check=2 � say$="I CAN`T. IT`S STILL TIED TO THE BRICK" "�?� area=14 � check=2 � say$="I`M NOT GOING NEAR THAT DRAGON" "��say "�� "�� "�� "�� "�� # � print$<>old$ � # � "" # � print$; #� #(old$=print$ #2 � c=4 #<c=0 #F� #P: #Z: #d� �open #ndo=� #x� "" #�old$="" #� � "OPEN"; #��=0 #�� � �>50 #�� #�ȗ a,b,c,d #�print$="OPEN" #�� b>395 � b<959 � #�� check=1 � 7 #� over=� #�� a>coordinate(area,check,1) � a<coordinate(area,check,3) � b>coordinate(area,check,2) � b<coordinate(area,check,4) � objects(area,check)=1 � over=� #�� over=� � do=� � #�$print$="OPEN "+name$(area,check) $� c=4 � $ �walk $� open(area,check)=1 � $"� area=1 � check=2 � $,� objects(1,5)=1 � $6say$="IT`S LOCKED" $@�say $J� $Tobjects(1,2)=0 $^objects(1,4)=1 $hdo=� $r�update $|� $�� $�� area=2 � check=3 � $�objects(2,3)=0 $�objects(2,4)=1 $��update $�do=� $�� $�� area=8 � check=2 � $�objects(8,2)=0 $�objects(8,3)=1 $��update $�do=� $�� %� area=4 � check=3 � %8say$="WHAT TYPE OF SPELL DO YOU WANT ME TO LOOK UP?" %�say %&� %0� %:*FX 15,1 %D� spell$ %N� %X"say$="I CAN`T FIND THAT SPELL" %bS� spell$="LOVE" � spell$="love" � spell$="LOVE POTION" � spell$="love potion" � %lSsay$="IT`S A POTION. YOU NEED SOME CARBON AND A LEAF FROM A BURNING FIRE PLANT" %vNlook$(9,3)="WELL IT`S A PLANT BUT I DON`T THINK IT`S A BURNING FIRE PLANT" %�� %�a� spell$="STRENGTH" � spell$="strength" � spell$="STRENGTH SPELL" � spell$="strength spell" � %�� gots=� � %�-say$="HERE IT IS. I`LL TEAR OUT THE PAGE" %�tarea=4 %�tcheck=4 %� �take %� gots=� %�� %�� %�x� spell$="SPEED" � spell$="speed" � spell$="SPEED SPELL" � spell$="speed spell" � say$="THAT PAGE HAS BEEN TORN OUT" %��say %�� &� area=10 � check=2 � &'say$="IT`S LOCKED FROM THE OUTSIDE" &�say & � &*� area=12 � check=1 � &4objects(12,1)=0 &>objects(12,2)=1 &H�update &Rdo=� &\� &f� &psay$="I CAN`T OPEN IT" &z�say &�� &�� &�� &�� &�� &�� print$<>old$ � &�� "" &� � print$; &�� &�old$=print$ &� � c=4 &�c=0 &�� ': ': '� �close '$do=� '.� "" '8old$="" 'B� "CLOSE"; 'L�=0 'V� � �>50 '`� 'jȗ a,b,c,d 'tprint$="CLOSE" '~� b>395 � b<959 � '�� check=1 � 7 '� over=� '��� a>coordinate(area,check,1) � a<coordinate(area,check,3) � b>coordinate(area,check,2) � b<coordinate(area,check,4) � objects(area,check)=1 � over=� '�� over=� � do=� � '�%print$="CLOSE "+name$(area,check) '�� c=4 � '� �walk '�� close(area,check)=1 � '�� area=2 � check=4 � '�objects(2,4)=0 '�objects(2,3)=1 '��update ( do=� ( � (� area=8 � check=3 � (objects(8,3)=0 ((objects(8,2)=1 (2�update (<do=� (F� (P� area=1 � check=4 � (Zobjects(1,4)=0 (dobjects(1,2)=1 (n�update (xdo=� (�� (�� area=12 � check=2 � (�objects(12,2)=0 (�objects(12,1)=1 (��update (�do=� (�� (�� (�say$="I CAN`T CLOSE IT" (��say (�� (�� (�� )� )� )� print$<>old$ � )"� "" ), � print$; )6� )@old$=print$ )J � c=4 )Tc=0 )^� )h: )r: )|� �talk )�� "" )�old$="" )�� "TALK TO "; )��=0 )�� � �>50 )�� )�ȗ a,b,c,d )�print$="TALK TO" )�� b>395 � b<959 � )�� check=1 � 7 )� over=� )�� a>coordinate(area,check,1) � a<coordinate(area,check,3) � b>coordinate(area,check,2) � b<coordinate(area,check,4) � objects(area,check)=1 � over=� )�� over=� � *'print$="TALK TO "+name$(area,check) *� c=4 � * �walk *&� talk$(area,check,1)="" � *0-say$="HMM THERES NO ANSWER, STRANGE THAT" *:�say *D� *Nsay$=talk$(area,check,1) *X �says *b� 31 *lsay$=talk$(area,check,2) *v �says *�� 63 *�� area=6 � check=4 � *�9talk$(6,4,1)="WHY AREN`T YOU LOOKING FOR THE DRAGON?" *�Mtalk$(6,4,2)="I`VE ONLY GOT PART OF THE MAP I`LL NEVER FIND MY WAY THERE" *�� *�� *�� *�� *�� *�� *�� print$<>old$ � *�� "" *� � print$; +old$=print$ +� + � c=4 + c=0 +*print$="WALK TO " +4� "" +>� "WALK TO"; +H� +R: +\: +f� �give +p� "" +zold$="" +�� "GIVE "; +��=0 +�� � �>50 +�garea=0 +� gnumber=0 +�� +�ȗ a,b,c,d +�print$="GIVE" +�� invencheck=1 � 8 +�clickedon=0 +�a� a>799 � a<1039 � b>320-(invencheck*32.5) � b<352.5-(invencheck*32.5) � clickedon=invencheck +�d� a>1039 � a<1279 � b>320-(invencheck*32.5) � b<352.5-(invencheck*32.5) � clickedon=invencheck+8 +�� clickedon<>0 � ,!� inventory(clickedon,1)<>0 � ,Gprint$="GIVE "+name$(inventory(clickedon,1),inventory(clickedon,2)) ,� c=4 � ,$print$=print$+" TO " ,.� print$ ,8 garea=inventory(clickedon,1) ,B"gnumber=inventory(clickedon,2) ,Linumber=clickedon ,V� ,`� ,j� ,t� ,~� print$<>old$ � ,�� "" ,� � print$; ,�old$=print$ ,�� ,� � c=4 ,�� garea<>0 � ,��=0 ,�� � �>50 ,�was$=print$ ,�� ,�print$=was$ ,�ȗ a,b,c,d - � b>395 � b<959 � - � check=1 � 7 - over=� -�� a>coordinate(area,check,1) � a<coordinate(area,check,3) � b>coordinate(area,check,2) � b<coordinate(area,check,4) � objects(area,check)=1 � over=� -(� over=� � -2#print$=print$+name$(area,check) -<� c=4 � -F �walk -P@� give(garea,gnumber,1)=area � give(garea,gnumber,2)=check � -Zinventory$(inumber)="" -dinventory(inumber,1)=0 -ninventory(inumber,2)=0 -x� garea=4 � gnumber=6 � -�map%+=1 -�� map%=1 � -�tarea=5 -�tcheck=3 -� �take -�� -�give(5,3,1)=6 -�give(5,3,2)=4 -�;look$(5,3)="I THINK THERES ONLY ONE MORE PIECE TO FIND" -�� -�Msay$="HERE YOU ARE THIS WILL SOLVE ALL YOUR PROBLEMS. IT`S A LOVE POTION" -� �says -�Ssay$="THANKS. HERE I JUST HAPPEN TO HAVE A PIECE OF THAT MAP YOUR LOOKING FOR" .� 31 . �says .� 63 ."objects(3,3)=0 .,�update .6� .@� garea=5 � gnumber=3 � .Jmap%+=1 .TJsay$="WOW I`VE GOT ALL OF THE MAP NOW. WE CAN TEAM UP AND GO TOGETHER" .^� 31 .h �says .rsay$="OK LETS GO" .|� 63 .� �says .�� .�� garea=14 � gnumber=2 � .�9say$="HERE YOU GO I`VE GOT ONE OF THE DRAGONS SCALES" .� �says .�-say$="THAT`LL DO. I`LL WRITE OUT A SPELL" .�� 31 .� �says .�+talk$(13,2,1)="HOW DO I USE THE SPELL?" .�$talk$(13,2,2)="JUST READ IT OUT" .�tarea=14 .�tcheck=3 .� �take /�update /� /� /&say$="I DON`T WANT TO" /0�say /:� /D� /N� /X� /b� /l� print$<>old$ � /v� "" /� � print$; /�� /�old$=print$ /� � c=4 /�� /�c=0 /�print$="WALK TO " /�� "" /�� "WALK TO"; /�� /�: /�: /� � �use 0� "" 0old$="" 0 � "USE "; 0 �=0 0*� � �>50 04uarea=0 0> unumber=0 0H� 0Rȗ a,b,c,d 0\print$="USE" 0f� invencheck=1 � 8 0pclickedon=0 0za� a>799 � a<1039 � b>320-(invencheck*32.5) � b<352.5-(invencheck*32.5) � clickedon=invencheck 0�d� a>1039 � a<1279 � b>320-(invencheck*32.5) � b<352.5-(invencheck*32.5) � clickedon=invencheck+8 0�� clickedon<>0 � 0�!� inventory(clickedon,1)<>0 � 0�Fprint$="USE "+name$(inventory(clickedon,1),inventory(clickedon,2)) 0�� c=4 � 0�print$=print$+" WITH " 0�� print$ 0� uarea=inventory(clickedon,1) 0�"unumber=inventory(clickedon,2) 0�inumber=invencheck 0�� 0�� 0�� 1� 1� print$<>old$ � 1� "" 1$ � print$; 1.old$=print$ 18� 1B � c=4 1L� uarea<>0 � 1V�=0 1`� � �>50 1jwas$=print$ 1t� 1~print$=was$ 1�ȗ a,b,c,d 1�� b>395 � b<959 � 1�� check=1 � 7 1� over=� 1��� a>coordinate(area,check,1) � a<coordinate(area,check,3) � b>coordinate(area,check,2) � b<coordinate(area,check,4) � objects(area,check)=1 � over=� 1�� over=� � 1�#print$=print$+name$(area,check) 1�� c=4 � 1� �walk 1�;� use(area,check,1)=uarea � use(area,check,2)=unumber � 1�inventory$(inumber)="" 1�inventory(inumber,1)=0 2 inventory(inumber,2)=0 2 � uarea=4 � unumber=5 � 2objects(1,5)=0 2tarea=4 2(tcheck=6 22 �take 2<�update 2F(say$="THE ACIDS BURNT THE LOCK AWAY" 2P�say 2Z� 2d� uarea=4 � unumber=4 � 2nmap%+=1 2x� map%=1 � 2�tarea=5 2�tcheck=3 2� �take 2�� 2�give(5,3,1)=6 2�give(5,3,2)=4 2�;look$(5,3)="I THINK THERES ONLY ONE MORE PIECE TO FIND" 2�� 2�tarea=5 2�tcheck=4 2� �take 2�tarea=5 2�tcheck=5 3 �take 3Usay$="I CAN LIFT THE CABINET WITH EASE. I`VE FOUND A PIECE OF THE MAP UNDERNEATH" 3�say 3":say$="I`VE ALSO FOUND A PIECE OF ROPE AND A SPY GLASS" 3,�say 36� 3@� uarea=5 � unumber=4 � 3Jtarea=9 3Ttcheck=4 3^ �take 3h3say$="A LEAF HAS CAUGHT FIRE. I`LL PICK IT OFF" 3r�say 3|� 3�� uarea=10 � unumber=4 � 3�=say$="THE BRICK HAS CAUGHT ON THE WINDOW. I`LL CLIMB OUT" 3��say 3�area=11 3� x=260 3� �build 3�� 3�� uarea=12 � unumber=3 � 3�-say$="THE FLINT CAN CUT THROUGH THE ROPE" 3��say 3�tarea=12 3�tcheck=5 3�objects(11,2)=0 4 �take 4�update 4� 4&� uarea=12 � unumber=6 � 40Esay$="I`LL TIE A KNOT IN THE END AND HOOK THE SCALE OFF HIS BACK" 4:�say 4Dtarea=14 4Ntcheck=2 4Xobjects(14,2)=0 4b �take 4l�update 4v� 4�� uarea=14 � unumber=3 � 4�print$="WALK TO" 4�objects(14,1)=0 4��update 4�objects(14,1)=1 4��update 4�objects(14,1)=0 4��update 4�*SCHOOSE willyr 4�� 63 4� � &ED,x,y 4��=0 4� � � �>300 5say$="I`VE DONE IT." 5�say 5Isay$="I`VE KILLED THE DRAGON. I CAN BECOME ONE OF THE KINGS KNIGHTS!" 5 �say 5*�=0 54 � � �>250 5>a=0 5H �walk 5Rcompleted=� 5\� 5f� 5psay$="NOTHING HAPPENED" 5z�say 5�� 5�� 5�� 5�� 5�� 5�� invencheck=1 � 8 5�clickedon=0 5�a� a>799 � a<1039 � b>320-(invencheck*32.5) � b<352.5-(invencheck*32.5) � clickedon=invencheck 5�d� a>1039 � a<1279 � b>320-(invencheck*32.5) � b<352.5-(invencheck*32.5) � clickedon=invencheck+8 5�� clickedon<>0 � 5�!� inventory(clickedon,1)<>0 � 5�Fprint$=print$+name$(inventory(clickedon,1),inventory(clickedon,2)) 5�� c=4 � 6a� use(uarea,unumber,1)=inventory(clickedon,1) � use(uarea,unumber,2)=inventory(clickedon,2) � 6inventory$(inumber)="" 6inventory(inumber,1)=0 6$inventory(inumber,2)=0 6.� uarea=9 � unumber=4 � 68 �redo 6Bpotion%+=1 6L#say$="I`LL JUST PUT IT IN HERE" 6V�say 6`� potion%=2 � 6jgive(4,6,1)=3 6tgive(4,6,2)=3 6~� 6�� 6�� uarea=7 � unumber=4 � 6� �redo 6�potion%+=1 6�#say$="I`LL JUST PUT IT IN HERE" 6��say 6�� potion%=2 � 6�give(4,6,1)=3 6�give(4,6,2)=3 6�� 6�� 6�� uarea=5 � unumber=5 � 7 inventory$(2)="" 7 inventory(2,1)=0 7inventory(2,2)=0 7tarea=10 7(tcheck=4 72 �take 7<)say$="I`LL TIE THE ROPE TO THE BRICK" 7F�say 7P� 7Z� uarea=10 � unumber=3 � 7dinventory$(1)="" 7ninventory(1,1)=0 7xinventory(1,2)=0 7�tarea=10 7�tcheck=4 7� �take 7�)say$="I`LL TIE THE ROPE TO THE BRICK" 7��say 7�� 7�� uarea=11 � unumber=1 � 7�� rid=1 � 16 7�� inventory$(rid)="ROPE" � 7�inventory$(rid)="" 7�inventory(rid,1)=0 7�inventory(rid,2)=0 7�� 8� 8tarea=12 8tcheck=6 8" �take 8,'say$="I`LL TIE THE ROPE TO THE BAR" 86�say 8@� 8J� uarea=12 � unumber=5 � 8T� rid=1 � 16 8^� inventory$(rid)="BAR" � 8hinventory$(rid)="" 8rinventory(rid,1)=0 8|inventory(rid,2)=0 8�� 8�� 8�tarea=12 8�tcheck=6 8� �take 8�'say$="I`LL TIE THE ROPE TO THE BAR" 8��say 8�� 8�� 8�say$="NOTHING HAPPENED" 8��say 8�� 8�� 9� 9� 9� 9&� 90� print$<>old$ � 9:� "" 9D � print$; 9N� 9Xold$=print$ 9b � c=4 9l� 9vc=0 9�print$="WALK TO " 9�� "" 9�� "WALK TO"; 9�� 9�: 9�: 9� � �say 9�*POINTER 0 9�� 28,3,1,76,1 9�� 9�� 9�gap=�(say$)*12+150 9� said=� :� say$; :�=0 :� : � direction=1 � :**SCHOOSE willyrt1 :4� :>*SCHOOSE willylt1 :H� :R � &ED,x,y :\wait%=� :fsay%=�(60)+10 :p� :z� �>wait%+say% :�� direction=1 � :�*SCHOOSE willyrt2 :�� :�*SCHOOSE willylt2 :�� :� � &ED,x,y :�wait%=� :�say%=�(60)+10 :�� :�� �>gap � said=� :�� �>wait%+say% :�� said=� :�� ;� ;� 28,3,20,40,20 ;� ;$� ;. � print$; ;8*POINTER 1 ;B� ;L: ;V: ;`� �says ;j*POINTER 0 ;t� direction=1 � ;~*SCHOOSE willyr ;�� ;�*SCHOOSE willyl ;�� ;� � &ED,x,y ;�� 28,3,1,76,1 ;�� ;�� ;�gap=�(say$)*12+150 ;�� say$; ;��=0 ;� � � �>gap ;�� <