image of READY prompt

Wang2200.org

Listing of file='CHASE' on disk='vmedia/more_games.wvd.zip'

# Sector 371, program filename = 'CHASE'
0010 DIM A$(24)80,K$1,R1(50),R2(50),R$2,M$2,S$2,H$2
0015 R$="25"
   : M$="30"
   : S$="10"
   : H$="0"
0020 SELECT PRINT 005(85)
0030 PRINT HEX(020D0C030F0202020F06)
0100 PRINT AT(0,5);BOX(0,10);BOX(6,0);AT(6,5);BOX(0,10)
0102 PRINT AT(0,20);BOX(6,0);AT(3,20);BOX(0,10);AT(0,30);BOX(6,0)
0104 PRINT AT(0,35);BOX(3,10);AT(3,35);BOX(3,0);AT(3,45);BOX(3,0)
0106 PRINT AT(0,50);BOX(0,10);BOX(3,0);AT(3,50);BOX(0,10);AT(3,60);BOX(3,0);AT
     (6,50);BOX(0,10)
0108 PRINT AT(0,65);BOX(0,10);BOX(6,0);AT(3,65);BOX(0,10);AT(6,65);BOX(0,10)
0110 PRINT AT(8,5);"While on a routine spy mission, you (";HEX(0E810F);") had
     to abandon your aircraft over"
0112 PRINT "enemy territory.  Unfortunately, your parachute has brought you do
     wn in a"
0114 PRINT "mine (";HEX(0ECF0F);") field that is patrolled by robot guards (";
     HEX(0E8D0F);")."
0116 PRINT
   : PRINT "     Use the keys as indicated below to move through the mine fiel
     d.  To win,"
0118 PRINT "you must avoid the robots until all of them have been destroyed (a
      robot is"
0120 PRINT "destroyed by making it run into a mine or into another robot).  If
      you run"
0122 PRINT "into a mine, or are caught by a robot, you will be destroyed and t
     he game"
   : PRINT "will be over."
0124 PRINT
   : PRINT "Contols:";
0126 PRINT "     8"
0127 PRINT "             ";HEX(5E)
0128 PRINT "          4 ";HEX(5F);"+";HEX(84);" 6"
0129 PRINT "             ";HEX(94)
0130 PRINT "             2"
0140 PRINT AT(23,26);"Press (-RETURN-) to continue.";HEX(01)
0145 KEYIN K$,,145
   : IF K$<>HEX(0D)THEN 145
0150 PRINT HEX(030202000F)
0152 PRINT "Please inspect/modify the options below:"
0160 PRINT AT(5,0,70);"Number of robots (1-50):";HEX(0E);
   : LINPUT -R$
   : PRINT HEX(06)
   : IF NUM(R$)<LEN(R$)THEN 160
   : CONVERT R$TO R
   : R=INT(R)
   : IF R<1OR R>50THEN 160
0162 PRINT AT(7,0,70);"Number of mines (0-50):";HEX(0E);
   : LINPUT -M$
   : PRINT HEX(06)
   : IF NUM(M$)<LEN(M$)THEN 162
   : CONVERT M$TO M
   : M=INT(M)
   : IF M<0OR M>50THEN 162
0164 PRINT AT(9,0,70);"Robot speed (1-20):";HEX(0E);
   : LINPUT -S$
   : PRINT HEX(06)
   : IF NUM(S$)<LEN(S$)THEN 164
   : CONVERT S$TO S
   : S=INT(S)
   : IF S<1OR S>20THEN 164
0166 PRINT AT(11,0,70);"Number of hits you can absorb (0-50):";HEX(0E);
   : LINPUT -H$
   : PRINT HEX(06)
   : IF NUM(H$)<LEN(H$)THEN 166
   : CONVERT H$TO H
   : H=INT(H)
   : IF H<0OR H>50THEN 166
0170 PRINT HEX(03)
0200 A$()=ALL(20)
   : A$(1),A$(24)=ALL(CF)
   : FOR K=2TO 23
   : STR(A$(K),1,1),STR(A$(K),80,1)=HEX(CF)
   : NEXT K
