00010 letj4=1 00030 print 00100 rembase0 00110 letx=0 00120 letj=0 00130 letk=0 00140 x1=0 00150 letx3=0 00160 remletj9=rnd(clk(j9)) 00170 dimc(7),c$(7),w(50),d(25,25),p(50),i$(50),b(10,6),b$(50) 00180 dime(50),f(50),x5(50),x6(50),x2(50),x4(50) 00190 letg=int(rnd(1)*24+2) 00200 leth=int(rnd(1)*24+2) 00270 data"str","dex","con","char","wis","int","gold" 00280 data"sword",10,"2-h-sword",15,"dagger",3,"mace",5 00290 data"spear",2,"bow",25,"arrows",2,"leather mail",15 00300 data"chainmail",30,"tltemail",50,"rope",1,"spokes",1 00310 data"flask of oil",2,"silver cross",25,"spare food",5 00320 print"dungeons and dragons#1" 00330 print 00340 print"do you need instuctions"; 00350 inputq$ 00360 ifq$="yes"goto01730 00370 ifq$="y"goto01730 00380 print"old or new game"; 00390 inputq$ 00400 ifq$="old"goto01770 00410 print"dungeon#"; 00420 inputd 00421 print"continues reset 1=yes,2=no"; 00422 inputj6 00430 remrollingcharacteristics 00440 print"players nme"; 00450 inputn$ 00460 ifn$<>"shavs"goto01730 00465 form=1to7 00466 readc$(m) 00467 nextm 00470 form=1to7 00490 forn=1to3 00500 letr=int(rnd(1)*6+1) 00510 letc(m)=c(m)+r 00520 nextn 00530 ifm<>7goto00550 00540 letc(m)=c(m)*15 00550 rem 00560 printc$(m);"=";c(m) 00570 nextm 00580 print 00590 print"classification" 00600 print"which do you want to be" 00610 print"fighter,cleric,or wizard"; 00620 inputc$(0) 00625 ifc$(0)<>"none"goto0630 00626 form7=0to7 00627 letc(m7)=0 00628 nextm7 00629 goto00470 00630 ifc$(0)="fighter"goto00770 00640 ifc$(0)="cleric"goto00810 00650 ifc$(0)="wizard"goto00790 00660 goto00620 00670 print"buying weapons" 00680 print"fast or norm" 00690 inputq3$ 00700 print"number","item","price" 00705 print"-1-stop" 00710 form=1to15 00720 readi$(m),p(m) 00725 ifq3$="fast"goto00740 00730 printm,i$(m),p(m) 00740 nextm 00750 gosub01150 00760 goto00830 00770 letc(0)=int(rnd(1)*8+1) 00780 goto00670 00790 letc(0)=int(rnd(1)*4+1) 00800 goto00670 00810 letc(0)=int(rnd(1)*6+1) 00820 goto00670 00830 rem 00850 letx=x+1 00860 inputy 00870 rem 00880 ify<0goto01000 00885 ify>15goto01000 00890 ifc(7)-p(y)<0goto00970 00900 ifc$(0)="cleric"goto01290 00910 ifc$(0)="wizard"goto01350 00920 rem 00930 letc(7)=c(7)-p(y) 00940 print"gp=";c(7) 00950 letw(x)=y 00960 goto00830 00970 print"costs too much" 00980 print"try again"; 00990 goto00860 01000 print"gp=";c(7) 01010 rem 01020 print"eqlist"; 01030 inputq$ 01040 ifq$="no"goto01090 01050 form=1tox 01060 ifw(m)=0goto01080 01070 printw(m),i$(w(m)) 01080 nextm 01090 print"your characteristics are:" 01100 printc$(0) 01101 ifc(0)<>1goto01110 01102 c(0)=2 01110 print"hitpoints",c(0) 01120 print 01130 print 01140 goto01400 01150 data"man",1,13,26,1,1,500 01160 data"goblin",2,13,24,1,1,600 01170 data"troll",3,15,35,1,1,1000 01180 data"skeleton",4,22,12,1,1,50 01190 data"balrog",5,18,110,1,1,5000 01200 data"ochre jelly",6,11,20,1,1,0 01210 data"grey ooze",7,11,13,1,1,0 01220 data"gnome",8,13,30,1,1,100 01230 data"kobold",9,15,16,1,1,500 01240 data"mummy",10,16,30,1,1,1000 01250 form=1to10 01260 readb$(m),b(m,1),b(m,2),b(m,3),b(m,4),b(m,5),b(m,6) 01265 b(m,4)=b(m,3) 01267 b(m,5)=b(m,6) 01269 b(m,1)=1 01270 nextm 01280 return 01290 ify=4goto00920 01300 ify=8goto00920 01310 ify=9goto00920 01320 ify>10goto00920 01330 print"your a cleric you cant use that" 01340 goto00860 01350 ify=3goto00920 01360 ify=8goto00920 01370 ify>10goto00920 01380 print"your a wizard you cant use that" 01390 goto00860 01400 remreaddungeonandstartgame 01401 data1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 01402 forn=0to25:read d(0,n):nextn 01403 data 1,6,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1,6,2,1,1,1,6,1 01404 forn=0to25:read d(1,n):nextn 01405 data 1,0,1,4,1,1,1,0,1,0,1,0,4,0,1,0,1,6,1,1,0,0,1,0,0,1 01406 forn=0to25:read d(2,n):nextn 01407 data 1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,6,2,4,0,0,3,0,0,1 01408 forn=0to25:read d(3,n):nextn 01409 data 1,0,1,6,0,0,1,0,4,0,1,0,1,0,1,0,1,6,1,1,0,0,3,0,0,1 01410 forn=0to25:read d(4,n):nextn 01411 data 1,4,1,1,0,0,1,3,1,4,1,0,1,4,1,0,1,0,1,0,0,1,1,1,0,1 01412 forn=0to25:read d(5,n):nextn 01413 data 1,0,0,0,0,0,2,0,0,0,7,0,0,0,0,0,1,1,1,1,1,1,0,1,0,1 01414 forn=0to25:read d(6,n):nextn 01415 data 1,0,1,3,1,4,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1 01416 forn=0to25:read d(7,n):nextn 01417 data 1,0,1,6,1,0,1,1,1,0,1,0,0,0,0,0,1,1,1,1,1,0,1,1,0,1 01418 forn=0to25:read d(8,n):nextn 01419 data 1,0,1,6,1,0,0,1,0,0,1,4,1,1,1,0,1,0,0,0,0,0,4,0,0,1 01420 forn=0to25:read d(9,n):nextn 01421 data 1,0,1,3,1,0,0,4,0,0,4,0,1,6,1,0,1,0,1,1,0,1,1,1,3,1 01422 forn=0to25:read d(10,n):nextn 01423 data 1,0,1,0,1,0,0,1,0,0,1,0,1,2,1,2,1,0,0,1,0,3,0,0,0,1 01424 forn=0to25:read d(11,n):nextn 01425 data 1,0,1,0,1,0,1,1,1,2,1,0,1,4,1,0,1,1,1,1,4,1,0,6,6,1 01426 forn=0to25:read d(12,n):nextn 01427 data 1,0,0,2,4,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,3,0,0,0,1 01428 forn=0to25:read d(13,n):nextn 01429 data 1,0,1,4,1,1,1,0,1,0,1,0,1,1,1,0,1,1,1,0,0,1,1,1,3,1 01430 forn=0to25:read d(14,n):nextn 01431 data 1,0,1,6,1,6,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,1 01432 forn=0to25:read d(15,n):nextn 01433 data 1,0,1,0,0,0,1,0,1,2,1,0,1,0,1,2,1,2,0,0,2,0,1,0,6,1 01434 forn=0to25:read d(16,n):nextn 01435 data 1,0,1,0,0,0,1,0,1,6,1,2,1,0,1,0,1,0,1,0,0,0,1,0,0,1 01436 forn=0to25:read d(17,n):nextn 01437 data 1,0,1,0,0,0,1,0,1,1,1,0,1,0,1,0,1,1,1,0,0,1,1,1,4,1 01438 forn=0to25:read d(18,n):nextn 01439 data 1,0,0,0,6,0,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1 01440 forn=0to25:read d(19,n):nextn 01441 data 1,0,0,0,0,0,1,0,0,0,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,1 01442 forn=0to25:read d(20,n):nextn 01443 data 1,0,1,4,1,0,1,1,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,0,0,1 01444 forn=0to25:read d(21,n):nextn 01445 data 1,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,1 01446 forn=0to25:read d(22,n):nextn 01447 data 1,0,1,1,1,2,0,0,0,0,0,0,1,0,1,0,1,0,1,1,0,0,0,0,0,1 01448 forn=0to25:read d(23,n):nextn 01449 data 1,0,4,6,1,6,0,1,0,0,0,0,4,0,1,0,1,0,0,4,0,0,0,0,0,1 01450 forn=0to25:read d(24,n):nextn 01451 data 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 01470 remyeastart 01480 print 01490 print 01500 print 01510 print"welcome to dungeon#";d 01520 print"you are at(";g;",";h;")" 01530 print 01540 print"comands list", 01541 inputq$ 01542 ifq$<>"yes"goto01590 01550 print 01560 print"1=move 2=open door 3=search for traps and secret doors" 01570 print"4=switch weapon hand 5=fight" 01580 print"6=look around 7=save game 8=use magic 9=buy magic" 01585 print"0=pass 11=buy h.p." 01590 print"command="; 01600 inputt 01605 ift=11goto10830 01606 ift=12goto11000 01610 ift=1goto02170 01620 ift=2goto03130 01630 ift=3goto03430 01640 ift=4goto03640 01650 ift=5goto03750 01660 ift=6goto06390 01670 ift=7goto06610 01680 ift=8goto08680 01690 ift=9goto09980 01700 ift=10goto10730 01705 ift=0goto07000 01710 print"come on"; 01720 goto01590 01730 reminstructions 01740 print"who said you could play" 01750 end 01760 goto00380 01770 remreadoutoldgame 01775 printchr$(4);"open gmstr":printchr$(4);"read gmstr" 01780 inputd 01790 inputx 01800 inputj 01810 inputg 01820 inputh 01830 inputk 01840 form=0to25 01850 forn=0to25 01860 inputd(m,n) 01870 nextn 01880 nextm 01890 form=1tox 01900 inputw(m) 01910 nextm 01920 form=1to10 01930 inputb$(m) 01940 forn=1to6 01950 inputb(m,n) 01960 nextn 01970 nextm 01980 form=0to7 01990 inputc$(m) 02000 inputc(m) 02010 nextm 02020 inputn$ 02030 inputf1 02040 inputf2 02050 form=1to15 02060 inputi$(m) 02070 nextm 02080 inputx3 02090 form=1tox3 02100 inputx4(m) 02110 nextm 02120 inputx1 02130 form=1tox1 02140 inputx2(m) 02150 nextm 02151 inputf2 02152 inputf1:printchr$(4);"close gmstr" 02160 goto01510 02170 remmove 02175 print"you are at";g;",";h 02180 print"down right left or up" 02190 inputq$ 02200 ifq$="right"goto02260 02205 ifq$="r"goto02260 02210 ifq$="left"goto02290 02215 ifq$="l"goto02290 02220 ifq$="up"goto02320 02225 ifq$="u"goto02320 02230 ifq$="down"goto02350 02235 ifq$="d"goto02350 02240 goto02180 02250 rem 02260 lets=0 02270 lett=1 02280 goto02370 02290 lets=0 02300 lett=-1 02310 goto02370 02320 lets=-1 02330 lett=0 02340 goto02370 02350 lets=1 02360 lett=0 02370 ifd(g+s,h+t)=0goto02430 02380 ifd(g+s,h+t)=1goto02480 02390 ifd(g+s,h+t)=2goto02550 02400 ifd(g+s,h+t)=3goto02990 02401 ifd(g+s,h+t)=7goto02424 02402 ifd(g+s,h+t)=8goto02426 02410 ifd(g+s,h+t)=5goto03060 02411 ifd(g+s,h+t)=6goto02413 02412 goto02480 02413 print"ah......gold......." 02414 g9=int(rnd(1)*500+10) 02415 printg9;"pieces" 02416 c(7)=c(7)+g9 02417 print"gp=";c(7) 02418 d(g+s,h+t)=0 02419 ifrnd(1)>.2goto02430 02420 print"poison" 02421 letc(0)=c(0)-int(rnd(1)*4+1) 02422 print"hp=";c(0) 02423 goto02430 02424 letc(1)=c(1)+1 02425 goto02418 02426 letc(3)=c(3)+1 02429 goto02418 02430 letg=g+s 02440 leth=h+t 02450 print"done" 02460 goto07000 02470 rem 02480 print"you ran into a wall" 02490 ifrnd(1)*12+1>9goto02520 02500 print"but no damage was inflicted" 02510 goto07000 02520 print"and loose 1 hit point" 02530 letc(0)=c(0)-1 02540 goto07000 02550 print"oooops a trap and you fell in" 02560 ifrnd(1)*3>2goto02580 02570 goto02600 02580 print"and hit points loose 1" 02590 letc(0)=c(0)-1 02600 print"i hope you have some spikes and preferably rope" 02610 print"let me see" 02620 form=1tox 02630 ifw(m)<>12goto02660 02640 letw(m)=0 02650 goto02680 02660 nextm 02670 goto02740 02680 form=1tox 02690 ifw(m)<>11goto02720 02700 letw(m)=0 02710 goto02760 02720 nextm 02730 goto02890 02740 print"no spikes ah thats too bad cause your dead" 02750 end 02760 print"good both" 02770 print"you manage to get out easy" 02775 goto02870 02780 form=1tox 02790 ifw(m)=12goto02820 02800 nextm 02810 ifb9>1goto02830 02820 letw(m)=0 02830 goto02870 02840 letw(m)=0 02850 letw(m)=0 02860 goto02820 02870 print"your standing next to the edge though i'd move" 02880 goto02170 02890 print"no rope but at leas spikes" 02900 ifint(rnd(1)*3)+1=2goto02960 02910 goto02770 02920 print"you fall halfway up" 02930 ifint(rnd(1)*6)>c(1)/3goto02960 02940 print"try again" 02950 goto02900 02960 print"oops h.p. loose 1" 02970 letc(0)=c(0)-1 02980 goto02940 02990 ifint(rnd(1)*6)+1>4goto0300 03000 goto02480 03010 print"you just ran into a secret door" 03020 print"and opened it" 03030 letg=g+s 03040 leth=h+t 03050 goto02450 03060 print"you ran into the monster" 03070 print"he shoves you back" 03080 print 03090 ifint(rnd(1)*2)+1=2goto03120 03100 print"you loose 6 hitpoint" 03110 letc(0)=c(0)-6 03120 goto07000 03130 print"door left right up or down" 03140 inputq$ 03150 ifq$="left"goto03200 03155 ifq$="l"goto03200 03160 ifq$="right"goto03230 03165 ifq$="r"goto03230 03170 ifq$="up"goto03260 03175 ifq$="u"goto03260 03180 ifq$="down"goto03290 03185 ifq$="d"goto03290 03190 goto03130 03200 lets=0 03210 lett=-1 03220 goto03310 03230 lets=0 03240 lett=1 03250 goto03310 03260 lets=-1 03270 lett=0 03280 goto03310 03290 lets=1 03300 lett=0 03310 ifd(g+s,h+t)=4goto03350 03320 ifd(g+s,h+t)=3goto03350 03330 print"thereisnotadoorthere" 03340 goto01590 03350 print"push" 03360 ifint(rnd(1)*20)+1.5goto04140 04120 ifd(f1+s,f2+t)=0goto04220 04130 ifd(f1+s,f2+t)=2goto04280 04140 print"didn't work" 04150 form=1tox 04160 ifz5=qgoto07000 04170 ifw(m)=15goto04190 04180 nextm 04190 letw(m)=0 04200 letj=0 04210 goto07000 04220 print"monster moved back" 04230 letd(f1,f2)=0 04240 letf1=f1+s 04250 letf2=f2+t 04260 letd(f1,f2)=5 04270 goto04150 04280 print"good work the monster fell into a trap and is dead" 04290 letk1=-1 04300 letb(k,6)=0 04310 goto07000 04320 goto04150 04330 ifint(rnd(1)*20)+1=20goto04380 04340 ifint(rnd(1)*20)+1>b(k,2)-c(2)/3goto04410 04350 ifint(rnd(1)*20)+1>10-c(2)/3goto04440 04360 print"total miss" 04370 goto04150 04380 print"direct hit" 04390 letb(k,3)=b(k,3)-int(c(1)/6) 04400 rem 04410 print"hit" 04420 letb(k,3)=b(k,3)-int(c(1)/8) 04430 goto04150 04440 print"you hit him but not good enough" 04450 goto04150 04460 remfists 04470 print"do you realize you are bare handed" 04480 print"do you want to make another choice"; 04490 inputq$ 04500 ifq$="no"goto04520 04510 goto01590 04520 print"o.k. punch bite scratch hit........" 04530 form=-1to1 04540 forn=-1to1 04550 ifd(g+m,h+n)=5goto04610 04560 nextn 04570 nextm 04580 print"no good one" 04590 goto01590 04600 rem 04610 ifint(rnd(1)*20)+1>b(k,2)goto04640 04620 print"terrible no good" 04630 goto07000 04640 print"good a hit" 04650 letb(k,3)=b(k,3)-int(c(1)/6) 04660 goto01590 04670 rem 04680 print"swing" 04690 gosub08410 04700 ifr1<2goto04730 04710 print"he is out of range" 04720 goto07000 04730 ifr2=0goto04840 04740 ifr2=1goto04820 04750 ifp2=2goto04790 04760 print"critical hit" 04770 letb(k,3)=b(k,3)-int(c(1)/2) 04780 goto01590 04790 print"good hit" 04800 letb(k,3)=b(k,3)-int(c(1)*4/5) 04810 goto01590 04820 print"not good enough" 04830 goto01590 04840 print"missed totaly" 04850 goto07000 04860 print"swhng" 04870 gosub08410 04880 ifr1<2.1goto04910 04890 print"he is out of range" 04900 goto07000 04910 ifr2=0goto05020 04920 ifr2=1goto05000 04930 ifr2=2goto04970 04940 print"critical hit" 04950 letb(k,3)=b(k,3)-c(1) 04960 goto01590 04970 print"hit" 04980 letb(k,3)=b(k,3)-int(c(1)*5/7) 04990 goto01590 05000 print"hit but`well enough" 05010 goto01590 05020 print"missed totaly" 05030 goto07000 05040 form=1tox 05050 ifw(m)=3goto05090 05060 nextm 05070 print"you dont have a dgger" 05080 goto07000 05090 gosub08410 05100 ifr1>5goto04710 05110 ifr2=0goto05200 05120 ifr2=1goto05220 05130 ifr2=2goto05240 05140 print"critical hit" 05150 letb(k,3)=b(k,3)-int(c(1)*3/10) 05160 ifr1<2goto05190 05170 letw(j)=0 05180 letj=0 05190 goto07000 05200 print"missed totaly" 05210 goto05160 05220 print"hit but no damage" 05230 goto05160 05240 print"hit" 05250 letb(k,3)=b(k,3)-int(c(1)/4) 05260 goto05160 05270 print"swing" 05280 gosub08410 05290 ifp0<2goto04720 05300 goto04710 05310 ifr2=0goto05420 05320 ifr2=1goto05400 05330 ifr2=2goto05370 05340 print"critical hit" 05350 letb(k,3)=b(k,3)-int(c(1)*4/9) 05360 goto01590 05370 print"hit" 05380 letb(k,3)=b(k,3)-int(c(0)*5/11) 05390 goto01590 05400 print"hit but no damage" 05410 goto01590 05420 print"miss" 05430 goto07000 05440 rem 05450 form=1tox 05460 ifw(m)=jgoto05500 05470 nextm 05480 print"no weapon found" 05490 goto01590 05500 gosub08410 05510 ifj=5goto05760 05520 ifj=6goto05800 05530 ifj=7goto05840 05540 ifj=8goto05880 05550 ifj=9goto05920 05560 ifj=10goto05960 05570 ifj=11goto06000 05580 ifj=12goto06040 05590 ifj=13goto06080 05600 print"as a club or sight"; 05610 inputq$ 05620 ifq$="sight"goto05650 05630 ifj=14goto06120 05640 goto05480 05650 ifr1<10goto05680 05660 print"failed" 05670 goto07000 05680 print"the monster is hurt" 05690 letr5=1/6 05700 ifk=2goto06200 05710 ifk=10goto06200 05720 ifk=4goto06200 05730 goto06260 05740 ifint(rnd(1)*0)>0goto06260 05750 goto06200 05760 letr3=10 05770 letr4=3/7 05780 letr5=5/11 05790 goto06160 05800 letr3=15 05810 letr4=3/7 05820 letr5=5/11 05821 forz=1to100 05822 ifw(z)=7goto5825 05823 nextz 05824 goto6280 05825 j=7 05826 w(z)=0 05830 goto06160 05840 letr3=1.5 05850 letr4=1/7 05860 letr5=1/5 05870 goto06160 05880 letr3=4 05890 letr4=1/10 05900 letr5=1/8 05910 goto06160 05920 letr3=4 05930 letr4=1/7 05940 letr5=1/6 05950 goto06160 05960 letr3=3 05970 letr4=1/8 05980 letr6=1/5 05990 goto06160 06000 letr3=5 06010 letr4=1/9 06020 letr5=1/6 06030 goto06160 06040 letr3=8 06050 letr4=1/9 06060 letr5=1/4 06070 goto06160 06080 letr3=6 06090 letr4=1/3 06100 letr5=2/3 06110 goto06160 06120 letr3=1.5 06130 letr4=1/3 06140 letr5=1/2 06150 goto06160 06160 ifr1>r3goto04710 06170 ifr2=0goto06280 06180 ifr2=1goto06260 06190 ifr2=2goto06230 06200 print"critical hit" 06210 letb(k,3)=b(k,3)-int(c(1)*r5) 06220 goto06300 06230 print"hit" 06240 letb(k,3)=b(k,3)-int(c(1)*r4) 06250 goto06300 06260 print"hit but no damage" 06270 goto06300 06280 print"miss" 06290 goto06300 06300 ifw(j)=14goto07000 06310 form=1tox 06320 ifw(m)=jgoto06340 06330 nextm 06340 letw(m)=0 06350 ifj<>7goto06360 06355 goto06370 06360 letj=0 06370 ifr2>0goto01590 06380 goto07000 06390 remlooking 06400 form=-5to5 06410 forn=-5to5 06420 ifm+g>25goto06510 06430 ifm+g<0goto06510 06440 ifh+n>25goto06510 06450 ifh+n<0goto06510 06460 ifm<>0goto06480 06470 ifn=0goto06590 06480 ifd(m+g,n+h)=2goto06550 06485 ifd(m+g,n+h)=7ord(m+g,n+h)=8goto06550 06490 ifd(m+g,n+h)=3goto06570 06500 printd(m+g,n+h); 06510 nextn 06520 print 06530 nextm 06540 goto07000 06550 print0; 06560 goto06510 06570 print1; 06580 goto06510 06590 print9; 06600 goto06510 06610 remsavegame 06615 printchr$(4);"opengmstr":printchr$(4);"writegmstr" 06620 printd 06630 printx 06640 printj 06650 printg 06660 printh 06670 printk 06680 form=0to25 06690 forn=0to25 06700 printd(m,n) 06710 nextn 06720 nextm 06730 form=1tox 06740 printw(m) 06750 nextm 06760 form=1to10 06770 printb$(m) 06780 forn=1to6 06790 printb(m,n) 06800 nextn 06810 nextm 06820 form=0to7 06830 printc$(m) 06840 printc(m) 06850 nextm 06860 printn$ 06870 printf1 06880 form=1to15 06890 printi$(m) 06900 nextm 06910 printx3 06920 form=1tox3 06930 printx4(m) 06940 nextm 06950 printx1 06960 form=1tox1 06970 printx2(m) 06971 nextm 06972 printf2 06980 printf1:printchr$(4);"closegmstr" 06985 goto01590 06990 end 07000 ifk1=-1goto08290 07010 ifc(0)<2goto08160 07020 ifk>0goto07160 07030 ifg<>1goto07110 07040 ifh<>12goto07110 07050 print"so you have returned" 07060 ifc(7)<100goto07110 07070 letc(7)=c(7)-100 07080 print"want to buy more equipment" 07090 inputq$ 07100 ifq$="yes"goto07130 07110 ifrnd(1)*20>10goto07830 07120 goto01590 07130 print"your h.p. are restored 2points" 07140 letc(0)=c(0)+2 07150 goto00830 07160 gosub08410 07170 ifb(k,3)<1goto08290 07180 ifr1<2.0goto07600 07190 ifp0>10goto01590 07200 remheiscomming 07210 ifabs(r8)>abs(r9)goto07260 07220 letf5=0 07230 ifm=1goto07270 07240 letf6=-(r9/abs(r9)) 07250 goto07280 07260 letf5=-(r8/abs(r8)) 07270 letf6=0 07280 forq=0to8 07290 ifq=2orq=5goto07320 07300 iff1+f5<0orf1+f5>25orf2+f6<0orf2+6>25goto07320 07310 ifd(f1+f5,f2+f6)=qgoto07340 07320 nextq 07330 goto07510 07340 ifq=0goto07430 07345 ifq=6orq=7orq=8goto07430 07350 ifq=2goto07530 07360 ifq=3orq=4goto07380 07370 goto07510 07380 rem"throughthedoor" 07390 ifd(f1+2*f5,f2+2*f6)<>0goto07510 07400 letf5=f5*2 07410 letf6=f6*2 07420 goto07440 07430 rem"closer" 07440 letd(f1,f2)=0 07450 letf1=f1+f5 07460 letf2=f2+f6 07470 letd(f1,f2)=5 07480 gosub08410 07490 rem 07500 goto01590 07510 rem"nowhere" 07520 goto07490 07530 print"good work you led him into a trap" 07540 letk1=-1 07550 letb(k,6)=0 07560 goto07000 07570 letr8=-.5*r8 07580 letr9=-.5*r9 07590 goto07420 07600 printb$(k);"watch it" 07610 form=1tox 07620 ifw(m)=10goto07720 07630 ifw(m)=9goto07700 07640 ifw(m)=8goto07680 07650 nextm 07651 a1=6+c(2) 07652 goto07730 07660 leta1=8+c(2) 07670 goto07730 07680 leta1=12+c(2) 07690 goto07730 07700 leta1=16+c(2) 07710 goto07730 07720 leta1=20+c(2) 07730 ifrnd(1)*40>a1goto07790 07740 ifrnd(1)*2>1goto07770 07750 print"he missed" 07760 goto01590 07770 print"he hit you but not good enough" 07780 goto07000 07790 print"monster scores a hit" 07800 letc(0)=c(0)-int(rnd(1)*b(k,2)+1) 07810 print"h.p.=";c(0) 07820 goto07000 07830 forz7=1to50 07840 form=1to10 07850 ifb(m,5)>=1andrnd(1)>.925goto08000 07860 nextm 07870 nextz7 07880 print"all monsters dead" 07890 print"reset"; 07900 inputq$ 07910 ifq$="yes"goto07930 07920 end 07930 rem 07931 letjr=jr+1 07932 form=1to10 07950 letb(m,3)=b(m,4)*j4 07960 letb(m,6)=b(m,5)*j4 07970 nextm 07980 letc(0)=c(0)+5 07990 goto01590 08000 letk=m 08010 m1=int(rnd(1)*7+1) 08015 form=-m1tom1 08020 forn=-m1tom1 08025 ifabs(m)<=2orabs(n)<=2goto08080 08030 ifg+m<1goto08080 08040 ifh+n<1goto08080 08050 ifg+m>25goto08080 08060 ifh+n>25goto08080 08065 ifrnd(1)>.7goto08080 08070 ifd(g+m,h+n)=0goto08110 08080 nextn 08090 nextm 08100 goto08010 08110 rem 08120 letd(g+m,h+n)=5 08130 letf1=g+m 08140 letf2=h+n 08150 goto07000 08160 ifc(0)<1goto08190 08170 print"watch it h.p.=";c(0) 08180 goto07020 08190 ifc(0)<0goto08250 08200 ifc(3)<9goto08230 08210 print"h.p.=0butconst.holds" 08220 goto07020 08230 print"sorry your dead" 08240 end 08250 ifc(3)<9goto08230 08260 letc(3)=c(3)-2 08270 letc(0)=c(0)+1 08280 goto08190 08290 k1=0 08300 letc(7)=c(7)+b(k,6) 08310 letd(f1,f2)=0 08320 letf1=0 08330 letf2=0 08340 print"good work you just killed a";b$(k) 08350 print"and get";b(k,6);"gold pieces" 08355 ifj6=1goto08370 08360 letb(k,5)=0 08370 print"you have";c(7);"gold" 08380 letb(k,6)=0 08381 ifj6<>1goto08390 08382 b(k,3)=b(k,4)*b(k,1)/1 08383 b(k,6)=b(k,5)*b(k,1) 08390 letk=0 08400 goto07000 08410 remrangeandhitcheck" 08420 form=-25to25 08430 forn=-25to25 08440 ifg+m>25goto08490 08450 ifg+m<0goto08490 08460 ifh+n>25goto08490 08470 ifh+n<0goto8490 08480 ifd(g+m,h+n)=5goto08520 08490 nextn 08500 nextm 08510 letr1=1000 08520 letr8=m 08530 letr9=n 08540 ifr1=1000goto08570 08550 letr1=sqr(m*m+n*n) 08570 ifint(rnd(1)*20+1)>18goto08620 08580 ifrnd(1)*20>b(k,2)-c(2)/3goto08640 08590 ifrnd(1)*2>1.7goto08660 08600 letr2=0 08610 return 08620 letr2=3 08630 return 08640 letr2=2 08650 return 08660 letr2=1 08670 return 08680 print"magic" 08690 ifj<>0goto08740 08700 ifc$(0)="cleric"goto08760 08710 ifc$(0)="wizard"goto09310 08720 print"you cant tse magic your no ram.u." 08730 goto07000 08740 print"you cant use magic with weapon in hand" 08750 goto07000 08760 print"clerical spell#"; 08770 inputq 08780 form=1tox1 08790 ifq=x2(m)goto08830 08800 nextm 08810 print"you dont have that spell" 08820 goto07000 08830 x3=x2(m) 08835 x2(m)=0 08839 ifx3=1goto08950 08840 ifx3=2goto09030 08850 ifx3=3goto09060 08860 letq=2 08870 ifx3=4goto09090 08880 letq=3 08890 ifx3=5goto09200 08900 ifx3=6goto09240 08910 ifx3=7goto09280 08920 ifx3=8goto09090 08930 ifx3=9goto09720 08940 goto08810 08950 ifrnd(1)*3>1goto09000 08960 print"done" 08970 letx2(m)=0 08980 letk1=-1 08990 goto07000 09000 print"failed" 09010 letx2(m)=0 09020 goto07000 09030 print"done" 09040 letb(k,3)=b(k,3)-4 09050 goto09010 09060 letc(3)=c(3)+3 09070 letx2(m)=0 09080 goto09010 09090 letx2(m)=0 09100 form=-3to3 09110 forn=-3to3 09120 ifg+m<0org+m>25orh+n<0orh+n>25goto09140 09130 ifd(g+m,h+n)=qgoto09180 09140 nextn 09150 nextm 09160 print"nom ore" 09170 goto09010 09180 print"there is one at";m;"lat.";n;"long." 09190 goto09140 09200 print"done" 09210 letx2(m)=0 09220 letb(k,3)=b(k,3)-2 09230 goto09010 09240 print"done" 09250 letx2(m)=0 09260 letb(k,3)=b(k,3)-6 09270 goto09010 09280 print"done" 09290 letc(3)=c(3)+3 09300 goto09010 09310 print"spell#"; 09320 inputq 09330 form=1tox3 09340 ifq=x4(m)goto09390 09350 nextm 09360 print"do not have that one" 09370 goto01590 09380 iff1-g=0goto09410 09390 ifx4(m)<>1goto09480 09400 goto09420 09410 lets=0 09420 iff2-h=0goto09450 09430 print"are you above,below,right,or left of it"; 09440 goto09470 09450 lett=0 09460 letz5=1 09470 goto03940 09480 ifx4(m)=2goto09660 09490 letr=5 09500 letq=2 09510 ifx4(m)=3goto09090 09520 ifx4(m)=4goto09800 09530 letq=0 09540 ifx4(m)=5goto09860 09550 letq=3 09560 ifx4(m)=6goto09950 09570 letq=6 09580 ifx4(m)=7goto09950 09590 letq=9 09600 ifx4(m)=8goto09950 09610 letq=3 09620 ifx4(m)=9goto09090 09630 letq=1 09640 ifx4(m)=10goto09860 09650 goto09360 09660 ifrnd(1)*3>1goto09690 09670 print"failed" 09680 goto07000 09690 print"done" 09700 k1=-1 09710 goto07000 09720 ifk=4goto09760 09730 ifk=10goto09760 09740 print"failed" 09750 goto07000 09760 print"done" 09770 goto09390 09780 lett=(f2-h)/abs(f2-h) 09790 goto04220 09800 print"input co-ordinates"; 09810 inputm,n 09820 print"done" 09830 letg=m 09840 leth=n 09850 goto07000 09860 print"input co-ordinates"; 09870 inputm,n 09880 ifd(m,n)=0goto09920 09890 ifd(m,n)=1goto09920 09900 print"failed" 09910 goto07000 09920 letd(m,n)=q 09930 print"done" 09940 goto07000 09950 print"done" 09960 letb(k,3)=b(k,3)-q-int(rnd(1)*11) 09965 print"m-hp=";b(k,3) 09970 goto07000 09980 ifc$(0)="cleric"goto10020 09990 ifc$(0)="wizard"goto10360 10000 print"you cant buy any" 10010 goto01590 10020 print"do you know the choices"; 10030 inputq$ 10040 ifq$="yes"goto10100 10050 print"1-kill-5005-mag.miss.#1-100" 10060 print"2-mag.miss.#2-2006-mag.miss.#3-300" 10070 print"3-curelhght#1-2007-curelight#2-1000" 10080 print"4-findalltraps-2008-findalls.doors-200" 10090 print"input#wantedneg.num.tostop"; 10100 inputq 10110 letx5(1)=500 10120 letx5(2)=200 10130 letx5(3)=200 10140 letx5(4)=200 10150 letx5(5)=100 10160 letx5(6)=300 10170 letx5(7)=1000 10180 letx5(8)=200 10190 ifq<1goto10290 10200 ifq>10goto10100 10210 ifc(7)-x5(int(q))<0goto10270 10220 letc(7)=c(7)-x5(int(q)) 10230 print"it is yours" 10240 letx1=x1+1 10250 letx2(x1)=int(q) 10260 goto10100 10270 print"costs too much" 10280 goto10100 10290 print"your spells are" 10300 form=1tox1 10310 ifx2(m)=0goto10330 10320 print"#";x2(m) 10330 nextm 10340 print"done" 10350 goto01590 10360 print"do you know the spells"; 10370 inputq$ 10380 ifq$="yes"goto10450 10390 print"1-push-756-m.m.#1-100" 10400 print"2-kihl-5007-m.m.#2-200" 10410 print"3-find traps-2008-m.m.#3-300" 10420 print"4-teleport-7509-finds.doors-200" 10430 print"5-change1+0-60010-change0+1-600" 10440 print"# of one you want neg.num.tostop"; 10450 inputq 10460 letx6(1)=75 10470 letx6(2)=500 10480 letx6(3)=200 10490 letx6(4)=750 10500 letx6(5)=600 10510 letx6(6)=100 10520 letx6(7)=200 10530 letx6(8)=300 10540 letx6(9)=200 10550 letx6(10)=600 10560 ifq<1goto10660 10570 ifq>8goto10450 10580 ifc(7)-x6(int(q))<0goto10640 10590 letc(7)=c(7)-x6(int(q)) 10600 print"it is yours" 10610 letx3=x3+1 10620 letx4(x3)=int(q) 10630 goto10450 10640 print"costs too much" 10650 goto10450 10660 print"you now have " 10670 form=1tox3 10680 ifx4(m)=0goto00700 10690 print"#";x4(m) 10700 nextm 10710 goto01590 10720 rem 10730 remcheating 10740 form=0to25 10750 forn=0to25 10760 printd(m,n); 10770 nextn 10780 print 10790 nextm 10800 goto01590 10810 rem 10820 goto00380 10830 print"how many 200gp. each"; 10840 inputq 10850 ifc(7)-200*q<0goto10900 10860 letc(0)=c(0)+int(q) 10870 letc(7)=c(7)-int(q*200) 10880 print"ok done" 10885 print"hp=";c(0) 10886 form=1to7 10887 printc$(m);"=";c(m) 10888 nextm 10890 goto07000 10900 print"no" 10910 goto10830 11000 print"dng"; 11010 inputd2 11020 print"x,y,c"; 11030 inputx9,y9,c9 11035 ifc9<0goto11060 11040 letd(x9,y9)=c9 11050 goto11020 11060 print"save" 11061 inputq 11062 ifq<>1goto7000 11063 printchr$(4);"opendng"+str$(d2) 11064 printchr$(4);"writedng"+str$(d2) 11065 form=0to25 11070 forn=0to25 11080 printd(m,n) 11090 nextn 11100 nextm 11105 printchr$(4);"closedng"+str$(d2) 11110 goto7000 11120 end