image of READY prompt

Wang2200.org

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

# Sector 388, program filename = 'CHESS'
0010 REM % CHESS
   : REM CHESS GAME
   : REM 07/10/80 CDH
   : REM
0105 PRINT
   : PRINT HEX(0306);AT(6,32);BOX(1,14);"   C H E S S   "
   : PRINT HEX(0A0A);TAB(23);
   : INPUT "DO YOU WANT INSTRUCTIONS (Y OR N)",Q$
   : IF Q$="Y" THEN GOSUB 6070
   : H5=8
   : I5=4
0180 DATA -5,-3,-4,-9,-7,-4,-3,-5,-1,-1,-1,-1,-1,-1,-1,-1,0,0,0,0,0,0,0,0,0,0,
     0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,5,3,4,9,7,4,3
     ,5
0200 DIM B(8,8),M(8),C$(2,7)27,A$25,Z1$1
   : F1,F2,F4,F9,R,S1,S6,S8,V6=0
   : MAT READ B
0201 C$(1,1),C$(2,1)=HEX(C0C0C0C0C00A0808080808C0C0C0C0C00A0808080808C0C0C0C0C
     0)
0202 C$(1,2)=HEX(C0C0C0C0C00A0808080808C0E8EDC0C00A0808080808C0FAFAD0C0)
0204 C$(1,3)=HEX(C0C0C0C0C00A0808080808C0F0D6D5C00A0808080808C0F8F5D5C0)
0206 C$(1,4)=HEX(C0C0C0C0C00A0808080808C0C8DDC0C00A0808080808C0FAFAD0C0)
0208 C$(1,5)=HEX(C0C0C0C0C00A0808080808C0EDEDC5C00A0808080808C0FAFAD0C0)
0210 C$(1,6)=HEX(C0D0D4D0C00A0808080808C0FBEBD1C00A0808080808C0FAFAD0C0)
0212 C$(1,7)=HEX(C0F0FEF4D00A0808080808C0F8D5FDD00A0808080808C0FAF5FFD0)
0222 C$(2,2)=HEX(C0C0C0C0C00A0808080808C0E8FDC0C00A0808080808C0FAFFD0C0)
0224 C$(2,3)=HEX(C0C0C0C0C00A0808080808C0F0FED5C00A0808080808C0F8FFD5C0)
0226 C$(2,4)=HEX(C0C0C0C0C00A0808080808C0C8DDC0C00A0808080808C0FAFFD0C0)
0228 C$(2,5)=HEX(C0C0C0C0C00A0808080808C0EDFDC5C00A0808080808C0FAFFD0C0)
0230 C$(2,6)=HEX(C0D0D4D0C00A0808080808C0FBFFD1C00A0808080808C0FAFFD0C0)
0232 C$(2,7)=HEX(C0F0FEF4D00A0808080808C0F8FFFDD00A0808080808C0FAFFFFD0)
0400 PRINT TAB(31);
   : INPUT "WHAT IS YOUR NAME",Z$
   : PRINT
0460 PRINT HEX(0306);
   : FOR K=1TO 8
   : PRINT AT(0,0);BOX(K*3,K*6);AT((8-K)*3,(8-K)*6);BOX(K*3,K*6)
   : NEXT K
0465 GOSUB 5700
0470 GOSUB 2770
   : GOSUB 750
   : GOTO 470
0520 ON ABS(B(C,D))+1 GOTO 540,570,540,600,630,660,540,690,540,720
   : GOTO 540
0530 ON ABS(B(X,Y))+1 GOTO 540,570,540,600,630,660,540,690,540,720
0540 C0=1
   : D$="CHARACTER ERROR"
   : RETURN
0570 C0=2
   : D$="PAWN"
   : RETURN
0600 C0=3
   : D$="KNIGHT"
   : RETURN
0630 C0=4
   : D$="BISHOP"
   : RETURN
0660 C0=5
   : D$="ROOK"
   : RETURN
0690 C0=6
   : D$="QUEEN"
   : RETURN
0720 C0=7
   : D$="KING"
   : RETURN
0750 GOSUB 5700
   : IF R<1 THEN 1080
   : IF V6>-10 THEN 900
   : C=H2
   : D=I2
   : FOR X=1 TO 8
   : FOR Y=1 TO 8
   : IF B(X,Y)<=0 THEN 850
   : GOSUB 1720
   : IF Q=1 THEN 1660
