10 ' Dungeon Game by AO 20 DIM FL$(18):DIM FR$(18):DIM FM$(10):DIM MR$(10):DIM ML$(10):DIM MM$(6) 30 DIM BL$(6):DIM BR$(6) 40 INPUT "Would you like to use a custom wall design";A$ 50 IF MID$(A$,1,1)="Y" OR MID$(A$,1,1)="y" THEN GOTO 70 60 CLS:LET WALLFILE$="default.wal":GOTO 110 70 INPUT "Enter the name of the file (default extension .WAL)";WALLFILE$ 80 IF LEN(WALLFILE$)<4 THEN 100 90 IF MID$(WALLFILE$,(LEN(WALLFILE$)-3),1)="." THEN 110 100 LET WALLFILE$=WALLFILE$+".wal" 110 OPEN WALLFILE$ FOR INPUT AS #1:CLS 120 FOR X=1 TO 18 130 LINE INPUT #1,FL$(X) 140 NEXT X 150 FOR X=1 TO 18 160 LINE INPUT #1,FR$(X) 170 NEXT X 180 FOR X=1 TO 10 190 LINE INPUT #1,FM$(X) 200 NEXT X 210 FOR X=1 TO 10 220 LINE INPUT #1,ML$(X) 230 NEXT X 240 FOR X=1 TO 10 250 LINE INPUT #1,MR$(X) 260 NEXT X 270 FOR X=1 TO 6 280 LINE INPUT #1,MM$(X) 290 NEXT X 300 FOR X=1 TO 6 310 LINE INPUT #1,BL$(X) 320 NEXT X 330 FOR X=1 TO 6 340 LINE INPUT #1,BR$(X) 350 NEXT X 355 CLOSE #1 360 INPUT "Your name, bold adventurer";NME$ 370 INPUT "Strength";STRE 380 INPUT "Intelligence";INTE 390 INPUT "Dexterity";DEXT 400 INPUT "Wisdom";WISD 410 INPUT "Constitution";CONS 420 INPUT "Charisma";CARI 430 RANDOMIZE 440 INPUT "Would you like to read the instructions";A$ 450 A$=MID$(A$,1,1) 460 IF A$="y" THEN GOSUB 1850 470 IF A$="Y" THEN GOSUB 1850 480 LET HP=STRE+CONS+INT(RND*12)+1 490 LET SX=INT(RND*10)+1 500 IF ABS(SX-5)<3 GOTO 490 510 LET SY=INT(RND*10)+1 520 IF ABS(SY-5)<3 GOTO 510 530 DIM RPG(20,20) 540 ' 0 = empty room 7 = H+T+M 550 ' 1 = monster 8 = wall 560 ' 2 = treasure 570 ' 3 = t+m 580 ' 4 = Healing Potion 590 ' 5 = H+M 600 ' 6 = H+T 610 FOR X=2 TO 19 620 FOR Y=2 TO 19 630 LET RPG(X,Y)=INT(RND*12) 640 IF RPG(X,Y)=9 THEN LET RPG(X,Y)=8 650 IF RPG(X,Y)=10 THEN LET RPG(X,Y)=0 660 IF RPG(X,Y)=11 THEN LET RPG(X,Y)=1 670 IF INT(RND*2)=0 AND RPG(X,Y)>3 THEN LET RPG(X,Y)=RPG(X,Y)-4 680 IF INT(RND*2)=0 AND RPG(X,Y)=4 THEN LET RPG(X,Y)=8 690 IF X=2 THEN LET RPG(X,Y)=8 700 IF Y=2 THEN LET RPG(X,Y)=8 710 IF X=19 THEN LET RPG(X,Y)=8 720 IF Y=19 THEN LET RPG(X,Y)=8 730 NEXT Y 740 NEXT X 750 LET PX=10: LET PY=10 760 IF RPG(PX,PY)=8 THEN LET PY=PY+1:GOTO 760 770 LET RPG(SX,SY)=0 780 GOSUB 2070 790 IF PX=SX AND PY=SY THEN GOSUB 4000:IF RPG(PX,PY) MOD 2=0 THEN 4090 800 COMM$=INKEY$:IF COMM$="" THEN 800 810 LET CNUM=0:IF ASC(MID$(COMM$,1,1))=0 THEN LET CNUM=ASC(MID$(COMM$,2,1)) 820 IF CNUM=71 THEN LET COMM$="7" 830 IF CNUM=72 THEN LET COMM$="8" 840 IF CNUM=73 THEN LET COMM$="9" 850 IF CNUM=75 THEN LET COMM$="4" 860 IF CNUM=77 THEN LET COMM$="6" 870 IF CNUM=76 THEN LET COMM$="5" 880 IF CNUM=81 THEN LET COMM$="3" 890 IF CNUM=79 THEN LET COMM$="1" 900 IF CNUM=80 THEN LET COMM$="2" 910 IF COMM$="4" THEN LET DRCTN=DRCTN-1:GOSUB 2070 920 IF COMM$="6" THEN LET DRCTN=DRCTN+1:GOSUB 2070 930 IF DRCTN>4 THEN LET DRCTN=DRCTN-4 940 IF DRCTN<1 THEN LET DRCTN=DRCTN+4 950 IF DRCTN MOD 4=0 THEN LET EIGHT$="Nz":LET TWO$="Sz" 960 IF DRCTN MOD 4=1 THEN LET EIGHT$="Ez":LET TWO$="Wz" 970 IF DRCTN MOD 4=2 THEN LET EIGHT$="Sz":LET TWO$="Nz" 980 IF DRCTN MOD 4=3 THEN LET EIGHT$="Wz":LET TWO$="Ez" 990 IF COMM$="8" THEN LET COMM$=EIGHT$ 1000 IF COMM$="2" THEN LET COMM$=TWO$ 1010 IF COMM$="Nz" THEN GOSUB 1160 1020 IF COMM$="Sz" THEN GOSUB 1240 1030 IF COMM$="Ez" THEN GOSUB 1310 1040 IF COMM$="Wz" THEN GOSUB 1380 1050 IF COMM$="Q" OR COMM$="q" THEN SYSTEM 1060 IF COMM$="F" OR COMM$="f" THEN GOSUB 1450 1070 IF COMM$="5" THEN GOSUB 1450 1080 IF COMM$="7" THEN GOSUB 1530 1090 IF COMM$="9" THEN GOSUB 2020 1100 IF COMM$="H" OR COMM$="h" THEN CLS:GOSUB 1890:GOSUB 2070 1110 IF COMM$="3" THEN GOSUB 1650 1120 IF COMM$="1" THEN GOSUB 1780 1130 IF COMM$="I" OR COMM$="i" THEN GOSUB 1580 1140 IF COMM$="~" THEN GOTO 4110 1150 GOTO 790 1160 IF RPG(PX-1,PY)=8 THEN GOSUB 3900:RETURN 1170 LET SILENT=1 1180 IF RPG(PX,PY) MOD 2=1 THEN GOSUB 1730 1190 IF SILENT=0 THEN GOSUB 3910:RETURN 1200 LET PX=PX-1 1210 IF RPG(PX,PY) MOD 2=1 THEN LET MONS=INT(RND*5)+1 1220 GOSUB 2070:IF TEMP=1 THEN GOSUB 4030 1230 LET TEMP=0:RETURN 1240 IF RPG(PX+1,PY)=8 THEN GOSUB 3900:RETURN 1250 LET SILENT=1 1260 IF RPG(PX,PY) MOD 2=1 THEN GOSUB 1730 1270 IF SILENT=0 THEN GOSUB 3910:RETURN 1280 LET PX=PX+1 1290 IF RPG(PX,PY) MOD 2=1 THEN LET MONS=INT(RND*5)+1 1300 GOSUB 2070:RETURN 1310 IF RPG(PX,PY+1)=8 THEN GOSUB 3900:RETURN 1320 LET SILENT=1 1330 IF RPG(PX,PY) MOD 2=1 THEN GOSUB 1730 1340 IF SILENT=0 THEN GOSUB 3910:RETURN 1350 LET PY=PY+1 1360 IF RPG(PX,PY) MOD 2=1 THEN LET MONS=INT(RND*5)+1 1370 GOSUB 2070:RETURN 1380 IF RPG(PX,PY-1)=8 THEN GOSUB 3900:RETURN 1390 LET SILENT=1 1400 IF RPG(PX,PY) MOD 2=1 THEN GOSUB 1730 1410 IF SILENT=0 THEN GOSUB 3910:RETURN 1420 LET PY=PY-1 1430 IF RPG(PX,PY) MOD 2=1 THEN LET MONS=INT(RND*5)+1 1440 GOSUB 2070:RETURN 1450 IF RPG(PX,PY) MOD 2=0 THEN GOSUB 3930:RETURN 1460 LET A=INT(RND*STRE) 1470 IF A>7 THEN GOSUB 3920: LET MONS=MONS-1 1480 LET N=INT(RND*3)+1 1490 IF A<8 THEN GOSUB 3960:LET HP=HP-N 1500 IF MONS=0 THEN LET RPG(PX,PY)=RPG(PX,PY)-1:GOSUB 3970 1510 IF HP<1 THEN GOSUB 4020: STOP 1520 RETURN 1530 IF RPG(PX,PY) MOD 4<2 THEN GOSUB 3940:RETURN 1540 IF RPG(PX,PY) MOD 4=3 THEN GOSUB 4010:RETURN 1550 LET TREAS=TREAS+INT(RND*50)+CARI 1560 LET RPG(PX,PY)=RPG(PX,PY)-2 1570 GOSUB 3980:RETURN 1580 CLS:COLOR 3:PRINT "Your current stats are: " 1590 PRINT " STR:";STRE;" WIS:";WISD 1600 PRINT " INT:";INTE;" CON:";CONS 1610 PRINT " DEX:";DEXT;" CHA:";CARI 1620 PRINT " HP:";HP;" GP:";TREAS;" Potions Available:";POTIONS 1630 A$=INKEY$:IF A$="" THEN 1630 1640 COLOR 7:GOSUB 2070:RETURN 1650 IF RPG(PX,PY)<4 AND POTIONS=0 GOTO 1720 1660 IF RPG(PX,PY)<4 THEN LET POTIONS=POTIONS-1:GOTO 1690 1670 IF RPG(PX,PY) MOD 2=1 THEN GOSUB 4010:RETURN 1680 IF RPG(PX,PY)>3 THEN LET RPG(PX,PY)=RPG(PX,PY)-4 1690 LET HP=HP+INT((RND*10+10)/HP)+1 1700 IF INT(RND*10)=0 THEN LET STRE=INT(STRE+50/STRE) 1710 GOSUB 3990:RETURN 1720 GOSUB 3950:RETURN 1730 LET N=INT(RND*5)+DEXT 1740 LET M=RND*30 1750 IF MTREAS THEN GOSUB 4080:RETURN 1830 GOSUB 4060:LET RPG(PX,PY)=RPG(PX,PY)-1:LET TREAS=TREAS-GTEMP 1840 RETURN 1850 PRINT " Welcome, noble adventurer, to the caves of Morfax Terre." 1860 PRINT "Your object is to discover the mystical Sword of Taerdall," 1870 PRINT "a legendary healer. Your journey will be impeded by mons-" 1880 PRINT "ters, dead ends, treasure and magical elixirs." 1890 PRINT " The commands you may use are as follows:" 1900 PRINT " __________________________ 1910 PRINT " | Get | | Get | " 1920 PRINT " H = this |Treasure| Ahead | Potion | " 1930 PRINT " message |________|________|________| " 1940 PRINT " | | | | " 1950 PRINT " Q = Quit | Left | Fight | Right | " 1960 PRINT " |________|________|________| " 1970 PRINT " I = Stats | Bribe | | Drink | " 1980 PRINT " | Monster| Back | Potion | " 1990 PRINT " |________|________|________| " 2000 A$=INKEY$:IF A$="" GOTO 2000 2010 RETURN 2020 IF RPG(PX,PY)<4 THEN GOSUB 3950:RETURN 2030 IF RPG(PX,PY) MOD 2=1 THEN GOSUB 4010:RETURN 2040 LET RPG(PX,PY)=RPG(PX,PY)-4 2050 LET POTIONS=POTIONS+1:GOSUB 4040 2060 RETURN 2070 CLS 2080 PRINT" .-----------------------------------------------. " 2090 PRINT" | | Stats " 2100 PRINT" | |" 2110 PRINT" | | Str:";STRE 2120 PRINT" | | Int:";INTE 2130 PRINT" | | Wis:";WISD 2140 PRINT" | | Dex:";DEXT 2150 PRINT" | | Con:";CONS 2160 PRINT" | | Cha:";CARI 2170 PRINT" | |" 2180 PRINT" | | GP:";TREAS 2190 PRINT" | | " 2200 PRINT" | | HP:";HP 2210 PRINT" | | " 2220 PRINT" | | Potions:";POTIONS 2230 PRINT" | | " 2240 PRINT" | | " 2250 PRINT" | | " 2260 PRINT" | | " 2270 PRINT" l--------------------------------------.=/-\=.--l " 2280 PRINT" l |( )| | " 2290 PRINT" `--------------------------------------`=\-/='--' " 2300 IF RPG(PX,PY) MOD 2=1 THEN GOSUB 3530 ' monster 2310 IF PX=SX AND PY=SY THEN GOSUB 3860 ' Sword 2320 IF RPG(PX,PY)>3 THEN GOSUB 3580 ' potion 2330 IF RPG(PX,PY) MOD 4=2 THEN GOSUB 3630 ' treasure 2340 IF RPG(PX,PY) MOD 4=3 THEN GOSUB 3630 ' treasure 2350 IF DRCTN MOD 4=0 THEN LOCATE 21,51:PRINT "A":GOSUB 2400 2360 IF DRCTN MOD 4=1 THEN LOCATE 21,51:PRINT ">":GOSUB 2570 2370 IF DRCTN MOD 4=2 THEN LOCATE 21,51:PRINT "V":GOSUB 2740 2380 IF DRCTN MOD 4=3 THEN LOCATE 21,51:PRINT "<":GOSUB 2910 2390 RETURN 2400 IF RPG(PX-2,PY)>3 THEN GOSUB 3680 ' far potion 2410 IF RPG(PX-2,PY) MOD 2=1 THEN GOSUB 3700 ' far monster 2420 IF RPG(PX-2,PY) MOD 4>1 THEN GOSUB 3720 ' far treasure 2430 IF PX-2=SX AND PY=SY THEN GOSUB 3840 ' far Sword 2440 IF RPG(PX-1,PY) MOD 4>1 THEN GOSUB 3810 ' near treasure 2450 IF RPG(PX-1,PY)>3 THEN GOSUB 3740 ' near potion 2460 IF PX-1=SX AND PY=SY THEN GOSUB 3850 ' near Sword 2470 IF RPG(PX-2,PY-1)=8 THEN GOSUB 3080 ' back left wall 2480 IF RPG(PX-2,PY+1)=8 THEN GOSUB 3120 ' back right wall 2490 IF RPG(PX-2,PY)=8 THEN GOSUB 3190 ' mid facing wall 2500 IF RPG(PX-1,PY) MOD 2=1 THEN GOSUB 3770 ' near monster 2510 IF RPG(PX-1,PY-1)=8 THEN GOSUB 3230 ' mid left wall 2520 IF RPG(PX-1,PY+1)=8 THEN GOSUB 3270 ' mid right wall 2530 IF RPG(PX-1,PY)=8 THEN GOSUB 3350 ' front facing wall 2540 IF RPG(PX,PY-1)=8 THEN GOSUB 3390 ' front left wall 2550 IF RPG(PX,PY+1)=8 THEN GOSUB 3430 ' front right wall 2560 RETURN 2570 IF RPG(PX,PY+2)>3 THEN GOSUB 3680 ' far potion 2580 IF RPG(PX,PY+2) MOD 2=1 THEN GOSUB 3700 ' far monster 2590 IF RPG(PX,PY+2) MOD 4>1 THEN GOSUB 3720 ' far treasure 2600 IF PX=SX AND PY+2=SY THEN GOSUB 3840 ' far Sword 2610 IF RPG(PX,PY+1) MOD 4>1 THEN GOSUB 3810 ' near treasure 2620 IF RPG(PX,PY+1)>3 THEN GOSUB 3740 ' near potion 2630 IF PX=SX AND PY+1=SY THEN GOSUB 3850 ' near Sword 2640 IF RPG(PX-1,PY+2)=8 THEN GOSUB 3080 ' back left wall 2650 IF RPG(PX+1,PY+2)=8 THEN GOSUB 3120 ' back right wall 2660 IF RPG(PX,PY+2)=8 THEN GOSUB 3190 ' mid facing wall 2670 IF RPG(PX-1,PY+1)=8 THEN GOSUB 3230 ' mid left wall 2680 IF RPG(PX+1,PY+1)=8 THEN GOSUB 3270 ' mid right wall 2690 IF RPG(PX,PY+1)=8 THEN GOSUB 3350 ' front facing wall 2700 IF RPG(PX,PY+1) MOD 2=1 THEN GOSUB 3770 ' near monster 2710 IF RPG(PX-1,PY)=8 THEN GOSUB 3390 ' front left wall 2720 IF RPG(PX+1,PY)=8 THEN GOSUB 3430 ' front right wall 2730 RETURN 2740 IF RPG(PX+2,PY)>3 THEN GOSUB 3680 ' far potion 2750 IF RPG(PX+2,PY) MOD 2=1 THEN GOSUB 3700 ' far monster 2760 IF RPG(PX+2,PY) MOD 4>1 THEN GOSUB 3720 ' far treasure 2770 IF PX+2=SX AND PY=SY THEN GOSUB 3840 ' far Sword 2780 IF RPG(PX+1,PY)>3 THEN GOSUB 3740 ' near potion 2790 IF RPG(PX+1,PY) MOD 4>1 THEN GOSUB 3810 ' near treasure 2800 IF PX+1=SX AND PY=SY THEN GOSUB 3850 ' near Sword 2810 IF RPG(PX+2,PY+1)=8 THEN GOSUB 3080 ' back left wall 2820 IF RPG(PX+2,PY-1)=8 THEN GOSUB 3120 ' back right wall 2830 IF RPG(PX+2,PY)=8 THEN GOSUB 3190 ' mid facing wall 2840 IF RPG(PX+1,PY+1)=8 THEN GOSUB 3230 ' mid left wall 2850 IF RPG(PX+1,PY-1)=8 THEN GOSUB 3270 ' mid right wall 2860 IF RPG(PX+1,PY)=8 THEN GOSUB 3350 ' front facing wall 2870 IF RPG(PX+1,PY) MOD 2=1 THEN GOSUB 3770 ' near monster 2880 IF RPG(PX,PY+1)=8 THEN GOSUB 3390 ' front left wall 2890 IF RPG(PX,PY-1)=8 THEN GOSUB 3430 ' front right wall 2900 RETURN 2910 IF RPG(PX,PY-2)>3 THEN GOSUB 3680 ' far potion 2920 IF RPG(PX,PY-2) MOD 2=1 THEN GOSUB 3700 ' far monster 2930 IF RPG(PX,PY-2) MOD 4>1 THEN GOSUB 3720 ' far treasure 2940 IF PX=SX AND PY-2=SY THEN GOSUB 3840 ' far Sword 2950 IF 8>RPG(PX,PY-1) AND RPG(PX,PY-1)>3 THEN GOSUB 3740 ' near potion 2960 IF RPG(PX,PY-1) MOD 4>1 THEN GOSUB 3810 ' near treasure 2970 IF PX=SX AND PY-1=SY THEN GOSUB 3850 ' near Sword 2980 IF RPG(PX+1,PY-2)=8 THEN GOSUB 3080 ' back left wall 2990 IF RPG(PX-1,PY-2)=8 THEN GOSUB 3120 ' back right wall 3000 IF RPG(PX,PY-2)=8 THEN GOSUB 3190 ' mid facing wall 3010 IF RPG(PX+1,PY-1)=8 THEN GOSUB 3230 ' mid left wall 3020 IF RPG(PX-1,PY-1)=8 THEN GOSUB 3270 ' mid right wall 3030 IF RPG(PX,PY-1)=8 THEN GOSUB 3350 ' front facing wall 3040 IF RPG(PX,PY-1) MOD 2=1 THEN GOSUB 3770 ' near monster 3050 IF RPG(PX+1,PY)=8 THEN GOSUB 3390 ' front left wall 3060 IF RPG(PX-1,PY)=8 THEN GOSUB 3430 ' front right wall 3070 RETURN 3080 FOR Z=1 TO 6 3090 LOCATE (Z+4),10:PRINT BL$(Z) 3100 NEXT Z 3110 RETURN 3120 LOCATE 5,37:PRINT BR$(1) 3130 LOCATE 6,35:PRINT BR$(2) 3140 LOCATE 7,35:PRINT BR$(3) 3150 LOCATE 8,35:PRINT BR$(4) 3160 LOCATE 9,35:PRINT BR$(5) 3170 LOCATE 10,37:PRINT BR$(6) 3180 RETURN 3190 FOR Z=1 TO 6 3200 LOCATE (Z+4),29:PRINT MM$(Z) 3210 NEXT Z 3220 RETURN 3230 FOR Z=1 TO 10 3240 LOCATE (Z+2),10:PRINT ML$(Z) 3250 NEXT Z 3260 RETURN 3270 LOCATE 3,41:PRINT MR$(1) 3280 LOCATE 4,39:PRINT MR$(2) 3290 FOR Z=1 TO 6 3300 LOCATE (Z+4),38:PRINT MR$(Z+2) 3310 NEXT Z 3320 LOCATE 11,39:PRINT MR$(9) 3330 LOCATE 12,41:PRINT MR$(10) 3340 RETURN 3350 FOR Z=1 TO 10 3360 LOCATE (Z+2),24:PRINT FM$(Z) 3370 NEXT Z 3380 RETURN 3390 FOR Z=1 TO 18 3400 LOCATE (Z+1),10:PRINT FL$(Z) 3410 NEXT Z 3420 RETURN 3430 FOR Z=1 TO 12 3440 LOCATE (Z+1),43:PRINT FR$(Z) 3450 NEXT Z 3460 LOCATE 14,45:PRINT FR$(13) 3470 LOCATE 15,47:PRINT FR$(14) 3480 LOCATE 16,49:PRINT FR$(15) 3490 LOCATE 17,51:PRINT FR$(16) 3500 LOCATE 18,53:PRINT FR$(17) 3510 LOCATE 19,55:PRINT FR$(18) 3520 RETURN 3530 LOCATE 14,27:PRINT ".:0;." 3540 LOCATE 15,27:PRINT "|i\!|" 3550 LOCATE 16,27:PRINT "`|||'" 3560 LOCATE 17,28:PRINT "I'I" 3570 RETURN 3580 LOCATE 15,37:PRINT "__" 3590 LOCATE 16,35:PRINT ".-||-." 3600 LOCATE 17,35:PRINT "`/^^\'" 3610 LOCATE 18,36:PRINT "`--'" 3620 RETURN 3630 LOCATE 16,21:PRINT ".---." 3640 LOCATE 17,18:PRINT ".-'-./X|" 3650 LOCATE 18,18:PRINT "|`-'|X/'" 3660 LOCATE 19,18:PRINT "`~~~~'" 3670 RETURN 3680 LOCATE 9,34:PRINT "+" 3690 RETURN 3700 LOCATE 9,33:PRINT "i" 3710 RETURN 3720 LOCATE 9,32:PRINT "%" 3730 RETURN 3740 LOCATE 11,36:PRINT ".i." 3750 LOCATE 12,36:PRINT "(_)" 3760 RETURN 3770 LOCATE 10,32:PRINT "_o_" 3780 LOCATE 11,32:PRINT "ISI" 3790 LOCATE 12,32:PRINT "!";CHR$(34);"!" 3800 RETURN 3810 LOCATE 11,28:PRINT "/~7" 3820 LOCATE 12,27:PRINT "`-'" 3830 RETURN 3840 LOCATE 9,34:PRINT "r":RETURN 3850 LOCATE 11,35:PRINT "_":LOCATE 12,34:PRINT "/`":RETURN 3860 LOCATE 16,30:PRINT "._,/" 3870 LOCATE 17,31:PRINT "/`-" 3880 LOCATE 18,29:PRINT "/'" 3890 RETURN 3900 GOSUB 2070:LOCATE 21,12:PRINT "You can't go that way! ":RETURN 3910 GOSUB 2070:LOCATE 21,12:PRINT "The monster blocks your way! ":RETURN 3920 GOSUB 2070:LOCATE 21,12:PRINT "You strike, slashing wildly. ":RETURN 3930 GOSUB 2070:LOCATE 21,12:PRINT " You see no monster here. ":RETURN 3940 GOSUB 2070:LOCATE 21,12:PRINT " There is no treasure here. ":RETURN 3950 GOSUB 2070:LOCATE 21,12:PRINT " You see no potion here. ":RETURN 3960 GOSUB 2070:LOCATE 21,12:PRINT "The beast lunges, wounding you.":RETURN 3970 GOSUB 2070:LOCATE 21,12:PRINT "The monster lies slain. ":RETURN 3980 GOSUB 2070:LOCATE 21,12:PRINT "You put the gold in your pouch.":RETURN 3990 GOSUB 2070:LOCATE 21,12:PRINT "You feel invigorated. ":RETURN 4000 GOSUB 2070:LOCATE 21,12:PRINT "You have reached the Sword! ":RETURN 4010 GOSUB 2070:LOCATE 21,12:PRINT " The monster prevents you. ":RETURN 4020 GOSUB 2070:LOCATE 21,12:PRINT " You have died. ":RETURN 4030 GOSUB 2070:LOCATE 21,12:PRINT "You slip by the ravening beast.":RETURN 4040 GOSUB 2070:LOCATE 21,12:PRINT "You put the flask in your pack.":RETURN 4050 GOSUB 2070:LOCATE 21,12:PRINT "You have no gold to offer! ":RETURN 4060 GOSUB 2070:LOCATE 21,12:PRINT "The monster accepts your bribe.":RETURN 4070 GOSUB 2070:LOCATE 21,12:PRINT "The monster refuses your money.":RETURN 4080 GOSUB 2070:LOCATE 21,12:PRINT " You don't have that much gold!":RETURN 4090 ' Endgame sequence goes here. 4100 STOP 4110 CLS:INPUT "Name of Gamefile";GAM$ 4120 OPEN GAM$ FOR INPUT AS #1 4140 FOR X=2 TO 19 4150 LINE INPUT #1, A$ 4160 FOR Y=2 TO 19 4170 LET RPG(X,Y)=ASC(MID$(A$,Y,1))-48 4180 NEXT Y 4190 NEXT X 4200 INPUT #1, PX,PY 4210 INPUT #1, SX,SY 4220 GOTO 780 4230 END