5TEXT:FOR i=1 TO 15:POKE 17115, i:TEXT:? CHR$(7):NEXT:GOSUB 16000
7IF PEEK(1054)=0 THEN 10
8GOSUB 20000
10REM             THE GOLDEN FLUTE from Golden Flutes & Great Escapes
15POKE 16149, 255:POKE 16150, 255:POKE 1054, 32:POKE 17115, 19
20CLEAR
30DIM a(100):DIM b(100):DIM c(9):DIM oj$(30)
33POKE 1055, 0: bz=0
35GOSUB 17000:VTAB 22
40 ti$="by Delton T. Horn":GOSUB 15000:GOSUB 18000:VTAB 22
43 ti$="adapted for ADAM(tm)":GOSUB 15000:GOSUB 18000:VTAB 22:?:VTAB 22
44 ti$="by Bob Zimmerman":GOSUB 15000:GOSUB 18000:VTAB 20:?:?:?:?:?:VTAB 22
50 ti$="Please type your name!":GOSUB 15000:INPUT n$
53VTAB 22:?:?:?:?:?:?: ti$="One Moment "+n$:GOSUB 15000
55 pw=0: gw=0: sc=450
60 mk=0
70 br=1: dg=1: g1=1: ru=1: sj=1: js=1: al=1: pm=1: ax=0: lc=1: m=1: sw=0: fl=0: mo=0: gl=0: mz=0
90FOR x=1 TO 100: a(x)=0: b(x)=0:NEXT
95FOR x=1 TO 9: c(x)=1:NEXT
109REM             woods
110 a(1)=1: a(2)=1: a(11)=1: a(12)=1
119REM             oracle
120 x=INT(RND(1)*89+1):IF x=1 OR a(x)>0 THEN 120
122IF x=10 OR x=11 OR x=20 OR x=21 OR x=30 OR x=31 OR x=40 OR x=41 OR x=50 OR x=51 OR x=60 OR x=61 THEN 120
123IF x=70 OR x=71 OR x=80 OR x=81 OR x=90 OR x=91 OR x=100 OR x=1 THEN 120
125 a(x)=2: m1=x
129REM             pits
130 x=INT(RND(1)*7+1)+2: y=INT(RND(1)*4+1)+4: x=x+y*10: y=x+1
135IF a(x)>0 OR a(y)>0 OR a(x+10)>0 OR a(y+10)>0 THEN 130
140 a(x)=3: a(y)=3: x=x+10: y=y+1: a(x)=3: a(y)=3
149REM             wall
150 q=0
160 q=q+1: x=(INT(RND(1)*4+1)+3)*10+INT(RND(1)*3+1)+3: y=x+5: z=0
170IF q>7 THEN 220
180FOR v=x TO y:IF a(v)>0 THEN  z=1
190IF a(v+10) THEN  z=1
200NEXT:IF z=1 THEN 160
210FOR v=x TO y: a(v)=13: a(v+10)=14:NEXT
220FOR x=1 TO 100: b(x)=a(x):NEXT
230 x=INT(RND(1)*100)+1
232IF b(x)>0 THEN 230
235 b(x)=29
240 x=(INT(RND(1)*4+1)+4)*10+INT(RND(1)*7+1)+2:IF b(x)>0 THEN 240
250 b(x)=4: z=9: y=x-1:GOSUB 5010
260 y=x+10:GOSUB 5010
270 y=x-10:GOSUB 5010
280 y=x+1:GOSUB 5010
290 y=y+10:GOSUB 5010
300 y=y-20:GOSUB 5010
310 u=INT(RND(1)*10+1)+2:FOR x=1 TO u: y=INT(RND(1)*100+1):GOSUB 5010:NEXT
320 y=INT(RND(1)*70+1)+30:IF b(y)>0 THEN 320
330 b(y)=5
340 y=INT(RND(1)*100+1):IF b(y)>0 THEN 340
350 b(y)=21:FOR x=1 TO 3
360 y=INT(RND(1)*100+1):IF b(y)>0 THEN 360
370 b(y)=22:NEXT
380 y=INT(RND(1)*50+1):IF b(y)>0 THEN 380
390 b(y)=23
400 y=INT(RND(1)*50+1):IF b(y)>0 THEN 400
410 b(y)=24
420 y=INT(RND(1)*90+1):IF b(y)>0 THEN 420
430 b(y)=25
440 y=INT(RND(1)*80+1)+15:IF b(y)>0 THEN 440
450 b(y)=26:FOR x=1 TO 5
460 y=INT(RND(1)*80+1)+15:IF b(y)>0 THEN 460
470 b(y)=27:NEXT
480 y=INT(RND(1)*100+1):IF b(y)>0 THEN 480
490 b(y)=28
495FOR x=0 TO 29:READ oj$(x):NEXT
500 z=6:FOR x=1 TO 10: y=INT(RND(1)*80+1)+20:GOSUB 5010:NEXT
510 z=8:FOR x=1 TO 10: y=INT(RND(1)*100+1):GOSUB 5010:NEXT
520 y=INT(RND(1)*100+1):IF b(y)>0 THEN 520
530 b(y)=7: z=10:FOR x=1 TO 10: y=INT(RND(1)*95+1)+5:GOSUB 5010:NEXT
540 y=INT(RND(1)*100+1):IF b(y)>0 THEN 540
550 b(y)=11: qq=0
560 f=INT(RND(1)*100+1):IF b(f)>0 THEN 560
570 b(f)=15
580 y=INT(RND(1)*55+1)+45:IF b(y)>0 THEN 580
590 b(y)=17: bz=0:TEXT
595IF PEEK(1054)=0 THEN 695
599POKE 1054, 0
600HOME:VTAB 2: ti$="GREETINGS! "+n$:GOSUB 15000:?
610? "You have joined the magical    creatures of the woodlands in  their glorious quest to recover"; 
615? "the GOLDEN FLUTE of love from  the clutches of the evil       Gremlin, TERAK, and return it"
640? "to the Woodlands.":?:? "At all times, watch out for    Dragons, Sirens, Goblins,      Gargoyles and the"
645? "dreaded Hopeless Pits!":?
660? "Coramble, the Great Oracle of  Purlicon Mountain may be of    assistance.":?
680VTAB 22
685 ti$="Do you want Instructions?":GOSUB 15000:INPUT q$: q$=LEFT$(q$, 1)
690IF q$="Y" OR q$="y" THEN HOME:GOSUB 5030
695 lc=1: a(lc)=12:HOME:GOSUB 7000:GOTO 900
700HOME:?
710 ti$="MAGIC CHARIOT OCCUPANTS":GOSUB 15000:?
720? "Our Leader"; :HTAB 15:? n$
730IF br=1 THEN ? "Brombiran"; :HTAB 15:? "the Elf"
740IF dg=1 THEN ? "Dagglette"; :HTAB 15:? "the Elf"
750IF g1=1 THEN ? "Gromphlur"; :HTAB 15:? "the Elf"
760IF ru=1 THEN ? "Rulf"; :HTAB 15:? "the Satyr"
770IF sj=1 THEN ? "Sejjan"; :HTAB 15:? "the Fairy"
780IF js=1 THEN ? "Jessan"; :HTAB 15:? "the Fairy"
790IF al=1 THEN ? "Allegrecia"; :HTAB 15:? "Queen of Sprites"
800IF pm=1 THEN ? "Princess Melva"
805?
810IF fl=1 THEN ? "The Golden Flute"
820IF mo=1 THEN ? "A magic Orb"
830IF sw=1 THEN ? "A magic Sword"
840IF bz=1 THEN ? "A magic Bazooka"
850IF gl<1 THEN 880
860? gl; " piece"; :IF gl>1 THEN ? "s"; 
870? " of gold"
880IF mz=1 THEN ? "A magic Zither"
890GOSUB 16000:GOSUB 7000
900GOSUB 7240: zz=lc:?:? "You are at location "; lc:? "Move #"; m: q$=""
910? "What now "; n$:INPUT q$: q$=LEFT$(q$, 1)
915GOSUB 7240:VTAB 13
918IF q$="q" OR q$="Q" THEN  sc=INT(sc/10):GOTO 1050
920IF q$="h" OR q$="H" THEN 4000
922IF q$="K" OR q$="k" THEN GOTO 7210
925IF q$="I" OR q$="i" THEN 700
930IF q$="m" OR q$="M" THEN GOSUB 7000:GOTO 910
935IF (q$="b" OR q$="B") AND (bz=1 AND PEEK(1056)=0) THEN 4030
938 m=m+1: a(lc)=b(lc)
940IF q$="d" OR q$="D" THEN 1000
950IF q$="u" OR q$="U" THEN 1190
960IF q$="r" OR q$="R" THEN 1200
970IF q$="l" OR q$="L" THEN 1220
980? "   INVALID MOVE   "
990GOTO 910
1000 lc=lc+10:IF lc>100 THEN 1020
1010GOTO 4250
1020HOME
1025?:? "The magic Chariot has left the Boundaries of the Magic Kingdom":?
1040? "Without the Magic to hold it upthe Magic Chariot Crashes!":?:GOSUB 16000
1050? CHR$(4); "open flutescore"
1055? CHR$(4); "read flutescore"
1058FOR i=1 TO 5:INPUT " "; d(i):INPUT " "; d$(i):NEXT i
1060HTAB 1:? CHR$(4); "close flutescore"
1062 sc=sc+INT(mk*15)-INT(m*1.5)+gl:IF sc<0 THEN  sc=0
1064 x=-1
1065GOSUB 2800
1070TEXT: ti$="GOLDEN FLUTE SCOREBOARD":VTAB 3:GOSUB 15000
1080FOR i=1 TO 5
1090VTAB (7+i):HTAB 5:? d$(i):VTAB (7+i):HTAB 18:? d(i):NEXT
1100? CHR$(4); "open flutescore"
1105? CHR$(4); "write flutescore"
1110FOR i=1 TO 5:? d(i):? d$(i):NEXT i
1112HTAB 1
1115? CHR$(4); "close flutescore":VTAB 22
1118IF x>0 THEN VTAB 20: ti$="Your Score="+STR$(x):GOSUB 15000
1120 ti$="PLAY AGAIN?":GOSUB 15000
1130GET a$: a$=LEFT$(a$, 1)
1135IF a$="y" OR a$="Y" THEN 8000
1140POKE 1054, 32:POKE 17115, 241:END
1150GOTO 1050
1190 lc=lc-10:IF lc<1 THEN 1020
1195GOTO 4250
1200 lc=lc+1: x=lc/10: y=(x-INT(x))*10:IF (y=0) OR (y>1.5) THEN 4250
1210GOTO 1020
1220 lc=lc-1: x=lc/10: y=(x-INT(x))*10:IF y=0 THEN 1020
1230GOTO 4250
2800IF sc<=d(5) THEN  x=sc:RETURN
2810IF sc>d(4) THEN 2830
2820 d(5)=sc: d$(5)=n$:RETURN
2830IF sc>d(3) THEN 2850
2840 d(9)=d(4): d$(9)=d$(4): d(4)=sc: d$(4)=n$: sc=d(9): n$=d$(9):GOTO 2820
2850IF sc>d(2) THEN 2870
2860 d(8)=d(3): d$(8)=d$(3): d(3)=sc: d$(3)=n$: sc=d(8): n$=d$(8):GOTO 2840
2870IF sc>d(1) THEN  d(6)=d(1): d$(6)=d$(1): d(1)=sc: d$(1)=n$: sc=d(6): n$=d$(6)
2880 d(7)=d(2): d$(7)=d$(2): d(2)=sc: d$(2)=n$: sc=d(7): n$=d$(7):GOTO 2860
2999DATA         ". "
3000DATA    "W ","M ","P ","T ","S ","D ",". ",". ","G ","O " 
3010DATA    ". ","C ","X ","X ","F ",". ",". ",". ",". ","* "
3020DATA    "B ","A ",". ",". ",". ",". ","R ","! ","H " 
4000VTAB 13: ti$="USE THE FOLLOWING COMMANDS:":GOSUB 15000:?
4005? "     U= up         D= down":? "     R= right      L= left"
4006? "     M= map        Q= Quit"
4007IF bz>0 THEN ? "     B= fire bazooka!"
4010?
4015? "     K= key to map symbols"
4020? "     H= return to this screen!":GOTO 910
4030POKE 1055, (PEEK(1055)+1):IF PEEK(1055)>3 THEN ? "   CLICK!--BAZOOKA EMPTY!     ":GOSUB 16000:GOTO 900
4035INPUT "Bazooka Loaded!---aim? (enter  'x' to disarm)"; q$
4040 q$=LEFT$(q$, 1):IF q$="x" OR q$="X" THEN 900
4050IF q$="U" OR q$="u" THEN 4100
4060IF q$="D" OR q$="d" THEN 4160
4070IF q$="R" OR q$="r" THEN 4190
4080IF q$="L" OR q$="l" THEN 4210
4090GOTO 4030
4100 bu=10000: bs=1: bt=-10
4110FOR j=1 TO 15:POKE 17059, j:TEXT:NEXT: x=lc:POKE 17059, 0:TEXT
4120 x=x+bt:IF x<bs THEN GOSUB 7000:GOTO 900
4130IF x>bu THEN GOSUB 7000:GOTO 900
4140IF (x<1) OR (x>100) THEN GOSUB 7000:GOTO 900
4150 a(x)=20: b(x)=20:GOTO 4120
4160 bu=10000: bs=0: bt=10
4170GOTO 4110
4180? "ppppfffffftttt!":?:GOSUB 7000:GOTO 900
4190 g=INT(lc/10):IF g=lc/10 THEN 4180
4200 bs=0: bu=g*10+10: bt=1:GOTO 4110
4210 g=INT(lc/10): h=lc/10-g:IF h=.1 THEN 4180
4220 bu=10000: bs=g*10+1: bt=-1:GOTO 4110
4250?:?:?: a(lc)=12
4260 xx=b(lc)
4270IF (lc=1) OR (lc=2) OR (lc=11) OR (lc=12) THEN 10000
4280IF lc=m1 THEN GOSUB 5120
4290IF lc=m1+1 OR lc=m1-1 OR (lc<m1-8 AND lc>m1-12) OR (lc>m1+8 AND lc<m1+12) THEN GOSUB 5300
4310IF xx=4 THEN GOSUB 5310
4320 p=INT(RND(1)*150+1):IF (p>148) AND (fl=0) THEN 10030
4330IF xx=3 THEN 10080
4340IF xx=5 THEN 10200
4350 x=lc-1:GOSUB 5580
4360 x=lc+1:GOSUB 5580
4370 x=lc-10:GOSUB 5580
4380 x=x-1:GOSUB 5580
4390 x=x+2:GOSUB 5580
4400 x=lc+10:GOSUB 5580
4410 x=lc-1:GOSUB 5580
4420 x=lc+2:GOSUB 5580
4430IF xx=6 THEN 10240
4440IF xx=7 THEN GOSUB 5600
4450IF xx=8 THEN GOSUB 5610
4460IF xx=9 THEN 10250
4470IF xx=10 THEN 10260
4480IF xx=11 THEN GOSUB 5630
4490IF xx=13 OR xx=14 THEN 11700
4500IF xx=15 THEN 11780
4510IF xx=17 THEN GOSUB 5640
4520IF xx=20 THEN ? "This area is a smoldering ruin"
4525IF xx=21 THEN 10270
4527IF xx=22 THEN 10280
4530IF xx=23 THEN GOSUB 5660
4540IF xx=24 THEN GOSUB 5670
4550IF xx=25 THEN GOSUB 5750
4560IF xx=26 THEN GOSUB 6000
4570IF xx=27 THEN 11800
4580IF xx=28 THEN GOSUB 6010
4590IF xx=29 THEN GOSUB 6050
4900VTAB 1:GOSUB 7000:GOSUB 16000:GOTO 900
5000FOR tt=1 TO 234:NEXT:RETURN
5010IF b(y)=0 THEN  b(y)=z
5020RETURN
5030?: ti$="INSTRUCTIONS AND HINTS!":GOSUB 15000:?
5035? "Each move may be up, down,     right or left.  Only the first letter is needed.":?
5040? "Never leave the map boundaries":?:? "Type 'Help' for a listing of   important commands":?
5050? "Type 'Inventory' to view items you have with you in your MagicChariot!":?
5060? "To have Terak's location       displayed on the map, you must visit the Oracle on Purlicon   Mountain":?:GOSUB 16000
5065HOME:?:? "INSTRUCTIONS & HINTS CONTINUED":?
5070? "If you are carrying a Magic Orbthe Great Oracle may even tell you a Secret!":?
5080? "The object of the game is to   return the Golden Flute to the Woodlands in the fewest moves":GOSUB 16000:HOME:RETURN
5120IF xx=20 THEN 5290
5130? "Coramble, the Great Oracle,    reveals that Terak's Lair is atLocation #"; 
5150FOR y=1 TO 100:IF b(y)=4 THEN 5170
5160NEXT:IF mo=1 THEN 5180
5165RETURN
5170? y: a(y)=4:GOTO 5160
5180IF ax=3 THEN RETURN
5190 ax=ax+1: a=INT(RND(1)*6+1)+4:IF (a=5) OR (a=6) OR (a=9) OR (a=10) THEN 5210
5200RETURN
5210? "He also reveals the location ":? "of all "; 
5220IF a=5 THEN ? "Sirens"
5230IF a=6 THEN ? "Dragons"
5240IF a=9 THEN ? "Gargoyles"
5250IF a=10 THEN ? "Goblins"
5260? "They will be shown on your map"
5270FOR x=1 TO 100:IF a=b(x) THEN  a(x)=b(x)
5280NEXT:RETURN
5290? "The Great Oracle's Body lies   smoking in the corner":RETURN
5300? "You are at the foot of PurliconMountain":RETURN
5310? "You have infiltrated Terak's   Lair!":GOSUB 5000
5320IF fl=1 THEN 5360
5330 fl=1:? "You recover the Golden Flute!": sc=sc+100
5340IF mo>0 THEN 5540
5350RETURN
5360 d=INT(RND(1)*8+1):IF d=1 AND br=0 THEN 5530
5370IF d=2 AND dg=0 THEN 5530
5380IF d=3 AND g1=0 THEN 5530
5390IF d=4 AND ru=0 THEN 5530
5400IF d=5 AND sj=0 THEN 5530
5410IF d=6 AND js=0 THEN 5530
5420IF d=7 AND al=0 THEN 5530
5430IF d=8 AND pm=0 THEN 5530
5440IF d=1 THEN ? "Brombiran"; : br=0: sc=sc-50
5450IF d=2 THEN ? "Dagglette"; : dg=0: sc=sc-55
5460IF d=3 THEN ? "Gromphlur"; : g1=0: sc=sc-45
5470IF d=4 THEN ? "Rulf"; : ru=0: sc=sc-85
5480IF d=5 THEN ? "Sejjan"; : sj=0: sc=sc-25
5490IF d=6 THEN ? "Jessan"; : js=0: sc=sc-25
5500IF d=7 THEN ? "Allegrecia"; : al=0: sc=sc-50
5510IF d=8 THEN ? "Princess Melva"; : pm=0: sc=sc-40
5520? " is dead!":?
5530RETURN
5540 a=INT(RND(1)*3+1):IF a=1 THEN 5360
5550IF a=3 THEN 5570
5560RETURN
5570? "The magic Orb is destroyed!": mo=0: sc=sc-50:RETURN
5580IF (x<1) OR (x>100) THEN RETURN
5590IF b(x)=5 THEN ? "An eerie sweet singing is heardin the distance":POP:GOTO 4430
5595RETURN
5600?:? "You just found a Magic Sword!": b(lc)=0: sw=1: sc=sc+50:RETURN
5610 x=INT(RND(1)*199+1)+1:? "You just found "; x; " pieces":? "of GOLD!"
5620 b(lc)=0: gl=gl+x:?:RETURN
5630? "You just found a Magic Orb!":?: mo=1: b(lc)=0: sc=sc+50:RETURN
5640 b(lc)=0:? "You just found a ":GOSUB 5000
5650? "**** Magic Bazooka ****": bz=1:POKE 1055, 0:POKE 1056, 0: sc=sc+75:RETURN
5660 g$="Kluffoot":GOTO 5680
5670 g$="Friek"
5680IF fl=0 THEN RETURN
5690? g$:? "the Gargoyle slave of Terak,"
5700IF sw=1 THEN 5720
5710? "succeeds in stealing the GoldenFlute again!": fl=0: sc=sc-100:RETURN
5720? "attempts to steal the Golden   Flute again!":?
5730? "but the Magic Sword kills "; g$:?
5740 b(lc)=0: mk=mk+1:RETURN
5750? "You are in the Enchanted Forest":?
5760 zx=br+dg+g1+ru+sj+js+al+pm
5770IF zx>5 THEN RETURN
5780 r=INT(RND(1)*10+1):IF r>8 THEN RETURN
5790IF (r=1) AND (br=0) THEN 5880
5800IF (r=2) AND (dg=0) THEN 5890
5810IF (r=3) AND (g1=0) THEN 5900
5820IF (r=4) AND (sj=0) THEN 5920
5830IF (r=5) AND (sj=0) THEN 5920
5840IF (r=6) AND (js=0) THEN 5930
5850IF (r=7) AND (al=0) THEN 5940
5860IF (r=8) AND (pm=0) THEN 5950
5870RETURN
5880? "Brombiran"; : br=1:GOTO 5970
5890? "Dagglette"; : dg=1:GOTO 5970
5900? "Gomphlur"; : g1=1:GOTO 5970
5910? "Rulf"; : ru=1:GOTO 5970
5920? "Sejjan"; : sj=1:GOTO 5970
5930? "Jessan"; : js=1:GOTO 5970
5940? "Allegrecia"; : al=1:GOTO 5970
5950? "Princess Melva"; : pm=1
5970 c(r)=1.5: b(lc)=0:? " is Magically restored to LIFE"
5980?: sc=sc+85:RETURN
6000? "You just found a Magic Zither!":?: mz=1: b(lc)=0: sc=sc+50:RETURN
6010HOME:VTAB 5: ti$="The Magic Chariot":GOSUB 15000: ti$="just flew over":GOSUB 15000: ti$="an Enchanted Land Mine!"
6015GOSUB 15000:GOSUB 16000
6020HOME:FOR x=1 TO 50: xy=INT(RND(1)*23+1): xz=INT(RND(1)*33+1):HTAB xz:VTAB xy:? "*"; 
6030 u=xz*x:NEXT:?:?
6040GOTO 5360
6050IF gl<2 THEN RETURN
6060? "A wicked witch steals all of   your gold coins!":?
6070 gl=0:?:? "    HEE  HEE  HEE!":?:?
6080RETURN
7000VTAB 1:?:?: z=1:FOR x=1 TO 10:? "    "; 
7010FOR y=1 TO 10
7015 v=a(z)
7020? oj$(v); 
7200 z=z+1:NEXT y:?:NEXT x
7205?:RETURN
7210 ti$="KEY TO MAP CHARACTERS":INVERSE:GOSUB 15000:NORMAL
7212? "C=MAGIC CHARIOT (YOU)  D=DRAGON"; 
7214? "A=DWARF                F=FOG   G=GARGOYLE             O=GOBLINM=PURLICON MOUNTAIN    P=PITS!"
7216? "R=ROCK                 S=SIRENSB=MAGIC SPARROW        H=WITCH T=TERAK'S LAIR         X=WALL"
7218? "W=WOODLANDS            !=BOMB  *=SMOLDERING RUIN"
7230GOSUB 16000:GOTO 900
7240VTAB 13:FOR i=1 TO 11:?:NEXT i:VTAB 13:RETURN
7250GOTO 900
8000CLEAR:GOTO 30
10000IF fl=1 THEN HOME:?:?: ti$="YOU HAVE RECOVERED":GOSUB 15000: ti$="THE GOLDEN FLUTE!":GOSUB 15000:?:GOTO 1150
10010? "You are in the Woodlands, Home of the Elves":?
10020GOTO 4280
10030? "Terak fears your approach and  moves his lair!":?
10040FOR x=1 TO 100:IF b(x)=4 THEN  b(x)=0: a(x)=0
10050NEXT
10060 x=INT(RND(1)*100+1):IF b(x)>1 THEN 10060
10070 b(x)=4:GOTO 4310
10080? "The Magic Chariot is mired in  the Hopeless Pits!":?
10090IF mo=1 THEN 10130
10100 a=INT(RND(1)*5+1):IF a>3 THEN ? "You are doomed!":GOTO 1050
10110IF a>3 THEN GOSUB 5360
10120? "You manage to get the Magic    Chariot free of the muck":GOTO 910
10130INPUT "Do you rub your magic Orb?"; q$: q$=LEFT$(q$, 1)
10140IF q$="y" OR q$="Y" THEN 10160
10150GOTO 10100
10160POKE 16954, 42:HOME:POKE 16954, 32:VTAB 5:? " POOF ":VTAB 23
10170GOSUB 16000:HOME:VTAB 8
10180 lc=INT(RND(1)*100+1):? "The Magic Chariot is magically transported to location #"; lc
10190 a(zz)=b(zz): a(lc)=12:GOSUB 16000:GOSUB 7000:GOTO 900
10200VTAB 13:? "The sweet song of the Sirens   Meserizes you!":?
10220? "The Magic Chariot crashes!":?:GOSUB 5000
10230GOTO 1050
10240? "A Dragon "; : fo=1:GOTO 10300
10250? "A Gargoyle "; : fo=2:GOTO 10300
10260? "A Goblin "; : fo=3:GOTO 10300
10270? "A Magic Sparrow "; : fo=4:GOTO 10300
10280? "An Angry Dwarf "; : gm=INT(RND(1)*150+1): fo=5
10300 am=INT(RND(1)*4+1):? "is in your path!":?:GOSUB 16000:HOME
10310 a(lc)=b(lc)
10320? "POSSIBLE ACTIONS:"
10330?:? "1.---Move the Magic Chariot"
10340? "2.---Throw some coins overboard"
10350? "3.---Hand to hand combat"
10360IF mo=1 THEN ? "4.---Rub magic Orb"
10370IF sw=1 THEN ? "5.---Unsheath Magic Sword"
10380IF mz=1 THEN ? "6.---Play Magic Zither"
10390?:INPUT p:IF p=1 THEN 10490
10410IF p=2 THEN 10660
10420IF p=3 THEN 11000
10430IF (mo=1) AND (p=4) THEN 10160
10440IF (sw=1) AND (p=5) THEN 11500
10450IF (mz=1) AND (p=6) THEN 11630
10460? "INVALID SELECTION":?:GOTO 10320
10490IF fo>3 THEN 910
10500?:INPUT "Direction?"; m$: m$=LEFT$(m$, 1)
10520IF m$="U" OR m$="u" THEN 10570
10530IF m$="D" OR m$="d" THEN 10580
10540IF m$="R" OR m$="r" THEN 10590
10550IF m$="L" OR m$="l" THEN 10600
10560GOTO 10500
10570IF am=1 THEN 1190
10575GOTO 10610
10580IF am=2 THEN 1000
10585GOTO 10610
10590IF am=3 THEN 1200
10595GOTO 10610
10600IF am=4 THEN 1220
10610?:? " The "; :IF fo=1 THEN ? "Dragon"; 
10620IF fo=2 THEN ? "Gargoyle"; 
10630IF fo=3 THEN ? "Goblin"; 
10640? " will not let you go that way!"
10650GOTO 10320
10660?:INPUT "How much Gold to toss away?"; h
10670 h=ABS(h): h=INT(h):IF h=0 THEN 10320
10680IF h>gl THEN 10995
10690 gl=gl-h
10700IF fo=1 THEN 10900
10710IF fo=2 THEN 10910
10720IF fo=3 THEN 10940
10730IF fo=4 THEN 10980
10740? "The Dwarf thanks you politely "
10750 gm=gm-h:IF gm>1 THEN 10320
10760? "and he reveals the lacation of all "
10770 df=INT(RND(1)*4+1):IF df=1 THEN 10840
10780IF df=2 THEN 10860
10790IF df=3 THEN 10880
10800? "Sirens":FOR x=1 TO 100:IF b(x)=5 THEN  a(x)=5
10810NEXT
10830 a(lc)=12:GOSUB 7000:GOTO 900
10840? "Goblins":FOR x=1 TO 100:IF b(x)=10 THEN  a(x)=10
10850NEXT:GOTO 10830
10860? "Gargoyles":FOR x=1 TO 100:IF b(x)=9 THEN  a(x)=9
10870NEXT:GOTO 10830
10880? "Dragons":FOR x=1 TO 100:IF b(x)=6 THEN  a(x)=6
10890NEXT:GOTO 10830
10900? "Dragons have no interest in    gold":?:GOTO 10320
10910? "The Gargoyle puts the gold intoits sack "; 
10920 i=INT(RND(1)*200+1):IF h<i THEN ?:GOTO 10320
10930? "and leaves": b(lc)=0: a(lc)=12:GOSUB 16000:GOSUB 7000:GOTO 900
10940 i=INT(RND(1)*200+1):? "The Goblin greedily eats it!"
10950IF h<i THEN ?:GOTO 10320
10960? "and dies of terminal digestion":?: mk=mk+1
10970 b(lc)=0: a(lc)=12:GOSUB 16000:GOSUB 7000:GOTO 900
10980? "What would a bird want with "; h:? "pieces of gold?!"
10990GOTO 10320
10995? "You do not have "; h:? "pieces of gold!":GOSUB 5360:GOTO 10320
11000?:? "YOUR CHAMPION?"
11010IF br=1 THEN ? "1.---Brombiran"
11020IF dg=1 THEN ? "2.---Dagglette"
11030IF g1=1 THEN ? "3.---Gromphlur"
11040IF ru=1 THEN ? "4.---Rulf"
11050IF sj=1 THEN ? "5.---Sejjan"
11060IF js=1 THEN ? "6.---Jessan"
11070IF al=1 THEN ? "7.---Allegrecia"
11080IF pm=1 THEN ? "8.---Princess Melva"
11090? "9.---"; n$
11100INPUT ch: ch=INT(ch):IF ch<1 OR ch>9 THEN 11100
11110IF ch=1 AND br=1 THEN 11210
11120IF ch=2 AND dg=1 THEN 11220
11130IF ch=3 AND g1=1 THEN 11230
11140IF ch=4 AND ru=1 THEN 11240
11150IF ch=5 AND sj=1 THEN 11250
11160IF ch=6 AND js=1 THEN 11260
11170IF ch=7 AND al=1 THEN 11270
11180IF ch=8 AND pm=1 THEN 11280
11190IF ch=9 THEN 11290
11200? "INVALID COMMAND":GOTO 11010
11210 i=50:GOTO 11300
11220 i=55:GOTO 11300
11230 i=45:GOTO 11300
11240 i=85:GOTO 11300
11250 i=25:GOTO 11300
11260 i=50:GOTO 11300
11270 i=50:GOTO 11300
11280 i=40:GOTO 11300
11290 i=75
11300 h=i*c(ch): c(ch)=c(ch)-.1:GOSUB 5000
11310?:?: rs=INT(RND(1)*100+1)
11320IF fo=4 THEN 11390
11330IF fo=5 THEN 11490
11340IF rs>h THEN 11390
11350? "The "; :IF fo=1 THEN ? "Dragon"; 
11360IF fo=2 THEN ? "Gargoyle"; 
11370IF fo=3 THEN ? "Goblin"; 
11380? " is slain!": mk=mk+1: b(lc)=0: a(lc)=12:?:GOSUB 16000:GOSUB 7000:GOTO 900
11390IF ch=1 THEN ? "Brombiran"; : br=0
11400IF ch=2 THEN ? "Dagglette"; : dg=0
11410IF ch=3 THEN ? "Gromphlur"; : g1=0
11420IF ch=4 THEN ? "Rulf"; : ru=0
11430IF ch=5 THEN ? "Sejjan"; : sj=0
11440IF ch=6 THEN ? "Jessan"; : js=0
11450IF ch=7 THEN ? "Allegrecia"; : al=0
11460IF ch=8 THEN ? "Princess Melva"; : pm=0
11470IF ch=9 THEN ? n$; " is slain!": sc=sc-i:? "GAME OVER!":GOTO 1050
11480 c(ch)=0:? " is slain!": sc=sc-i:?:GOTO 10320
11490? "The Dwarf is slain!":?: mk=mk+1: b(lc)=0: a(lc)=12:GOSUB 16000:GOSUB 7240:GOSUB 7000:GOTO 900
11500 q=INT(RND(1)*100+1):IF fo=1 THEN 11550
11510IF fo=2 THEN 11600
11520IF fo=3 THEN 11350
11530IF fo=4 THEN 11390
11540IF fo=5 THEN 11490
11550IF q<65 THEN 11350
11560? "This Dragon is immune to your  sword!":?:GOSUB 5000
11570? "It attacks the Magic Chariot!":?:GOSUB 5000
11580GOSUB 5360:IF q<80 THEN 10320
11590? "Your Magic Sword is destroyed!":?: sw=0: sc=sc-50:GOTO 10320
11600IF q<50 THEN 11350
11610? "The Gargoyle draws its own     Magic Sword!":?:GOSUB 5000
11620GOTO 11580
11630IF fo=1 THEN 11350
11640IF fo=3 THEN 11670
11650? "No one is particularly         impressed with your talent":?
11660GOTO 10320
11670 q=INT(RND(1)*10+1):IF q>5 THEN 11350
11680GOSUB 5360:GOTO 10320
11699REM             wall
11700?:? "You just ran into a brick wall":?
11710 qq=INT(RND(1)*3+1)+qq:IF qq<7 THEN GOSUB 5360
11720IF qq>10 THEN 11750
11730 a(lc)=b(lc):IF xx=13 THEN  lc=lc-20:IF lc<0 THEN  lc=0:GOTO 11740
11735 lc=lc+20:IF lc>100 THEN  lc=100
11740? "The Magic Chariot is hurled    backwards!":GOTO 4250
11750? "The Magic Chariot is reduced toa pile of junk!":?
11760GOSUB 5000
11770? "You and your entire party are  DEAD!":?: sc=sc/10:GOTO 1050
11780FOR x=33 TO 47:POKE 16954, x:HOME:NEXT:POKE 16954, 32:VTAB 13:? "The Magic Chariot has blown   "
11790? "into a thick, mysterious fog! ": a(lc)=15: lc=INT(RND(1)*50+1)+30
11795? "The fog clears": zz=a(lc): a(lc)=12:GOSUB 16000:GOSUB 7000:GOTO 900
11800?:? "A gigantic boulder blocks your path!":?
11810 r=INT(RND(1)*4+1)
11820 a(lc)=27: zz=27
11830INPUT "WHICH WAY TO GO?"; m$: m$=LEFT$(m$, 1)
11840 m=m+1
11850IF m$="D" OR m$="d" AND r=1 THEN 1000
11860IF m$="U" OR m$="u" AND r=2 THEN 1190
11870IF m$="R" OR m$="r" AND r=3 THEN 1200
11880IF m$="L" OR m$="l" AND r=4 THEN 1220
11885GOSUB 7240:VTAB 13
11890? "The boulder is in your way!":?
11895FOR x=1 TO 9: c(x)=c(x)-(c(x)/20):NEXT:GOTO 11830
15000HTAB (16-LEN(ti$)/2):? ti$:RETURN
16000 ti$="press any key to continue":VTAB 23:GOSUB 15000
16010IF PEEK(64885)<>13 THEN POKE 64885, 13:VTAB 1:RETURN
16020 fk=RND(1):GOTO 16010
17000GR
17005FOR i=0 TO 39
17006 x=INT(RND(1)*15+1):IF x=2 THEN 17006
17007COLOR =x:HLIN 0, 39 AT i
17008NEXT
17009COLOR =0
17010VLIN 5, 19 AT 4:VLIN 5, 19 AT 5:HLIN 6, 9 AT 5:HLIN 6, 9 AT 6:HLIN 6, 8 AT 11:HLIN 6, 8 AT 12
17020VLIN 5, 19 AT 11:VLIN 5, 19 AT 12:HLIN 13, 15 AT 18:HLIN 13, 15 AT 19
17030VLIN 5, 18 AT 17:VLIN 5, 18 AT 18:VLIN 5, 18 AT 21:VLIN 5, 18 AT 22:HLIN 19, 20 AT 18:HLIN 18, 21 AT 19
17040VLIN 5, 19 AT 26:VLIN 5, 19 AT 27:HLIN 24, 29 AT 5:HLIN 24, 29 AT 6
17050VLIN 5, 19 AT 31:VLIN 5, 19 AT 32:HLIN 33, 35 AT 5:HLIN 33, 35 AT 6:HLIN 33, 34 AT 11:HLIN 33, 34 AT 12:HLIN 33, 35 AT 18
17060HLIN 33, 35 AT 19
17080GOSUB 18000
17090RETURN
18000FOR i=1 TO 2000:NEXT:RETURN
20000TEXT: ti$="FLUTE SCOREBOARD FILEMAKER":?:GOSUB 15000:?
20010? "Hit 'Store/Get' to create file for Best Five Scores":?
20020? "This File should only be made  once.  If you already have a   'flutescore' file, hit <s>"
20030VTAB 21: ti$="MAKE SELECTION NOW!":GOSUB 15000:GET a$
20035IF a$<>CHR$(147) AND a$<>CHR$(155) THEN RETURN
20040? CHR$(4); "open flutescore"
20050? CHR$(4); "write flutescore"
20055FOR i=1 TO 5: d$(i)="*****":NEXT i
20060FOR i=1 TO 5
20062? d(i)
20065? d$(i)
20068NEXT i
20070HTAB 2
20080? CHR$(4); "close flutescore"
20095RETURN