0210 FOR K=1TO M
   : STR(A$(INT(RND(1)*22)+2),INT(RND(1)*78)+2,1)=HEX(CF)
   : NEXT K
0220 FOR K=1TO R
0230 R1(K)=INT(RND(1)*22)+2
   : R2(K)=INT(RND(1)*78)+2
   : IF STR(A$(R1(K)),R2(K),1)<>" "THEN 230
   : STR(A$(R1(K)),R2(K),1)=HEX(8D)
   : NEXT K
0240 PRINT HEX(06030202020F);
0250 FOR K=1TO 24
   : PRINT A$(K);
   : IF K<24THEN PRINT
   : NEXT K
   : PRINT HEX(01)
0260 X=INT(RND(1)*22)+2
   : Y=INT(RND(1)*78)+2
   : L,H0=0
0300 PRINT AT(X-1,Y-1);HEX(0E8101)
   : F0=0
0310 F=0
   : FOR K=1TO R
0320 K$=" "
   : KEYIN K$,330,500
   : IF F0=0THEN 320
0330 F0=1
   : IF K$<"2"OR K$>"8"THEN 500
0340 PRINT AT(X-1,Y-1);" ";HEX(01)
0350 CONVERT K$TO K0
   : ON K0GOTO ,360,,370,,380,,390
   : GOTO 410
0360 IF X<24THEN X=X+1
   : GOTO 400
0370 IF Y>1THEN Y=Y-1
   : GOTO 400
0380 IF Y<80THEN Y=Y+1
   : GOTO 400
0390 IF X>1THEN X=X-1
0400 IF STR(A$(X),Y,1)<>" "THEN 700
0410 PRINT AT(X-1,Y-1);HEX(0E8101)
0500 L=L+1
   : IF L<(21-S)THEN 320
   : L=0
0510 IF R1(K)=0THEN 600
0520 STR(A$(R1(K)),R2(K),1)=" "
   : PRINT AT(R1(K)-1,R2(K)-1);" ";HEX(01)
0530 IF R1(K)<XTHEN R1(K)=R1(K)+1
0540 IF R1(K)>XTHEN R1(K)=R1(K)-1
0550 IF R2(K)>YTHEN R2(K)=R2(K)-1
0560 IF R2(K)<YTHEN R2(K)=R2(K)+1
0580 IF STR(A$(R1(K)),R2(K),1)=" "THEN GOTO 590
   : IF STR(A$(R1(K)),R2(K),1)<>HEX(8D)THEN 581
   : PRINT AT(R1(K)-1,R2(K)-1);HEX(0E);HEX(8D01)
   : GOTO 582
0581 STR(A$(R1(K)),R2(K),1)=" "
   : PRINT AT(R1(K)-1,R2(K)-1);" ";HEX(01)
0582 R1(K)=0
   : GOTO 600
0590 STR(A$(R1(K)),R2(K),1)=HEX(8D)
   : PRINT AT(R1(K)-1,R2(K)-1);HEX(0E);HEX(8D01)
   : F=1
0595 IF R1(K)=XAND R2(K)=YTHEN 700
0600 NEXT K
   : IF F=1THEN 610
   : PRINT AT(0,19,42);HEX(0E07);" YOU WIN - PRESS (-RETURN-) TO PLAY AGAIN"
   : GOTO 730
0610 GOTO 310
0700 H0=H0+1
   : PRINT HEX(07)
   : IF H0>HTHEN 710
   : STR(A$(X),Y,1)=" "
   : IF R1(K)=XAND R2(K)=YTHEN R1(K)=0
   : GOTO 410
0710 PRINT AT(X-1,Y-1);HEX(020404000E);STR(A$(X),Y,1);HEX(020402000F01)
0720 PRINT AT(0,18,44);HEX(0E);" ROBOTS WIN - PRESS (-RETURN-) TO TRY AGAIN"
0730 KEYIN K$,,730
   : IF K$<>HEX(0D)THEN 730
   : GOTO 150
9999 DEFFN'31"Z$=";HEX(22);"CHASE   ";HEX(22);":SCRATCH T Z$:SAVE T() Z$";HEX(
     0D)