0850 NEXT Y,X
0870 GOSUB '100
   : PRINT AT(2,50);"AFTER";R;"MOVES, IT'S";AT(3,50);"A STALEMATE.  GOOD PLAY.
     "
   : GOTO 6260
0900 FOR X=X8 TO X9
   : FOR Y=Y8 TO Y9
   : IF B(X,Y)<=0 THEN 1020
   : FOR C=1 TO 8
   : FOR D=1 TO 8
   : IF B(C,D)>0 THEN 1000
   : GOSUB 1720
   : IF Q=0 THEN 1000
   : GOSUB 4260
   : IF Q=1 THEN 1080
1000 NEXT D,C
1020 NEXT Y,X
   : IF C5=0 THEN 870
   : GOSUB '100
   : PRINT AT(2,50);"THE COMPUTER HAS DEFEATED YOU";AT(3,50);"IN";R;"MOVES ";Z
     $;"."
   : GOTO 6260
1080 FOR K=19TO 21
   : PRINT AT(K,50,29);
   : NEXT K
   : PRINT AT(19,50); "WHERE IS THE PIECE YOU WANT";AT(20,50);"TO MOVE (R,C)";
   : INPUT X,Y
   : IF X<>10 THEN 1220
   : GOSUB 4760
   : IF F9=0 THEN 1080
   : R=R+1
   : GOSUB '100
   : GOTO 1690
1210 GOTO 1080
1220 IF X>8OR Y>8OR X<1OR Y<1 OR B(X,Y)<=0 THEN 1210
   : GOSUB 530
   : FOR K=19TO 22
   : PRINT AT(K,50,29);
   : NEXT K
   : PRINT AT(19,50);"PLAYER MOVES, ";D$;AT(20,50);"TO WHERE (R,C)";
   : INPUT C,D
   : IF C=0 THEN 1080
   : IF C>8OR D>8OR C<1OR D<1 THEN 1210
   : IF B(C,D)<=0 THEN 1340
   : PRINT HEX(07)
   : GOTO 1080
1340 GOSUB '100
   : IF X<>4OR C<>3OR ABS(Y-D)<>1OR B(X,Y)<>1OR M(D)<>1 THEN 1440
   : GOSUB 4260
   : IF Q=0 THEN 1480
   : B(X,D)=0
   : PRINT AT(0,50);"YOU TAKE MY PAWN, EN PASSENT"
   : GOTO 1540
1440 GOSUB 1720
   : IF Q=0 THEN 1490
   : GOSUB 4260
   : IF Q=1 THEN 1510
1480 PRINT AT(22,50);"YOU CAN'T MOVE INTO CHECK."
1490 PRINT AT(22,50);"ILLEGAL MOVE."
   : GOTO 1080
1510 GOSUB '100
   : IF B(C,D)=0 THEN 1540
   : GOSUB 520
   : PRINT AT(0,50);"PLAYER TAKES MY ";D$
1540 B(C,D)=B(X,Y)
   : R=R+1
   : IF B(C,D)=9THEN F2=1
   : IF B(C,D)<>5 THEN 1600
   : IF Y=8 THEN F1=1
   : IF Y=1 THEN F4=1
1600 B(X,Y)=0
   : IF B(C,D)<>1OR C<>1 THEN 1690
   : B(C,D)=7
   : GOSUB '100
   : PRINT AT(0,50);"(PLAYER PROMOTES TO QUEEN)"
   : GOTO 1690
1660 GOSUB '100
   : PRINT AT(0,50);"CONGRATULATIONS ";Z$;",";AT(1,50);"YOU HAVE CHECKMATED TH
     E";AT(2,50);"COMPUTER IN";R;"MOVES."
   : GOTO 6260
1690 PRINT HEX(06)
   : PRINT AT(1,50);"ACCEPTED"
   : GOSUB 5700
   : RETURN
1720 ON ABS(B(X,Y)) GOTO 1730,1950,1950,2230,2010,1950,2570,1950,2600
1730 IF ABS(Y-D)>1 OR ABS(X-C)>2 THEN 2750
   : IF B(X,Y)>0 THEN 1850
   : IF B(C,D)=0 THEN 1790
   : IF C<>X+1 THEN 2750
   : GOTO 1870
1790 IF C=X+1 THEN 1830
   : IF C<>4OR X<>2OR B(3,D)<>0 THEN 2750
1830 IF D<>Y THEN 2750
   : GOTO 2730
1850 IF B(C,D)=0 THEN 1890
   : IF C<>X-1 THEN 2750
1870 IF ABS(D-Y)<>1 THEN 2750
   : GOTO 2730
1890 IF C=X-1 THEN 1830
   : IF C<>5OR X<>7OR B(6,D)<>0 THEN 2750
   : GOTO 1830
1950 IF ABS(C-X)>2 OR ABS(D-Y)>2OR X=COR Y=DOR ABS(C-X)=ABS(D-Y) THEN 2750
   : GOTO 2730
2010 IF X=C THEN 2130
   : IF Y<>D THEN 2750
   : IF ABS(C-X)=1 THEN 2730
   : IF X>C THEN 2090
   : FOR K=X+1 TO C-1
   : IF B(K,D)<>0 THEN 2750
   : NEXT K
   : GOTO 2730
2090 FOR K=C+1 TO X-1
   : IF B(K,D)<>0 THEN 2750
   : NEXT K
   : GOTO 2730
2130 IF ABS(D-Y)=1 THEN 2730
   : IF Y>D THEN 2190
   : FOR K=Y+1 TO D-1
   : IF B(X,K)<>0 THEN 2750
   : NEXT K
   : GOTO 2730
2190 FOR K=D+1 TO Y-1
   : IF B(X,K)<>0 THEN 2750
   : NEXT K
   : GOTO 2730
2230 IF ABS(C-X)<>ABS(D-Y) THEN 2750
   : D4=D
   : C4=C
   : IF ABS(C-X)<>1 THEN 2280
   : IF ABS(D-Y)=1 THEN 2730
2280 IF C<X OR D<Y THEN 2360
   : FOR L=1 TO C-X-1
   : D4=D4-1
   : C4=C4-1
   : IF B(C4,D4)<>0 THEN 2750
   : NEXT L
   : GOTO 2730
2360 IF C>XOR D>Y THEN 2440
   : FOR L=1 TO X-C-1
   : C4=C4+1
   : D4=D4+1
   : IF B(C4,D4)<>0 THEN 2750
   : NEXT L
   : GOTO 2730
2440 IF X<C THEN 2510
   : FOR L=1 TO X-C-1
   : C4=C4+1
   : D4=D4-1
   : IF B(C4,D4)<>0 THEN 2750
   : NEXT L
   : GOTO 2730
2510 FOR L=1 TO C-X-1
   : C4=C4-1
   : D4=D4+1
   : IF B(C4,D4)<>0 THEN 2750
   : NEXT L
   : GOTO 2730
2570 IF X=COR Y=D THEN 2010
   : GOTO 2230
2600 IF ABS(C-X)>1OR ABS(Y-D)>1 THEN 2750
   : IF X<>Y THEN 2640
   : IF C=D THEN 2750
2640 FOR X3=C-1 TO C+1
   : FOR Y3=D-1 TO D+1
   : IF X3>8OR Y3>8OR X3<1OR Y3<1 THEN 2710
   : IF B(X3,Y3)+B(X,Y)=0 THEN 2750
2710 NEXT Y3,X3
2730 Q=1
   : RETURN
2750 Q=0
   : RETURN
2770 X8,Y8=8
   : X9,Y9,C9,D9=1
   : FOR H=1 TO 8
   : M(H)=0
   : FOR I=1 TO 8
   : IF B(H,I)<=0 THEN 2900
   : IF H<X8 THEN X8=H
   : IF I<Y8 THEN Y8=I
   : IF H>X9 THEN X9=H
   : IF I>Y9 THEN Y9=I
   : IF B(H,I)<>9 THEN 2960
   : H5=H
   : I5=I
2900 IF B(H,I)=0 THEN 2960
   : IF H>C9 THEN C9=H
   : IF I>D9 THEN D9=I
   : IF B(H,I)<>-9 THEN 2960
   : H2=H
   : I2=I
2960 NEXT I,H
   : V6=-10
   : P1,C8=0
   : FOR X=1 TO C9
   : FOR Y=1 TO D9
   : IF B(X,Y)>=0 THEN 3400
   : FOR C=1 TO 8
   : FOR D=1 TO 8
   : IF B(C,D)<0 THEN 3380
   : GOSUB 1720
   : IF Q=0 THEN 3380
   : GOSUB 3820
   : IF M8=10 THEN 3380
   : IF C8=1 THEN GOSUB 4470
3110 V4=V4+2.5*RND(1)/(ABS(C-H5)+ABS(D-I5))
   : IF S6=1 THEN 3260
   : IF X<>1 THEN 3230
   : IF Y=4 THEN V4=V4+1
3150 IF S1=1 THEN 3190
   : IF Y>3 THEN 3190
   : IF Y=1 THEN V4=V4-1
3180 IF Y>1 THEN V4=V4+1.2
3190 IF S8=1 THEN 3260
   : IF Y<5 THEN 3230
   : IF Y<8 THEN V4=V4+1.2
   : IF Y=8 THEN V4=V4-1
3230 IF X<>2 THEN 3260
   : IF Y=2OR Y=5 THEN V4=V4+1
3260 V5=B(C,D)+V4
   : IF C<>8 THEN 3270
   : IF B(X,Y)=-1 THEN V5=V5+3
3270 IF V5<V6 THEN 3380
   : V6=V5
   : X6=X
   : Y6=Y
   : C5=C8
   : C6=C
   : D6=D
   : Y6=Y
3380 NEXT D,C
3400 NEXT Y,X
   : IF V6=-10 THEN 3740
   : IF S6=1 THEN 3510
   : IF V6>2 THEN 3510
   : IF S1=1 THEN 3480
   : GOSUB 5420
   : IF S6=1 THEN 3790
3480 IF S8=1 THEN 4830
   : GOSUB 5270
   : IF S6=1 THEN 3790
3510 X=X6
   : Y=Y6
   : C=C6
   : D=D6
   : GOSUB 530
   : IF B(X,Y)=-1 AND C=X+2 THEN M(D)=1
   : GOSUB '100
   : PRINT AT(0,50,29);AT(2,50);"COMPUTER MOVES ";AT(3,50);D$;" TO";C;",";D
   : IF B(C,D)=0 THEN 3630
   : GOSUB 520
   : PRINT AT(4,50);"AND TAKES YOUR ";D$
3630 B(C,D)=B(X,Y)
   : IF C5=1 THEN PRINT AT(5,50);"...AND YOU'RE IN CHECK!"
   : B(X,Y)=0
   : IF C<>8 THEN 3690
   : IF B(C,D)<>-1 THEN 3690
   : PRINT AT(4,50);"COMPUTER PROMOTES TO QUEEN"
   : B(C,D)=-7
3690 PRINT
   : IF X<>H2 THEN 3740
   : IF Y<>I2 THEN 3740
   : H2=C
   : I2=D
3740 IF B(C,D)=-9 THEN S6=1
   : IF B(C,D)<>-5 THEN RETURN
   : IF Y=1 THEN S1=1
   : IF Y=8 THEN S8=8
   : RETURN
3790 GOSUB '100
   : PRINT AT(2,50);
   : PRINT "COMPUTER CASTLES."
   : RETURN
3820 X2=X
3830 C2=C
3840 D2=D
3850 Y2=Y
3860 P4=B(C,D)
3870 Z7=C9
3880 Z4=D9
3890 B(C,D)=B(X,Y)
3900 C8,M8,V4,B(X,Y)=0
3910 IF C>C9 THEN 3912
   : GOTO 3920
3912 C9=C
3920 IF D>D9 THEN 3922
   : GOTO 3930
3922 D9=D
3930 FOR C=1 TO C9
3940 FOR D=1 TO D9
3950 IF B(C,D)>=-1 THEN 4070
3960 FOR X=X8 TO X9
3970 FOR Y=Y8 TO Y9
3980 IF B(X,Y)<=0 THEN 4050
3990 GOSUB 1720
4000 IF Q=0 THEN 4050
4010 N4=B(C,D)
4020 IF N4=-9 THEN 4022
   : GOTO 4030
4022 M8=10
4030 IF ABS(N4)<B(X,Y) THEN 4032
   : GOTO 4040
4032 GOSUB 5830
4040 IF N4<V4 THEN 4042
   : GOTO 4050
4042 V4=N4
4050 NEXT Y,X
4070 NEXT D,C
4090 X=C2
4100 Y=D2
4110 C=H5
4120 D=I5
4130 IF C>Z7 THEN 4132
   : GOTO 4140
4132 C9=Z7
4140 IF D>Z4 THEN 4142
   : GOTO 4150
4142 D9=Z4
4150 GOSUB 1720
4160 IF Q=0 THEN 4190
4170 C8=1
4180 V4=V4+1
4190 C=C2
4200 D=D2
4210 X=X2
4220 Y=Y2
4230 B(X,Y)=B(C,D)
4240 B(C,D)=P4
4250 RETURN
4260 X2=X
4270 Y2=Y
4280 C2=C
4290 D2=D
4300 P4=B(C,D)
4310 B(C,D)=B(X,Y)
4320 B(X,Y)=0
4330 IF B(C,D)=9 THEN 4360
4340 C=H5
4350 D=I5
4360 FOR X=1 TO 8
4370 FOR Y=1 TO 8
4380 IF B(X,Y)>=0 THEN 4410
4390 GOSUB 1720
4400 IF Q=1 THEN 4450
4410 NEXT Y,X
4430 Q=1
4440 GOTO 4190
4450 Q=0
4460 GOTO 4190
4470 E5=B(C,D)
4480 E1=X
4490 E2=Y
4500 E3=C
4510 E4=D
4520 B(C,D)=B(X,Y)
4530 B(X,Y)=0
4540 FOR X=X8 TO X9
4550 FOR Y=Y8 TO Y9
4560 IF B(X,Y)<=0 THEN 4660
4570 FOR C=1 TO 8
4580 FOR D=1 TO 8
4590 IF B(C,D)>0 THEN 4640
4600 GOSUB 1720
4610 IF Q=0 THEN 4640
4620 GOSUB 4260
4630 IF Q=1 THEN 4690
4640 NEXT D,C
4660 NEXT Y,X
4680 V4=100
4690 X=E1
4700 Y=E2
4710 C=E3
4720 D=E4
4730 B(X,Y)=B(C,D)
4740 B(C,D)=E5
4750 RETURN
4760 FOR K=19TO 22
   : PRINT AT(K,50,29);
   : NEXT K
   : PRINT AT(19,50);"(CASTLING)"
4770 A$=" "
4780 IF F9=1 THEN 4782
   : GOTO 4790
4782 A$="CASTLED PREVIOUSLY"
4790 IF F2=1 THEN 4792
   : GOTO 4800
4792 A$="ALREADY MOVED YOUR KING"
4800 IF C5=1 THEN 4802
   : GOTO 4810
4802 A$="CAN'T CASTLE OUT OF CHECK"
4810 IF A$<>" " THEN 4940
   : PRINT AT(20,50);"KING'S SIDE OR QUEEN'S";AT(21,50);"(ENTER K OR Q)";
4830 INPUT V$
4840 IF V$="K" THEN 4900
4850 IF F1=1 THEN 4852
   : GOTO 4860
4852 GOSUB 5250
4860 FOR G1=5 TO 6
4870 GOSUB 5100
4880 NEXT G1
4890 GOTO 4940
4900 FOR G1=2 TO 3
4910 IF F4=1 THEN 4912
   : GOTO 4920
4912 GOSUB 5250
4920 GOSUB 5100
4930 NEXT G1
4940 IF A$=" " THEN 4990
4950 F9=0
4960 PRINT AT(22,50);"YOU ";A$
4980 RETURN
4990 F9=1
5000 B(8,4)=0
5010 IF V$="K" THEN 5060
5020 B(8,6)=9
5030 B(8,8)=0
5040 B(8,5)=5
5050 RETURN
5060 B(8,2)=9
   : B(8,1)=0
   : B(8,3)=5
   : RETURN
5100 IF B(8,G1)<>0 THEN 5230
   : D=G1
   : C=8
   : FOR X=1 TO 8
   : FOR Y=1 TO 8
   : IF B(X,Y)>=0 THEN 5180
   : GOSUB 1720
   : IF Q=1 THEN 5210
5180 NEXT Y,X
   : RETURN
5210 A$="HAVE CONTROLLED SQUARES"
   : RETURN
5230 A$="HAVE A PIECE BETWEEN"
   : RETURN
5250 A$="ALREADY MOVED YOUR ROOK"
   : RETURN
5270 C=1
5280 FOR D=2 TO 4
5290 GOSUB 5570
5300 IF Q=1 THEN RETURN
5310 NEXT D
5320 X,Y=1
5330 D=3
5340 GOSUB 3820
5350 IF V4<-2 THEN RETURN
5360 B(1,4),B(1,1)=0
5370 B(1,2)=-9
5380 I2=2
5390 B(1,3)=-5
5400 S6=1
   : RETURN
5420 C=1
5430 FOR D=4 TO 7
5440 GOSUB 5570
5450 IF Q=1 THEN RETURN
5460 NEXT D
5470 X,C=1
5480 Y=8
5490 D=5
5500 GOSUB 3820
5510 IF V4<-2 THEN RETURN
5520 B(1,4),B(1,8)=0
5530 B(1,6)=-9
5540 I2=6
5550 B(1,5)=-5
5560 GOTO 5400
5570 Q=0
5580 IF B(C,D)=-9 THEN 5600
5590 IF B(C,D)<>0 THEN 5680
5600 FOR X=X8 TO X9
5610 FOR Y=Y8 TO Y9
5620 IF B(X,Y)<=0 THEN 5650
5630 GOSUB 1720
5640 IF Q=1 THEN RETURN
5650 NEXT Y,X
   : RETURN
5680 Q=1
   : RETURN
5700 PRINT HEX(06010202020F);
5705 FOR C=1 TO 8
   : FOR D=1 TO 8
   : GOSUB 520
5710 IF C=1 OR C=3 OR C=5 OR C=7 THEN 5720
   : IF D=2 OR D=4 OR D=6 OR D=8 THEN PRINT HEX(020400020E);
   : ELSE PRINT HEX(0F);
   : GOTO 5730
5720 IF D=1 OR D=3 OR D=5 OR D=7 THEN PRINT HEX(020400020E);
   : ELSE PRINT HEX(0F);
5730 PRINT AT((C-1)*3,(D-1)*6+1);
5740 IF B(C,D)>=0 THEN PRINT C$(1,C0);
   : ELSE PRINT C$(2,C0);
5750 PRINT HEX(01)
   : NEXT D,C
   : PRINT HEX(0F)
   : RETURN
5830 IF N4<-6 THEN RETURN
   : X1=X
   : Y1=Y
   : C1=C
   : D1=D
   : P6=N4
   : B(C,D)=B(X,Y)
   : B(X,Y)=0
   : FOR X=1 TO C9
   : FOR Y=1 TO D9
   : IF B(X,Y)>=0 THEN 5960
   : GOSUB 1720
   : IF Q=1 THEN 5990
5960 NEXT Y,X
   : GOTO 6000
5990 N4=0
6000 B(X1,Y1)=B(C1,D1)
   : B(C1,D1)=P6
   : X=X1
   : Y=Y1
   : C=C1
   : D=D1
   : RETURN
6070 PRINT HEX(0603)
   : FOR K=1TO 8
   : PRINT AT(0,0);BOX(K,K*2);AT(8-K,(8-K)*2);BOX(K,K*2)
   : NEXT K
   : FOR K=1TO 8
   : PRINT AT(K-1,17);K
   : NEXT K
   : PRINT AT(8,0);" 1 2 3 4 5 6 7 8"
   : PRINT
6080 PRINT "AS THE COMPUTER REQUESTS IT, INPUT THE"
   : PRINT "COORDINATES OF YOUR MOVE- FIRST THE"
   : PRINT "LOCATION OF THE PIECE, THEN THE DESTINATION."
   : PRINT "TYPE X,Y WHERE X IS THE RANK (ROW) AND Y IS"
   : PRINT "THE FILE (COLUMN)"
   : PRINT
   : PRINT "\D3\D0\C5\C3\C9\C1\CC\A0\D2\D5\CC\C5\D3"
6140 PRINT " TO CASTLE, TYPE 10,10"
   : PRINT " TO START A MOVE ALL OVER, TYPE 0,0"
   : PRINT " TO MOVE EN PASSENT, GIVE COORDINATES AS USUAL"
   : PRINT
   : RETURN
6260 FOR P=1 TO 500
   : NEXT P
6270 PRINT AT(19,50);"DO YOU WANT TO PLAY ANOTHER";AT(20,50);"GAME ";Z$;"?  (Y
     /N)";
   : LINPUT Z1$
   : IF Z1$ = "N" THEN 6280
   : IF Z1$ <> "Y" THEN 6270
   : GOTO 105
6280 DEFFN'16
   : LOAD DC T#0,"START"
7000 DEFFN'100
   : PRINT HEX(06)
   : FOR K=0TO 22
   : PRINT AT(K,50,29)
   : NEXT K
   : RETURN
8990 DEFFN'31
   : SCRATCH T"CHESS"
   : SAVE T()"CHESS"