home *** CD-ROM | disk | FTP | other *** search
- 10 ! *********************** CHASE PROGRAM ***********************
- 20 ! BY MICHAEL P. RUF
- 30 ! 12/16/78
- 35 BE$=CHR$(7)
- 40 OPTION #0,"W",255
- 50 INPUT "ENTER WIDTH OF MAZE.";C1
- 60 IF C1>77 THEN PRINT "THE LIMIT IS 77":GOTO 50
- 70 INPUT "LENGTH";C4
- 80 IF C4>18 THEN PRINT "LIMIT IS 18": GOTO 70
- 90 INPUT "FOR DENSITY OF THE MAZE, ENTER A NUMBER 1-100";D3
- 100 IF D3<1 OR D3>100 THEN PRINT "1-100!!":GOTO 90
- 110 E4=C1*C4:DIM M(E4+100)
- 120 E$=CHR$(155)
- 130 PRINT E$"E";
- 140 FOR A3=1 TO C1+2:PRINT "_";:NEXT A3
- 150 PRINT
- 160 FOR V=33 TO (C4+32)
- 170 H=C1+33
- 180 PRINT "|"
- 190 PRINT E$"F";CHR$(V);CHR$(H)"|"
- 200 NEXT V
- 210 FOR A4=1 TO C1+2:PRINT "-";:NEXT A4
- 220 C=INT(C1*C4)*(D3/200)
- 230 FOR D=1 TO C
- 240 V=INT(RND(2)*(C4+1))+32
- 250 IF V<33 THEN 240
- 260 H=INT(RND(3)*C1)+32
- 270 IF H<33 THEN 260
- 275 PRINT
- 280 PRINT E$"F";CHR$(V);CHR$(H)"*"
- 290 V=V-32:H=H-32
- 300 M(((V-1)*C1)+H)=1
- 310 NEXT D
- 320 PRINT E$"H";E$"C";E$"B";"+^B
- 330 M(1)=2:J=1
- 340 PRINT E$ "F";CHR$(C4+32);CHR$(C1+32);"#"
- 350 M(E4)=2:K=E4
- 360 PRINT
- 370 PRINT E$"F4 ";E$"J";CHR$(0);CHR$(0);CHR$(0);CHR$(0);CHR$(0);:INPUT "ENTER MOVE PLAYER ONE";G:O=1:P=0:U=U+1
- 371 IF G=5 THEN 380
- 372 IF G>999 THEN F5=1000 ELSE IF G>99 THEN F5=100 ELSE F5=10
- 375 F1=INT(G/F5):F2=G-F1*F5:G=F1
- 376 F8=F6: IF F8>E4/4-2 THEN PRINT "YOU'RE ALL OUT OF ENERGY.":F9=1:GOTO 420
- 378 F6=F6+F2:IF F6>E4/4 THEN PRINT "YOU DON'T HAVE ENOUGH ENERGY":F6=F6-F2:GOSUB 2000:GOTO 370
- 380 IF G=5 THEN IF B20=10 THEN PRINT "YOU HAVE USED ALL YOUR BULLETS.":GOSUB 2000 ELSE INPUT "ENTER SHOT";G:B20=B20+1:B7=1:GOTO 372
- 385 IF B10=10 THEN 370
- 390 IF G>0 AND G<10 AND G=INT(G) THEN GOSUB 470
- 400 PRINT "ENTER 1,2,3,4,6,7,8, OR 9":GOSUB 2000:GOTO 370
- 410 GOTO 370
- 420 PRINT E$"F4 ";E$"J";CHR$(0);CHR$(0);CHR$(0);CHR$(0);CHR$(0);:INPUT "ENTER MOVE PLAYER TWO";I:P=1:O=0:X=X+1
- 421 IF I=5 THEN 430
- 422 IF I>999 THEN FA=1000 ELSE IF I>99 THEN FA=100 ELSE FA=10
- 424 FB=INT(I/FA):F2=I-(FB*FA):I=FB
- 425 FD=FC:IF FD>E4/4 THEN PRINT "YOU'RE ALL OUT OF ENERGY":FF=1:GOTO 370
- 426 FC=FC+F2:IF FC>E4/4 THEN PRINT "THERE ISN'T ENOUGH ENERGY LEFT.":FC=FC-F2:GOSUB 2000:GOTO 420
- 430 IF I=5 THEN IF B6=10 THEN PRINT "YOU HAVE USED ALL YOUR BULLETS.":GOSUB 2000:GOTO 420 ELSE INPUT "ENTER SHOT";I:B6=B6+1:B7=1:GOTO 422
- 440 GOSUB 470
- 450 PRINT "PLEASE ENTER 1,2,3,4,6,7,8, OR 9":GOSUB 2000
- 460 GOTO 420
- 470 ! THIS ROUTINE CALCULATES THE COORDINATES IN THE MATRIX OF THE
- 480 FOR F3=1 TO F2
- 490 IF O=1 THEN A5=G ELSE A5=I
- 500 IF O=1 THEN P2=J ELSE P2=K
- 510 IF B7=1 THEN FOR B8=1 TO F2 :B5=P2:B11=0:GOTO 540
- 530 IF O=1 THEN B5=J ELSE B5=K
- 540 ON A5 GOTO 550,560,570,580,760,590,600,610,620
- 550 C5=B5+C1-1:GOTO 630
- 560 C5=B5+C1:GOTO 630
- 570 C5=B5+C1+1:GOTO 630
- 580 C5=B5-1:GOTO 630
- 590 C5=B5+1:GOTO 630
- 600 C5=B5-C1-1:GOTO 630
- 610 C5=B5-C1:GOTO 630
- 620 C5=B5-C1+1:GOTO 630
- 630 ! CHECK FOR BOUNCE OR HITTING WALL
- 631 IF O=1 AND C5=J OR P=1 AND C5=K THEN B8=10000:PRINT "^G^G":GOTO 780
- 632 IF A5=1 OR A5=4 OR A5=7 THEN IF C5/C1=INT(C5/C1) THEN 710
- 634 IF A5=3 OR A5=6 OR A5=9 THEN IF(C5-1)/C1=INT((C5-1)/C1) THEN 710
- 636 IF C5<1 THEN IF B7=1 THEN A5=A5-6:B11=B11+1:GOTO 540 ELSE 730
- 638 IF C5>E4 THEN IF B7=1 THEN A5=A5+6:B11=B11+1:GOTO 540 ELSE 730
- 642 IF B5=1 AND A5=3 AND M(C5)=1 THEN 730
- 644 IF B5=C1 AND A5=1 AND M(C5)=1 THEN 730
- 646 IF B5=E4-C1+1 AND A5=9 AND M(C5)=1 THEN 730
- 648 IF B5=E4 AND A5=7 AND M(C5)=1 THEN 730
- 660 IF B11=9 THEN B11=0:A5=ABS(A5-10):GOTO 540
- 670 IF M(C5)=1 THEN 710
- 700 GOTO 740
- 710 IF B7=1 THEN B11=B11+1:IF A5=1 OR A5=4 OR A5=7 THEN A5=A5+2 ELSE IF A5=2 THEN A5=8 ELSE IF A5=8 THEN A5=2 ELSE A5=A5-2
- 720 IF B7=1 THEN 540
- 730 PRINT "^G^G^G";
- 733 IF FF4=1 THEN 370 ELSE IF F8=1 THEN 420
- 735 IF B7=1 THEN IF O=1 THEN R=1:GOTO 1060 ELSE R=0:GOTO 1060 ELSE IF O=1 GOTO 420 ELSE 370
- 740 Q=C5:IF O=1 THEN R=1 ELSE R=0
- 750 GOTO 780
- 760 IF O=1 THEN 420 ELSE 370
- 770 H=H+32
- 780 !MOVER RTN
- 790 IF O=1 THEN P1=J ELSE P1=K
- 800 IF B7=1 THEN P1=P2
- 810 S=INT((Q/C1)+.999)
- 820 S=S+32
- 830 T=(Q/C1-INT(Q/C1))*C1
- 840 T=INT(T+.1)
- 850 IF T<1 THEN T=C1
- 860 T=T+32
- 870 IF B7=1 THEN IF B8=1 THEN 980 ELSE 900
- 880 IF R=1 THEN M(J)=0 ELSE M(K)=0
- 890 M(Q)=2
- 900 V=INT((P1/C1)+.999)
- 910 V=V+32
- 920 H=(P1/C1-INT(P1/C1))*C1
- 930 H=INT(H+.1)
- 940 IF H<1 THEN H=C1
- 950 H=H+32
- 960 PRINT E$"F";CHR$(V);CHR$(H)" ";
- 970 IF B9=1 THEN B9=0:GOTO 1080
- 980 IF R=0 THEN 1000
- 990 PRINT E$"F";CHR$(S);CHR$(T)"+"
- 1000 IF R=0 THEN PRINT E$"F";CHR$(S);CHR$(T)"#"
- 1010 IF B7=1 THEN P2=Q ELSE IF O=1 THEN J=Q ELSE K=Q
- 1020 IF B8>1 THEN IF P2=K OR P2=J THEN 1090
- 1022 IF O=1 AND P2=E4 THEN B6=10:PRINT "^G^G^G"
- 1025 IF P=1 AND P2=1 THEN B20=10:PRINT "^G^G^G"
- 1030 IF K=J THEN 1090
- 1040 IF J=E4 OR K=1 THEN 1090
- 1050 IF B7=1 THEN NEXT B8 ELSE NEXT F3
- 1060 IF B7=1 THEN IF P2=K OR P2=J THEN B7=0:GOTO 1080
- 1070 IF B7=1 THEN B7=0:P1=P2:B9=1:GOTO 900
- 1075 IF FF4=1 THEN 370 ELSE IF F8=1 THEN 420
- 1080 IF R=1 THEN GOTO 420 ELSE 370
- 1090 IF R=1 THEN A$="ONE"+BE$ ELSE A$="TWO^G"
- 1100 PRINT E$"F4 ";E$"J";CHR$(0);CHR$(0);CHR$(0);CHR$(0);
- 1110 PRINT "^G^GPLAYER^G^G "A$" WINS^G THE^G GAME!!!";
- 1120 GOTO 32000
- 2000 ! WAIT RTN
- 2010 FOR A15=1 TO 400:NEXT A15
- 2020 RETURN
- 2030 !
- 32000 END
-