Created
April 20, 2014 20:07
-
-
Save daeken/11123897 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
79/02/28. 19.27.34. | |
PROGRAM DND1 | |
00010 LET J4=1 | |
00030 PRINT | |
00100 BASE 0 | |
00110 LET X=0 | |
00120 LET J=0 | |
00130 LET K=0 | |
00140 X1=0 | |
00150 LET X3=0 | |
00160 LET J9=RND(CLK(J9)) | |
00170 DIM C(7),C$(7),W(100),D(50,50),P(100),I$(100),B(100,6),B$(100) | |
00180 DIM E(100),F(100),X5(100),X6(100),X2(100),X4(100) | |
00190 LET G=INT(RND(0)*24+2 | |
00200 LET H=INT(RND(0)*24+2) | |
00210 FILE #1="DNG1" | |
00220 FILE #2="DNG2",#3="DNG3",#4="DNG4",#5="DNG5",#6="DNG6" | |
00230 RESTORE #4 | |
00240 FILE #7="GMSTR" | |
00245 RESTORE #7 | |
00250 RESTORE #1 | |
00260 RESTORE #2 | |
00261 RESTORE #3 | |
00262 RESTORE #4 | |
00263 RESTORE #5 | |
00264 RESTORE #6 | |
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 "CHAIN MAIL",30,"TLTE MAIL",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 INPUT Q$ | |
00360 IF Q$="YES" THEN 01730 | |
00370 IF Q$="Y" THEN 00720 | |
00380 PRINT "OLD OR NEW GAME"; | |
00390 INPUT Q$ | |
00400 IF Q$="OLD" THEN 01770 | |
00410 PRINT "DUNGEON #"; | |
00420 INPUT D | |
00421 PRINT "CONTINUES RESET 1=YES,2=NO "; | |
00422 INPUT J6 | |
00430 REM ROLLING CHARACTERISTICS | |
00440 PRINT "PLAYERS NME "; | |
00450 INPUT N$ | |
00460 IF N$<>"SHAVS" THEN 01730 | |
00465 FOR M=1 TO 7 | |
00466 READ C$(M) | |
00467 NEXT M | |
00470 FOR M=1 TO 7 | |
00490 FOR N=1 TO 3 | |
00500 LET R=INT(RND(0)*6+1) | |
00510 LET C(M)=C(M)+R | |
00520 NEXT N | |
00530 IF M<>7 THEN 00550 | |
00540 LET C(M)=C(M)*15 | |
00550 REM | |
00560 PRINT C$(M);"=";C(M) | |
00570 NEXT M | |
00580 PRINT | |
00590 PRINT "CLASSIFICATION" 00600 PRINT "WHICH DO YOU WANT TO BE" | |
00610 PRINT "FIGHTER ,CLERIC ,OR WIZARD"; | |
00620 INPUT C$(0) | |
00625 IF C$(0)<>"NONE" THEN 0630 | |
00626 FOR M7=0 TO 7 | |
00627 LET C(M7)=0 | |
00628 NEXT M7 | |
00629 GO TO 00470 | |
00630 IF C$(0)="FIGHTER" THEN 00770 | |
00640 IF C$(0)="CLERIC" THEN 00810 | |
00650 IF C$(0)="WIZARD" THEN 00790 | |
00660 GO TO 00620 | |
00670 PRINT "BUYING WEAPONS" | |
00680 PRINT "FAST OR NORM" | |
00690 INPUT Q3$ | |
00700 PRINT "NUMBER","ITEM","PRICE" | |
00705 PRINT"-1-STOP" | |
00710 FOR M=1 TO 15 | |
00720 READ I$(M),P(M) | |
00725 IF Q3$="FAST" THEN 00740 | |
00730 PRINT M,I$(M),P(M) | |
00740 NEXT M | |
00750 GOSUB 01150 | |
00760 GO TO 00830 | |
00770 LET C(0)=INT(RND(0)*8+1) | |
00780 GO TO 00670 | |
00790 LET C(0)=INT(RND(0)*4+1) | |
00800 GO TO 00670 | |
00810 LET C(0)=INT(RND(0)*6+1) | |
00820 GO TO 00670 | |
00830 REM | |
00850 LET X=X+1 | |
00860 INPUT Y | |
00870 REM | |
00880 IF Y<0 THEN 01000 | |
00885 IF Y>15 THEN 01000 | |
00890 IF C(7)-P(Y)<0 THEN 00970 | |
00900 IF C$(0)="CLERIC" THEN 01290 | |
00910 IF C$(0)="WIZARD" THEN 01350 | |
00920 REM | |
00930 LET C(7)=C(7)-P(Y) | |
00940 PRINT "GP= ";C(7) | |
00950 LET W(X)=Y | |
00960 GO TO 00830 | |
00970 PRINT "COSTS TOO MUCH" | |
00980 PRINT "TRY AGAIN "; | |
00990 GO TO 00860 | |
01000 PRINT "GP= ";C(7) | |
01010 REM | |
01020 PRINT "EQ LIST "; | |
01030 INPUT Q$ | |
01040 IF Q$="NO" THEN 01090 | |
01050 FOR M=1 TO X | |
01060 IF W(M)=0 THEN 01080 | |
01070 PRINT W(M),I$(W(M)) | |
01080 NEXT M | |
01090 PRINT "YOUR CHARACTERISTICS ARE:" | |
01100 PRINT C$(0) | |
01101 IF C(0)<>1 THEN 01110 | |
01102 C(0)=2 | |
01110 PRINT "HIT POINTS",C(0) | |
01120 PRINT | |
01130 PRINT | |
01140 GO TO 01400 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 FOR M=1 TO 10 | |
01260 READ B$(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 NEXT M | |
01280 RETURN | |
01290 IF Y=4 THEN 00920 | |
01300 IF Y=8 THEN 00920 | |
01310 IF Y=9 THEN 00920 | |
01320 IF Y>10 THEN 00920 | |
01330 PRIT "YOUR A CLERIC YOU CANT USE THAT " | |
01340 GO TO 00860 | |
01350 IF Y=3 THEN 00920 | |
01360 IF Y=8 THEN 00920 | |
01370 IF Y>10 THEN 00920 | |
01380 PRINT "YOUR A WIZARD YOU CANT USE THAT " | |
01390 GO TO 00860 | |
01400 REM READ DUNGEON AND START GAME | |
01410 RESTORE #D | |
1415 PRINT "READING DUNGEON NUM. ";D | |
01420 FOR M=0 TO 25 | |
01430 FOR N=0 TO 25 | |
01431 D(M,N)=0 | |
01432 IF D=0 THEN 01450 | |
01440 READ #D,D(M,N) | |
01443 IF D(M,N)<>0 THEN 01450 | |
01445 IF RND(0)<.97 THEN 01447 | |
01446 D(M,N)=7 | |
01447 IF RND(0)<.97 THEN 01450 | |
01448 D(M,N)=8 | |
01450 NEXT N | |
01460 NEXT M | |
01470 REM YEA START | |
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 INPUT Q$ | |
01542 IF Q$<>"YES" THEN 01590 | |
01550 PRINT | |
01560 PRINT "1=MOVE 2=OPEN DOOR 3=SEARCH FOR TRAPS AND SECRET DOORS" | |
01570 PRINT "4=SWITCH WEAPON HN 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 INPUT T | |
01605 IF T=11 THEN 10830 | |
01606 IF T=12 THEN 11000 | |
01610 IF T=1 THEN 02170 | |
01620 IF T=2 THEN 03130 01630 IF T=3 THEN 03430 | |
01640 IF T=4 THEN 03640 | |
01650 IF T=5 THEN 03750 | |
01660 IF T=6 THEN 06390 | |
01670 IF T=7 THEN 06610 | |
01680 IF T=8 THEN 08680 | |
01690 IF T=9 THEN 09980 | |
01700 IF T=10 THEN 10730 | |
01705 IF T=0 THEN 07000 | |
01710 PRINT "COME ON "; | |
01720 GO TO 01590 | |
01730 REM INSTRUCTIONS | |
01740 PRINT "WHO SAID YOU COULD PLAY" | |
01750 STOP | |
01760 GO TO 00380 | |
01770 REM READ OUT OLD GAME | |
01775 RESTORE #7 | |
01780 READ #7,D | |
01790 READ #7,X | |
01800 READ #7,J | |
01810 READ #7,G | |
01820 READ #7,H | |
01830 READ #7,K | |
01840 FOR M=0 TO 25 | |
01850 FOR N=0 TO 25 | |
01860 READ #7,D(M,N) | |
01870 NEXT N | |
01880 NEXT M | |
01890 FOR M=1 TO X | |
01900 READ #7,W(M) | |
01910 NEXT M | |
91020 FOR M=1 TO 10 | |
01930 READ #7,B$(M) | |
01940 FOR N=1 TO 6 | |
01950 READ #7,B(M,N) | |
01960 NEXT N | |
01970 NEXT M | |
01980 FOR M=0 TO 7 | |
01990 READ #7,C$(M) | |
02000 READ #7,C(M) | |
02010 NEXT M | |
02020 READ #7,N$ | |
02030 READ #7,F1 | |
02040 READ #7,F2 | |
02050 FOR M=1 TO 15 | |
02060 READ #7,I$(M) | |
02070 NEXT M | |
02080 READ #7,X3 | |
02090 FOR M=1 TO X3 | |
02100 READ #7,X4(M) | |
02110 NEXT M | |
02120 READ #7,X1 | |
02130 FOR M=1 TO X1 | |
02140 READ #7,X2(M) | |
02150 NEXT M | |
02151 READ #7,F2 | |
02152 READ #7,F1 | |
02160 GO TO 01510 | |
02170 REM MOVE | |
02175 PRINT "YOU ARE AT ";G;" , ";H | |
02180 PRINT " DOWN RIGHT LEFT OR UP" | |
02190 INPUT Q$ 02200 IF Q$="RIGHT" THEN 02260 | |
02205 IF Q$="R" THEN 02260 | |
02210 IF Q$="LEFT" THEN 02290 | |
02215 IF Q$="L" THEN 02290 | |
02220 IF Q$="UP" THEN 02320 | |
02225 IF Q$="U" THEN 02320 | |
02230 IF Q$="DOWN" THEN 02350 | |
02235 IF Q$="D" THEN 02350 | |
02240 GO TO 02180 | |
02250 REM | |
02260 LET S=0 | |
02270 LET T=1 | |
02280 GO TO 02370 | |
02290 LET S=0 | |
02300 LET T=-1 | |
02310 GO TO 02370 | |
02320 LET S=-1 | |
02330 LET T=0 | |
02340 GO TO 02370 | |
02350 LET S=1 | |
02360 LET T=0 | |
02370 IF D(G+S,H+T)=0 THEN 02430 | |
02380 IF D(G+S,H+T)=1 THEN 02480 | |
02390 IF D(G+S,H+T)=2 THEN 02550 | |
02400 IF D(G+S,H+T)=3 THEN 02990 | |
02401 IF D(G+S,H+T)=7 THEN 02424 | |
02402 IF D(G+S,H+T)=8 THEN 02426 | |
02410 IF D(G+S,H+T)=5 THEN 03060 | |
02411 IF D(G+S,H+T)=6 THEN 02413 | |
02412 GO TO 02480 | |
02413 PRINT "AH......GOLD......." | |
02414 G9=INT(RND(0)*500+10) | |
02415 PRINT G9;"PIECES" | |
02416 C(7)=C(7)+G9 | |
02417 PRIT "GP= ";C(7) | |
02418 D(G+S,H+T)=0 | |
02419 IF RND(0)>.2 THEN 02430 | |
02420 PRINT " POISON " | |
02421 LET C(0)=C(0)-INT(RND(0)*4+1) | |
02422 PRINT "HP= ";C(0) | |
02423 GO TO 02430 | |
02424 LET C(1)=C(1)+1 | |
02425 GO TO 02418 | |
02426 LET C(3)=C(3)+1 | |
02429 GO TO 02418 | |
02430 LET G=G+S | |
02440 LET H=H+T | |
02450 PRINT "DONE" | |
02460 GO TO 07000 | |
02470 REM | |
02480 PRINT "YOU RAN INTO A WALL" | |
02490 IF RND(0)*12+1>9 THEN 02520 | |
02500 PRINT "BUT NO DAMAGE WAS INFLICTED" | |
02510 GO TO 07000 | |
02520 PRINT "AND LOOSE 1 HIT POINT" | |
02530 LET C(0)=C(0)-1 | |
02540 GO TO 07000 | |
02550 PRINT "OOOOPS A TRAP AND YOU FELL IN " | |
02560 IF RND(0)*3>2 THEN 02580 | |
02570 GO TO 02600 | |
02580 PRINT "AND HIT POINTS LOOSE 1" | |
02590 LET C(0)=C(0)-1 | |
02600 PRINT "I HOPE YOU HAVE SOME SPIKES AND PREFERABLY ROPE" | |
02610 PRINT "LET ME SEE" 02620 FOR M=1 TO X | |
02630 IF W(M)<>12 THEN 02660 | |
02640 LET W(M)=0 | |
02650 GO TO 02680 | |
02660 NEXT M | |
02670 GO TO 02740 | |
02680 FOR M=1 TO X | |
02690 IF W(M)<>11 THEN 02720 | |
02700 LET W(M)=0 | |
02710 GO TO 02760 | |
02720 NEXT M | |
02730 GO TO 02890 | |
02740 PRINT "NO SPIKES AH THATS TOO BAD CAUSE YOUR DEAD " | |
02750 STOP | |
02760 PRINT "GOOD BOTH" | |
02770 PRINT "YOU MANAGE TO GET OUT EASY" | |
02775 GO TO 02870 | |
02780 FOR M=1 TO X | |
02790 IF W(M)=12 THEN 02820 | |
02800 NEXT M | |
02810 IF B9>1 THEN 02830 | |
02820 LET W(M)=0 | |
02830 GO TO 02870 | |
02840 LET W(M)=0 | |
02850 LET W(M)=0 | |
02860 GO TO 02820 | |
02870 PRINT "YOUR STANDING NEXT TO THE EDGE THOUGH I'D MOVE" | |
02880 GO TO 02170 | |
02890 PRINT "NO ROPE BUT AT LEAS SPIKES" | |
02900 IF INT(RND(0)*3)+1=2 THEN 02960 | |
02910 GO TO 02770 | |
02920 PRINT "YOU FALL HALF WAY UP" | |
02930 IF INT(RND(0)*6)>C(1)/3 THEN 02960 | |
02940 PRINT "TRY AGAIN" | |
02950 GO TO 02900 | |
02960 PRINT "OOPS H.P. LOOSE 1" | |
02970 LET C(0)=C(0)-1 | |
02980 GO TO 02940 | |
02990 IF INT(RND(0)*6)+1>4 THEN 0300 | |
03000 GO TO 02480 | |
03010 PRINT "YOU JUST RAN INTO A SECRET DOOR" | |
03020 PRINT "AND OPENED IT" | |
03030 LET G=G+S | |
03040 LET H=H+T | |
03050 GO TO 02450 | |
03060 PRINT "YOU RAN INTO THE MONSTER " | |
03070 PRINT "HE SHOVES YOU BACK" | |
03080 PRINT | |
03090 IF INT(RND(0)*2)+1=2 THEN 03120 | |
03100 PRINT "YOU LOOSE 6 HIT POINT " | |
03110 LET C(0)=C(0)-6 | |
03120 GO TO 07000 | |
03130 PRINT "DOOR LEFT RIGHT UP OR DOWN" | |
03140 INPUT Q$ | |
03150 IF Q$="LEFT" THEN 03200 | |
03155 IF Q$="L" THEN 03200 | |
03160 IF Q$="RIGHT" THEN 03230 | |
03165 IF Q$="R" THEN 03230 | |
03170 IF Q$="UP" THEN 03260 | |
03175 IF Q$="U" THEN 03260 | |
03180 IF Q$="DOWN" THEN 03290 | |
03185 IF Q$="D" THEN 03290 | |
03190 GO TO 03130 | |
03200 LET S=0 03210 LET T=-1 | |
03220 GO TO 03310 | |
03230 LET S=0 | |
03240 LET T=1 | |
03250 GO TO 03310 | |
03260 LET S=-1 | |
03270 LET T=0 | |
03280 GO TO 03310 | |
03290 LET S=1 | |
03300 LET T=0 | |
03310 IF D(G+S,H+T)=4 THEN 03350 | |
03320 IF D(G+S,H+T)=3 THEN 03350 | |
03330 PRINT "THERE IS NOT A DOOR THERE" | |
03340 GO TO 01590 | |
03350 PRINT "PUSH" | |
03360 IF INT(RND(0)*20)+1<C(1) THEN 03390 | |
03370 PRINT "DIDNT BUDGE" | |
03380 GO TO 07000 | |
03390 PRINT "ITS OPEN" | |
03400 LET G=G+S | |
03410 LET H=H+T | |
03420 GO TO 02450 | |
03430 PRINT "SEARCH.........SEARCH...........SEARCH..........." | |
03440 IF INT(RND(0)*40)<C(5)+C(6) THEN 03470 | |
03450 PRINT "NO NOT THAT YOU CAN TELL" | |
03460 GO TO 07000 | |
03470 FOR M=-1 TO 1 | |
03480 FOR N=-1 TO 1 | |
03490 IF D(G+M,H+N)=2 THEN 03550 | |
03500 IF D(G+M,H+N)=3 THEN 03590 | |
03510 NEXT N | |
03520 NEXT M | |
03530 REM | |
03540 GO TO 03450 | |
03550 PRINT "YES THERE IS A TRAP" | |
03560 PRINT "IT IS ";M;"VERTICALY ";N;"HORAZONTALY FROM YOU" | |
03570 LET Z=1 | |
03580 GO TO 03500 | |
03590 PRINT "YES A DOOR" | |
03600 PRINT "IT IS AT ";M;"VERTICALY ";N;"HORAZANTALY" | |
03610 LET Z=1 | |
03620 GO TO 03510 | |
03630 REM | |
03640 PRINT "WHICH WEAPON WILL YOU HOLD, NUM OF WEAPON " | |
03650 INPUT Y | |
03660 IF Y=0 THEN 03720 | |
03670 FOR M=1 TO X | |
03680 IF W(M)=Y THEN 03720 | |
03690 NEXT M | |
03700 PRINT "SORRY YOU DONT HAVE THAT ONE" | |
03710 GO TO 03640 | |
03720 PRINT "O.K. YOU ARE NOW HOLDING A ";I$(Y) | |
03730 LET J=Y | |
03740 GO TO 07000 | |
03750 REM FIGHTING BACK | |
03760 PRINT "YOUR WEAPON IS ";I$(J) | |
03770 IF K=0 THEN 01590 | |
03780 PRINT B$(K) | |
03790 PRINT "HP=";B(K,3) | |
03800 IF J=0 THEN 04460 | |
03810 IF J=1 THEN 04680 | |
03820 IF J=2 THEN 04860 | |
03830 IF J=3 THEN 05040 | |
03840 IF J=4 THEN 05270 03850 IF J>4 THEN 03870 | |
03860 GO TO 03880 | |
03870 IF J<15 THEN 05450 | |
03880 PRINT "FOOD ???.... WELL O.K." | |
03890 PRIN'T "IS IT TO HIT OR DISTRACT"; | |
03900 INPUT Q$ | |
03910 IF Q$="HIT" THEN 04330 | |
03920 PRINT "THROW A-A=VE,B=BELOW,L=LEFT,OR R-RIGHT OF THE MONSTER"; | |
03930 LET Z5=0 | |
03940 INPUT Q$ | |
03950 IF Q$="B" THEN 04010 | |
03960 IF Q$="A" THEN 04040 | |
03970 IF Q$="L" THEN 04070 | |
03980 LET S=0 | |
03990 LET T=1 | |
04000 GO TO 04120 | |
04010 LET S=-1 | |
04020 LET T=0 | |
04030 GO TO 04120 | |
04040 LET S=1 | |
04050 LET T=0 | |
04060 GO TO 04120 | |
04070 LET S=0 | |
04080 LET T=-1 | |
04090 GO TO 04120 | |
04100 IF Z5=1 THEN 04120 | |
04110 IF RND(0)>.5 THEN 04140 | |
04120 IF D(F1+S,F2+T)=0 THEN 04220 | |
04130 IF D(F1+S,F2+T)=2 THEN 04280 | |
04140 PRINT "DIDN'T WORK" | |
04150 FOR M=1 TO X | |
04160 IF Z5=Q THEN 07000 | |
04170 IF W(M)=15 THEN 04190 | |
04180 NEXT M | |
04190 LET W(M)=0 | |
04200 LET J=0 | |
04210 GO TO 07000 | |
04220 PRINT "MONSTER MOVED BACK" | |
04230 LET D(F1,F2)=0 | |
04240 LET F1=F1+S | |
04250 LET F2=F2+T | |
04260 LET D(F1,F2)=5 | |
04270 GO TO 04150 | |
04280 PRINT "GOOD WORK THE MONSTER FELL INTO A TRAP AND IS DEAD" | |
04290 LET K1=-1 | |
04300 LET B(K,6)=0 | |
04310 GO TO 07000 | |
04320 GO TO 04150 | |
04330 IF INT(RND(0)*20)+1=20 THEN 04380 | |
04340 IF INT(RND(0)*20)+1>B(K,2)-C(2)/3 THEN 04410 | |
04350 IF INT(RND(0)*20)+1>10-C(2)/3 THEN 04440 | |
04360 PRINT "TOTAL MISS" | |
04370 GO TO 04150 | |
04380 PRINT "DIRECT HIT" | |
04390 LET B(K,3)=B(K,3)-INT(C(1)/6) | |
04400 REM | |
04410 PRINT "HIT" | |
04420 LET B(K,3)=B(K,3)-INT(C(1)/8) | |
04430 GO TO 04150 | |
04440 PRINT "YOU HIT HIM BUT NOT GOOD ENOUGH" | |
04450 GO TO 04150 | |
04460 REM FISTS | |
04470 PRINT "DO YOU REALIZE YOU ARE BARE HANDED" | |
04480 PRINT "DO YOU WANT TO MAKE ANOTHER CHOICE"; 04490 INPUT Q$ | |
04500 IF Q$="NO" THEN 04520 | |
04510 GO TO 01590 | |
04520 PRINT"O.K. PUNCH BITE SCRATCH HIT ........" | |
04530 FOR M=-1 TO 1 | |
04540 FOR N=-1 TO 1 | |
04550 IF D(G+M,H+N)=5 THEN 04610 | |
04560 NEXT N | |
04570 NEXT M | |
04580 PRINT "NO GOOD ONE" | |
04590 GO TO 01590 | |
04600 REM | |
04610 IF INT(RND(0)*20)+1>B(K,2) THEN 04640 | |
04620 PRINT "TERRIBLE NO GOOD" | |
04630 GO TO 07000 | |
04640 PRINT "GOOD A HIT" | |
04650 LET B(K,3)=B(K,3)-INT(C(1)/6) | |
04660 GO TO 01590 | |
04670 REM | |
04680 PRINT "SWING" | |
04690 GOSUB 08410 | |
04700 IF R1<2 THEN 04730 | |
04710 PRINT "HE IS OUT OF RANGE" | |
04720 GO TO 07000 | |
04730 IF R2=0 THEN 04840 | |
04740 IF R2=1 THEN 04820 | |
04750 IF P2=2 THEN 04790 | |
04760 PRINT "CRITICAL HIT" | |
04770 LET B(K,3)=B(K,3)-INT(C(1)/2) | |
04780 GO TO 01590 | |
04790 PRINT "GOOD HIT" | |
04800 LET B(K,3)=B(K,3)-INT(C(1)*4/5) | |
04810 GO TO 01590 | |
04820 PRINT "NOT GOOD ENOUGH" | |
04830 GO TO 01590 | |
04840 PRINT "MISSED TOTALY" | |
04850 GO TO 07000 | |
04860 PRINT "SWHNG" | |
04870 GOCUB 08410 | |
04880 IF R1<2.1 THAN 04910 | |
04890 PRINT "HE IS OUT OF RANGE" | |
04900 GO TO 07000 | |
04910 IF R2=0 THEN 05020 | |
04920 IF R2=1 THEN 05000 | |
04930 IF R2=2 THEN 04970 | |
04940 PRINT "CRITICAL HIT" | |
04950 LET B(K,3)=B(K,3)-C(1) | |
04960 GO TO 01590 | |
04970 PRINT "HIT" | |
04980 LET B(K,3)=B(K,3)-INT(C(1)*5/7) | |
04990 GO TO 01590 | |
05000 PRINT "HIT BUT ` WELL ENOUGH" | |
05010 GO TO 01590 | |
05020 PRINT "MISSED TOTALY" | |
05030 GO TO 07000 | |
05040 FOR M=1 TO X | |
05050 IF W(M)=3 THEN 05090 | |
05060 NEXT M | |
05070 PRINT"YOU DONT HAVE A DGGER" | |
05080 GO TO 07000 | |
05090 GOSUB 08410 | |
05100 IF R1>5 THEN 04710 | |
05110 IF R2=0 THEN 05200 | |
05120 IF R2=1 THEN 05220 05130 IF R2=2 THEN 05240 | |
05140 PRINT "CRITICAL HIT" | |
05150 LET B(K,3)=B(K,3)-INT(C(1)*3/10) | |
05160 IF R1<2 THEN 05190 | |
05170LET W(J)=0 | |
05180 LET J=0 | |
05190 GO TO 07000 | |
05200 PRINT "MISSED TOTALY" | |
05210 GO TO 05160 | |
05220 PRINT "HIT BUT NO DAMAGE" | |
05230 GO TO 05160 | |
05240 PRINT "HIT" | |
05250 LET B(K,3)=B(K,3)-INT(C(1)/4) | |
05260 GO TO 05160 | |
05270 PRINT "SWING" | |
05280 GOSUB 08410 | |
05290 IF P0<2 THEN 04720 | |
05300 GO TO 04710 | |
05310 IF R2=0 THEN 05420 | |
05320 IF R2=1 THEN 05400 | |
05330 IF R2=2 THEN 05370 | |
05340 PRINT "CRITICAL HIT" | |
05350 LET B(K,3)=B(K,3)-INT(C(1)*4/9) | |
05360 GO TO 01590 | |
05370 PRINT "HIT" | |
05380 LET B(K,3)=B(K,3)-INT(C(0)*5/11) | |
05390 GO TO 01590 | |
05400 PRINT "HIT BUT NO DAMAGE" | |
05410 GO TO 01590 | |
05420 PRINT "MISS" | |
05430 GO TO 07000 | |
05440 REM | |
05450 FOR M=1 TO X | |
05460 IF W(M)=J THEN 05500 | |
05470 NEXT M | |
05480 PRINT "NO WEAPON FOUND" | |
05490 GO TO 01590 | |
05500 GOSUB 08410 | |
05510 IF J=5 THEN 05760 | |
05520 IF J=6 THEN 05800 | |
05530 IF J=7 THEN 05840 | |
05540 IF J=8 THEN 05880 | |
05550 IF J=9 THEN 05920 | |
05560 IF J=10 THEN 05960 | |
05570 IF J=11 THEN 06000 | |
05580 IF J=12 THEN 06040 | |
05590 IF J=13 THEN 06080 | |
05600 PRINT "AS A CLUB OR SIGHT"; | |
05610 INPUT Q$ | |
05620 IF Q$="SIGHT" THEN 05650 | |
05630 IF J=14 THEN 06120 | |
05640 GO TO 05480 | |
05650 IF R1<10 THEN 05680 | |
05660 PRINT "FAILED" | |
05670 GO TO 07000 | |
05680 PRINT "THE MONSTER IS HURT" | |
05690 LET R5=1/6 | |
05700 IF K=2 THEN 06200 | |
05710 IF K=10 THEN 06200 | |
05720 IF K=4 THEN 06200 | |
05730 GOTO 06260 | |
05740 IF INT(RND(0)*0)>0 THEN 06260 | |
05750 GO TO 06200 | |
05760 LET R3=10 05770 LET R4=3/7 | |
05780 LET R5=5/11 | |
05790 GO TO 06160 | |
05800 LET R3=15 | |
05810 LET R4=3/7 | |
05820 LET R5=5/11 | |
05821 FOR Z=1 TO 100 | |
05822 IF W(Z)=7 THEN 5825 | |
05823 NEXT Z | |
05824 GO TO 6280 | |
05825 J=7 | |
05826 W(Z)=0 | |
05830 GO TO 06160 | |
05840 LET R3=1.5 | |
05850 LET R4=1/7 | |
05860 LET R5=1/5 | |
05870 GO TO 06160 | |
05880 LET R3=4 | |
05890 LET R4=1/10 | |
05900 LET R5=1/8 | |
05910 GO TO 06160 | |
05920 LET R3=4 | |
05930 LET R4=1/7 | |
05940 LET R5=1/6 | |
05950 GO TO 06160 | |
05960 LET R3=3 | |
05970 LET R4=1/8 | |
05980 LET R6=1/5 | |
05990 GO TO 06160 | |
06000 LET R3=5 | |
06010 LETR4=1/9 | |
06020 LET R5=1/6 | |
06030 GO TO 06160 | |
06040 LET R3=8 | |
06050 LET R4=1/9 | |
06060 LET R5=1/4 | |
06070 GO TO 06160 | |
06080 LET R3=6 | |
06090 LET R4=1/3 | |
06100 LET R5=2/3 | |
06110 GO TO 06160 | |
06120 LET R3=1.5 | |
06130 LET R4=1/3 | |
06140 LET R5=1/2 | |
06150 GO TO 06160 | |
06160 IF R1>R3 THEN 04710 | |
06170 IF R2=0 THEN 06280 | |
06180 IF R2=1 THEN 06260 | |
06190 IF R2=2 THEN 06230 | |
06200 PRINT "CRITICAL HIT" | |
06210 LET B(K,3)=B(K,3)-INT(C(1)*R5) | |
06220 GO TO 06300 | |
06230 PRINT "HIT" | |
06240 LET B(K,3)=B(K,3)-INT(C(1)*R4) | |
06250 GO TO 06300 | |
06260 PRINT "HIT BUT NO DAMAGE" | |
06270 GO TO 06300 | |
06280 PRINT "MISS" | |
06290 GO TO 06300 | |
06300 IF W(J)=14 THEN 07000 | |
06310 FOR M=1 TO X | |
06320 IF W(M)=J THEN 06340 | |
06330 NEXT M | |
06340 LET W(M)=0 06350 IF J<>7 THEN 06360 | |
06355 GO TO 06370 | |
06360 LET J=0 | |
06370 IF R2>0 THEN 01590 | |
06380 GO TO 07000 | |
06390 REM LOOKING | |
06400 FOR M=-5 TO 5 | |
06410 FOR N=-5 TO 5 | |
06420 IF M+G>25 THEN 06510 | |
06430 IF M+G<0 THEN 06510 | |
06440 IF H+N>25 THEN 06510 | |
06450 IF H+N<0 THEN 06510 | |
06460 IF M<>0 THEN 06480 | |
06470 IF N=0 THEN 06590 | |
06480 IF D(M+G,N+H)=2 THEN 06550 | |
06485 IF D(M+G,N+H)=7 OR D(M+G,N+H)=8 THEN 06550 | |
06490 IF D(M+G,N+H)=3 THEN 06570 | |
06500 PRINT D(M+G,N+H); | |
06510 NEXT N | |
06520 PRINT | |
06530 NEXT M | |
06540 GO TO 07000 | |
06550 PRINT 0; | |
06560 GO TO 06510 | |
06570 PRINT 1; | |
06580 GO TO 06510 | |
06590 PRINT 9; | |
06600 GO TO 06510 | |
06610 REM SAVE GAME | |
06615 RESTORE #7 | |
06620 WRITE #7,D | |
06630 WRITE #7,X | |
06640 WRITE #7,J | |
06650 WRITE #7,G | |
06660 WRITE #7,H | |
06670 WRITE #7,K | |
06680 FOR M=0 TO 25 | |
06690 FOR N=0 TO 25 | |
06700 WRITE #7,D(M,N) | |
06710 NEXT N | |
06720 NEXT M | |
06730 FOR M=1 TO X | |
06740 WRITE #7,W(M) | |
06750 NEXT M | |
06760 FOR M=1 TO 10 | |
06770 WRITE #7,B$(M) | |
06780 FOR N=1 TO 6 | |
06790 WRITE #7,B(M,N) | |
06800 NEXT N | |
06810 NEXT M | |
06820 FOR M=0 TO 7 | |
06830 WRITE #7,C$(M) | |
06840 WRITE #7,C(M) | |
06850 NEXT M | |
06860 WRITE #7,N$ | |
06870 WRITE #7,F1 | |
06880 FOR M=1 TO 15 | |
06890 WRITE #7,I$(M) | |
06900 NEXT M | |
06910 WRITE #7,X3 | |
06920 FOR M=1 TO X3 | |
06930 WRITE #7,X4(M) | |
06940 NEXT M | |
06950 WRITE #7,X1 06960 FOR M=1 TO X1 | |
06970 WRITE #7,X2(M) | |
06971 NEXT M | |
06972 WRITE #7,F2 | |
06980 WRITE #7,F1 | |
06985 GO TO 01590 | |
06990 STOP | |
07000 IF K1=-1 THEN 08290 | |
07010 IF C(0)<2 THEN 08160 | |
07020 IF K>0 THEN 07160 | |
07030 IF G<>1 THEN 07110 | |
07040 IF H<>12 THEN 07110 | |
07050 PRINT "SO YOU HAVE RETURNED" | |
07060 IF C(7)<100 THEN 07110 | |
07070 LET C(7)=C(7)-100 | |
07080 PRINT "WANT TO BUY MORE EQUIPMENT" | |
07090 INPUT Q$ | |
07100 IF Q$="YES" THEN 07130 | |
07110 IF RND(0)*20>10 THEN 07830 | |
07120 GO TO 01590 | |
07130 PRINT "YOUR H.P. ARE RESTORED 2 POINTS" | |
07140 LET C(0)=C(0)+2 | |
07150 GO TO 00830 | |
07160 GOSUB 08410 | |
07170 IF B(K,3)<1 THEN 08290 | |
07180 IF R1<2.0 THEN 07600 | |
07190 IF P0>10 THEN 01590 | |
07200 REM HE IS COMMING | |
07210 IF ABS(R8)>ABS(R9) THEN 07260 | |
07220 LET F5=0 | |
07230 IF M=1 THEN 07270 | |
07240 LET F6=-(R9/ABS(R9)) | |
07250 GO TO 07280 | |
07260 LET F5=-(R8/ABS(R8)) | |
07270 LET F6=0 | |
07280 FOR Q=0 TO 8 | |
07290 IF Q=2 OR Q=5 THEN 07320 | |
07300 IF F1+F5<0 OR F1+F5>25 OR F2+F6<0 OR F2+6>25 THEN 07320 | |
07310 IF D(F1+F5,F2+F6)=Q THEN 07340 | |
07320 NEXT Q | |
07330 GO TO 07510 | |
07340 IF Q=0 THEN 07430 | |
07345 IF Q=6 OR Q=7 OR Q=8 THEN 07430 | |
07350 IF Q=2 THEN 07530 | |
07360 IF Q=3 OR Q=4 THEN 07380 | |
07370 GO TO 07510 | |
07380 REM "THROUGH THE DOOR" | |
07390 IF D(F1+2*F5,F2+2*F6)<>0 THEN 07510 | |
07400 LET F5=F5*2 | |
07410 LET F6=F6*2 | |
07420 GO TO 07440 | |
07430 REM "CLOSER" | |
07440 LET D(F1,F2)=0 | |
07450 LET F1=F1+F5 | |
07460 LET F2=F2+F6 | |
07470 LET D(F1,F2)=5 | |
07480 GOSUB 08410 | |
07490 REM | |
07500 GO TO 01590 | |
07510 REM "NOWHERE" | |
07520 GO TO 07490 | |
07530 PRINT "GOOD WORK YOU LED HIM INTO A TRAP" | |
07540 LET K1=-1 | |
07550 LET B(K,6)=0 07560 GO TO 07000 | |
07570 LET R8=-.5*R8 | |
07580 LET R9=-.5*R9 | |
07590 GO TO 07420 | |
07600 PRINT B$(K);"WATCH IT" | |
07610 FOR M=1 TO X | |
07620 IF W(M)=10 THEN 07720 | |
07630 IF W(M)=9 THEN 07700 | |
07640 IF W(M)=8 THEN 07680 | |
07650 NEXT M | |
07651 A1=6+C(2) | |
07652 GO TO 07730 | |
07660 LET A1=8+C(2) | |
07670 GO TO 07730 | |
07680 LET A1=12+C(2) | |
07690 GO TO 07730 | |
07700 LET A1=16+C(2) | |
07710 GO TO 07730 | |
07720 LET A1=20+C(2) | |
07730 IF RND(0)*40>A1 THEN 07790 | |
07740 IF RND(0)*2>1 THEN 07770 | |
07750 PRINT "HE MISSED" | |
07760 GO TO 01590 | |
07770 PRINT "HE HIT YOU BUT NOT GOOD ENOUGH" | |
07780 GO TO 07000 | |
07790 PRINT "MONSTER SCORES A HIT" | |
07800 LET C(0)=C(0)-INT(RND(0)*B(K,2)+1) | |
07810 PRINT "H.P.=";C(0) | |
07820 GO TO 07000 | |
07830 FOR Z7=1 TO 50 | |
07840 FOR M=1 TO 10 | |
07850 IF B(M,5)>=1 AND RND(0)>.925 THEN 08000 | |
07860 NEXT M | |
07870 NEXT Z7 | |
07880 PRINT "ALL MONSTERS DEAD" | |
07890 PRINT "RESET"; | |
07900 INPUT Q$ | |
07910 IF Q$="YES" THEN 07930 | |
07920 STOP | |
07930 REM | |
07931 LET JR=JR+1 | |
07932 FOR M=1 TO 10 | |
07950 LET B(M,3)=B(M,4)*J4 | |
07960 LET B(M,6)=B(M,5)*J4 | |
07970 NEXT M | |
07980 LET C(0)=C(0)+5 | |
07990 GO TO 01590 | |
08000 LET K=M | |
08010 M1=INT(RND(0)*7+1) | |
08015 FOR M=-M1 TO M1 | |
08020 FOR N=-M1 TO M1 | |
08025 IF ABS(M)<=2 OR ABS(N)<=2 THEN 08080 | |
08030 IF G+M<1 THEN 08080 | |
08040 IF H+N<1 THEN 08080 | |
08050 IF G+M>25 THEN 08080 | |
08060 IF H+N>25 THEN 08080 | |
08065 IF RND(0)>.7 THEN 08080 | |
08070 IF D(G+M,H+N)=0 THEN 08110 | |
08080 NEXT N | |
08090 NEXT M | |
08100 GO TO 08010 | |
08110 REM | |
08120 LET D(G+M,H+N)=5 | |
08130 LET F1=G+M 08140 LET F2=H+N | |
08150 GO TO 07000 | |
08160 IF C(0)<1 THEN 08190 | |
08170 PRINT "WATCH IT H.P.=";C(0) | |
08180 GO TO 07020 | |
08190 IF C(0)<0 THEN 08250 | |
08200 IF C(3)<9 THEN 08230 | |
08210 PRINT "H.P.=0 BUT CONST. HOLDS" | |
08220 GO TO 07020 | |
08230 PRINT "SORRY YOUR DEAD" | |
08240 STOP | |
08250 IF C(3)<9 THEN 08230 | |
08260 LET C(3)=C(3)-2 | |
08270 LET C(0)=C(0)+1 | |
08280 GO TO 08190 | |
08290 K1 = 0 | |
08300 LET C(7)=C(7)+B(K,6) | |
08310 LET D(F1,F2)=0 | |
08320 LET F1=0 | |
08330 LET F2=0 | |
08340 PRINT "GOOD WORK YOU JUST KILLED A ";B$(K) | |
08350 PRINT "AND GET ";B(K,6);"GOLD PIECES" | |
08355 IF J6=1 GO TO 08370 | |
08360 LET B(K,5)=0 | |
08370 PRINT "YOU HAVE";C(7);" GOLD " | |
08380 LET B(K,6)=0 | |
08381 IF J6<>1 GO TO 08390 | |
08382 B(K,3)=B(K,4)*B(K,1)/1 | |
08383 B(K,6)=B(K,5)*B(K,1) | |
08390 LET K=0 | |
08400 GO TO 07000 | |
08410 REM RANGE AND HIT CHECK" | |
08420 FOR M=-25 TO 25 | |
08430 FOR N=-25 TO 25 | |
08440 IF G+M>25 THEN 08490 | |
08450 IF G+M<0 THEN 08490 | |
08460 IF H+N>25 THEN 08490 | |
08470 IF H+N<0 THEN 8490 | |
08480 IF D(G+M,H+N)=5 THEN 08520 | |
08490 NEXT N | |
08500 NEXT M | |
08510 LET R1=1000 | |
08520 LET R8=M | |
08530 LET R9=N | |
08540 IF R1=1000 THEN 08570 | |
08550 LET R1=SQR(M*M+N*N) | |
08570 IF INT(RND(0)*20 +1)>18 THEN 08620 | |
08580 IF RND(0)*20>B(K,2)-C(2)/3 THEN 08640 | |
08590 IF RND(0)*2>1.7 THEN 08660 | |
08600 LET R2=0 | |
08610 RETURN | |
08620 LET R2=3 | |
08630 RETURN | |
08640 LET R2=2 | |
08650 RETURN | |
08660 LET R2=1 | |
08670 RETURN | |
08680 PRINT "MAGIC" | |
08690 IF J<>0 THEN 08740 | |
08700 IF C$(0)="CLERIC" THEN 08760 | |
08710 IF C$(0)="WIZARD" THEN 09310 | |
08720 PRINT "YOU CANT TSE MAGIC YOUR NOR A M.U." | |
08730 GO TO 07000 | |
08740 PRINT "YOU CANT USE MAGIC WITH WEAPON IN HAND" 08750 GO TO 07000 | |
08760 PRINT "CLERICAL SPELL #"; | |
08770 INPUT Q | |
08780 FOR M=1 TO X1 | |
08790 IF Q=X2(M) THEN 08830 | |
08800 NEXT M | |
08810 PRINT "YOU DONT HAVE THAT SPELL" | |
08820 GO TO 07000 | |
08830 X3=X2(M) | |
08835 X2(M)=0 | |
08839 IF X3=1 THEN 08950 | |
08840 IF X3=2 THEN 09030 | |
08850 IF X3=3 THEN 09060 | |
08860 LET Q=2 | |
08870 IF X3=4 THEN 09090 | |
08880 LET Q=3 | |
08890 IF X3=5 THEN 09200 | |
08900 IF X3=6 THEN 09240 | |
08910 IF X3=7 THEN 09280 | |
08920 IF X3=8 THEN 09090 | |
08930 IF X3=9 THEN 09720 | |
08940 GO TO 08810 | |
08950 IF RND(0)*3 > 1 THEN 09000 | |
08960 PRINT "DONE" | |
08970 LET X2(M)=0 | |
08980 LET K1=-1 | |
08990 GO TO 07000 | |
09000 PRINT "FAILED" | |
09010 LET X2(M)=0 | |
09020 GO TO 07000 | |
09030 PRINT "DONE" | |
09040 LET B(K,3)=B(K,3)-4 | |
09050 GO TO 09010 | |
09060 LET C(3)=C(3)+3 | |
09070 LET X2(M)=0 | |
09080 GOTO 09010 | |
09090 LET X2(M)=0 | |
09100 FOR M=-3 TO 3 | |
09110 FOR N=-3 TO 3 | |
09120 IF G+M <0 OR G+M >25 OR H+N<0 OR H+N > 25 THEN 09140 | |
09130 IF D(G+M,H+N)=Q THEN 09180 | |
09140 NEXT N | |
09150 NEXT M | |
09160 PRINT "NO MORE" | |
09170 GO TO 09010 | |
09180 PRINT "THERE IS ONE AT ";M;"LAT.";N;"LONG." | |
09190 GO TO 09140 | |
09200 PRINT "DONE" | |
09210 LET X2(M)=0 | |
09220 LET B(K,3)=B(K,3)-2 | |
09230 GO TO 09010 | |
09240 PRINT "DONE" | |
09250 LET X2(M)=0 | |
09260 LET B(K,3)=B(K,3)-6 | |
09270 GO TO 09010 | |
09280 PRINT "DONE" | |
09290 LET C(3)=C(3)+3 | |
09300 GO TO 09010 | |
09310 PRINT "SPELL #"; | |
09320 INPUT Q | |
09330 FOR M=1 TO X3 | |
09340 IF Q=X4(M) THEN 09390 | |
09350 NEXT M | |
09360 PRINT "DO NOT HAVE THAT ONE" 09370 GO TO 01590 | |
09380 IF F1-G=0 THEN 09410 | |
09390 IF X4(M)<>1 THEN 09480 | |
09400 GO TO 09420 | |
09410 LET S=0 | |
09420 IF F2-H=0 THEN 09450 | |
09430 PRINT "ARE YOU ABOVE,BELOW,RIGHT, OR LEFT OF IT"; | |
09440 GO TO 09470 | |
09450 LET T=0 | |
09460 LET Z5=1 | |
09470 GOTO 03940 | |
09480 IF X4(M)=2 THEN 09660 | |
09490 LET R=5 | |
09500 LET Q=2 | |
09510 IF X4(M)=3 THEN 09090 | |
09520 IF X4(M)=4 THEN 09800 | |
09530 LET Q=0 | |
09540 IF X4(M)=5 THEN 09860 | |
09550 LET Q=3 | |
09560 IF X4(M)=6 THEN 09950 | |
09570 LET Q=6 | |
09580 IF X4(M)=7 THEN 09950 | |
09590 LET Q=9 | |
09600 IF X4(M)=8 THEN 09950 | |
09610 LET Q=3 | |
09620 IF X4(M)=9 THEN 09090 | |
09630 LET Q=1 | |
09640 IF X4(M)=10 THEN 09860 | |
09650 GO TO 09360 | |
09660 IF RND(0)*3>1 THEN 09690 | |
09670 PRINT "FAILED" | |
09680 GO TO 07000 | |
09690 PRINT "DONE" | |
09700 K1=-1 | |
09710 GO TO 07000 | |
09720 IF K=4 THEN 09760 | |
09730 IF K=10 THEN 09760 | |
09740 PRINT "FAILED" | |
09750 GO TO 07000 | |
09760 PRINT "DONE" | |
09770 GOTO 09390 | |
09780 LET T=(F2-H)/ABS(F2-H) | |
09790 GO TO 04220 | |
09800 PRINT "INPUT CO-ORDINATES"; | |
09810 INPUT M,N | |
09820 PRINT "DONE" | |
09830 LET G=M | |
09840 LET H=N | |
09850 GO TO 07000 | |
09860 PRINT "INPUT CO-ORDINATES"; | |
09870 INPUT M,N | |
09880 IF D(M,N)=0 THEN 09920 | |
09890 IF D(M,N)=1 THEN 09920 | |
09900 PRINT "FAILED" | |
09910 GO TO 07000 | |
09920 LET D(M,N)=Q | |
09930 PRINT "DONE" | |
09940 GO TO 07000 | |
09950 PRIT "DONE" | |
09960 LET B(K,3)=B(K,3)-Q-INT(RND(0)*11) | |
09965 PRINT "M-HP=";B(K,3) | |
09970 GO TO 07000 | |
09980 IF C$(0)="CLERIC" THEN 10020 | |
09990 IF C$(0)="WIZARD" THEN 10360 10000 PRINT "YOU CANT BUY ANY" | |
10010 GO TO 01590 | |
10020 PRINT "DO YOU KNOW THE CHOICES"; | |
10030 INPUT Q$ | |
10040 IF Q$="YES" THEN 10100 | |
10050 PRINT "1-KILL-500 5-MAG. MISS. #1-100" | |
10060 PRINT "2-MAG. MISS. #2-200 6-MAG. MISS. #3-300" | |
10070 PRINT "3-CURE LHGHT #1-200 7-CURE LIGHT #2-1000" | |
10080 PRINT "4-FIND ALL TRAPS-200 8-FIND ALL S.DOORS-200" | |
10090 PRINT "INPUT # WANTED NEG.NUM.TO STOP"; | |
10100 INPUT Q | |
10110 LET X5(1)=500 | |
10120 LET X5(2)=200 | |
10130 LET X5(3)=200 | |
10140 LET X5(4)=200 | |
10150 LET X5(5)=100 | |
10160 LET X5(6)=300 | |
10170 LET X5(7)=1000 | |
10180 LET X5(8)=200 | |
10190 IF Q<1 THEN 10290 | |
10200 IF Q>10 THEN 10100 | |
10210 IF C(7)-X5(INT(Q))<0 THEN 10270 | |
10220 LET C(7)=C(7)-X5(INT(Q)) | |
10230 PRINT "IT IS YOURS" | |
10240 LET X1=X1+1 | |
10250 LET X2(X1)=INT(Q) | |
10260 GO TO 10100 | |
10270 PRINT "COSTS TOO MUCH" | |
10280 GO TO 10100 | |
10290 PRINT "YOUR SPELLS ARE" | |
10300 FOR M=1 TO X1 | |
10310 IF X2(M)=0 THEN 10330 | |
10320 PRINT "#";X2(M) | |
10330 NEXT M | |
10340 PRINT "DONE" | |
10350 GO TO 01590 | |
10360 PRINT "DO YOU KNOW THE SPELLS"; | |
10370 INPUT Q$ | |
10380 IF Q$="YES" THEN 10450 | |
10390 PRINT "1-PUSH-75 6-M. M. #1-100" | |
10400 PRINT "2-KIHL-500 7-M. M. #2-200" | |
10410 PRINT "3-FIND TRAPS-200 8-M. M. #3-300" | |
10420 PRINT "4-TELEPORT-750 9-FIND S.DOORS-200" | |
10430 PRINT "5-CHANGE 1+0-600 10-CHANGE 0+1-600" | |
10440 PRINT "#OF ONE YOU WANT NEG.NUM.TO STOP"; | |
10450 INPUT Q | |
10460 LET X6(1)=75 | |
10470 LET X6(2)=500 | |
10480 LET X6(3)=200 | |
10490 LET X6(4)=750 | |
10500 LET X6(5)=600 | |
10510 LET X6(6)=100 | |
10520 LET X6(7)=200 | |
10530 LET X6(8)=300 | |
10540 LET X6(9)=200 | |
10550 LET X6(10)=600 | |
10560 IF Q<1 THEN 10660 | |
10570 IF Q>8 THEN 10450 | |
10580 IF C(7)-X6(INT(Q))<0 THEN 10640 | |
10590 LET C(7)=C(7)-X6(INT(Q)) | |
10600 PRINT "IT IS YOURS" | |
10610 LET X3=X3+1 | |
10620 LET X4(X3)=INT(Q) | |
10630 GO TO 10450 10640 PRINT "COSTS TOO MUCH" | |
10650 GO TO 10450 | |
10660 PRINT "YOU NOW HAVE" | |
10670 FOR M=1 TO X3 | |
10680 IF X4(M)=0 THEN 00700 | |
10690 PRINT "#";X4(M) | |
10700 NEXT M | |
10710 GO TO 01590 | |
10720 REM | |
10730 REM CHEATING | |
10740 FOR M=0 TO 25 | |
10750 FOR N=0 TO 25 | |
10760 PRINT D(M,N); | |
10770 NEXT N | |
10780 PRINT | |
10790 NEXT M | |
10800 GO TO 01590 | |
10810 REM | |
10820 GO TO 00380 | |
10830 PRINT "HOW MANY 200 GP. EACH "; | |
10840 INPUT Q | |
10850 IF C(7)-200*Q<0 THEN 10900 | |
10860 LET C(0)=C(0)+INT(Q) | |
10870 LET C(7)=C(7)-INT(Q*200) | |
10880 PRINT "OK DONE" | |
10885 PRINT "HP= ";C(0) | |
10886 FOR M=1 TO 7 | |
10887 PRINT C$(M);" = ";C(M) | |
10888 NEXT M | |
10890 GO TO 07000 | |
10900 PRINT "NO" | |
10910 GO TO 10830 | |
11000 PRINT "DNG"; | |
11010 INPUT D2 | |
11020 PRINT "X,Y,C"; | |
11030 INPUT X9,Y9,C9 | |
11035 IF C9<0 THEN 11060 | |
11040 LET D(X9,Y9)=C9 | |
11050 GO TO 11020 | |
11060 PRINT "SAVE" | |
11061 INPUT Q | |
11062 IF Q<>1 THEN 7000 | |
11063 FOR M=0 TO 25 | |
11070 FOR N=0 TO 25 | |
11080 WRITE #D2,D(M,N) | |
11090 NEXT N | |
11100 NEXT M | |
11110 GO TO 7000 | |
11120 END | |
READY. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment