10 CLS0:Q$(0)="دد":K$(0)="دد":FORX=1TO5:Q$(X)=CHR$(128):K$(X)=Q$(X):NEXTX:Q$(1)="پ‚":K$(1)="„ˆ":K$(2)=K$(1):Q$(5)="ٌٍ" 20 K$(4)="ôّ":K$(5)=K$(4):DIMR(4),S(7,7):G=-1:R(0)=-99:DATA1,-3,1,-3,0,-3,-1,-3,-3,1,-3,0,-3,-1,-3,-1,15 30 FORX=0TO7:FORY=0TO7:READS(X,Y):IFS(X,Y)=15THENRESTORE:READS(X,Y) 40 NEXTY,X:D=0:FORY=7TO0STEP-1:FORX=0TO7:F=S(X,Y)+3:PRINT@D,Q$(F);:PRINT@D+32,K$(F);:D=D+2:NEXTX:D=D+48:NEXTY 50 PRINT@20,"CHECKERS";:SOUND150,5:PRINT@51,"MOVE FIRST?"; 60 A$=INKEY$:IFA$=""THEN60 70 IFA$="Y"THEN450 80 R(1)=(RND(4)*2)-1:R(2)=5:T=RND(2):T=T-1:IFT=0THENT=T-1 90 R(3)=R(1)+T:R(4)=4:IFR(3)>7THEN80 95 GOTO 320 100 FORX=7TO0STEP-1:FORY=7TO0STEP-1:IFS(X,Y)>-1ORS(X,Y)=-3THEN130 110 FORA=-1TO1STEP2:IFS(X,Y)=-1THENB=G:GOSUB150 120 IFS(X,Y)=-2THENFORB=-1TO1STEP2:GOSUB150:NEXTB 125 NEXTA 130 NEXTY,X:GOTO310 150 J=X+A:K=Y+B:IFJ<0ORJ>7ORK<0ORK>7THEN200 160 IFS(J,K)=0THENGOSUB210:GOTO200 170 IFS(J,K)<0THEN200 180 J=J+A:K=K+B:IFJ<0ORJ>7ORK<0ORK>7THEN200 190 IFS(J,K)=0THENGOSUB210 200 RETURN 210 IFK=0ANDS(X,Y)=-1THENN=N+2 220 IFABS(Y-K)=2THENN=N+5 230 IFY=7THENN=N+2 240 IFY=0ORJ=7THENN=N+1 250 FORC=-1TO1STEP2:IFJ+C<0ORJ+C>7ORK+G<0THEN290 260 IFS(J+C,K+G)<0THENN=N+1:GOTO290 270 IFJ-C<0ORJ-C>7ORK-G>7THEN290 280 IFS(J+C,K+G)>0AND(S(J-C,K-G)=0OR(J-C=XANDK-G=Y))THENN=N-2 290 NEXTC:IFN>R(0)THENR(0)=N:R(1)=X:R(2)=Y:R(3)=J:R(4)=K 300 N=0:RETURN 310 IFR(0)=-99THEN550 320 SOUND200,2:R(0)=-99:IFR(4)=0THENS(R(3),R(4))=-2:GOTO340 330 S(R(3),R(4))=S(R(1),R(2)) 340 X=R(1):Y=R(2):GOSUB620:GOSUB600:X=R(3):Y=R(4):GOSUB620:S(R(1),R(2))=0:IFABS(R(1)-R(3))<>2THEN450 350 W=(R(1)+R(3))/2:L=(R(2)+R(4))/2:S(W,L)=0:D=(ABS(L-7)*64)+(W*2):GOSUB600 360 X=R(3):Y=R(4):IFS(X,Y)=-1THENB=-2:FORA=-2TOASTEP4:GOSUB400 370 IFS(X,Y)=-2THENFORA=-2TO2STEP4:FORB=-2TO2STEP4:GOSUB400:NEXTB 380 NEXTA:IFR(0)<>-99THEN320 390 GOTO450 400 J=X+A:K=Y+B:IFJ<0ORJ>7ORK<0ORK>7THEN420 410 IFS(J,K)=0ANDS(X+A/2,Y+B/2)>0THENGOSUB210 420 RETURN 450 PRINT@146,"FROM:";:SOUND200,1:INPUTE,H:IFE>7ORH>7THEN450 452 IFS(E,H)<=0THEN450 460 PRINT@178,"TO :";:SOUND150,1:INPUTA,B:IFA>7ORB>7ORA<0ORB<0THEN460 470 IFS(A,B)<>0ORABS(A-E)>2ORABS(A-E)<>ABS(B-H)OR(S(E,H)=1ANDH>B)THENSOUND100,2:GOTO450 480 X=E:Y=H:GOSUB620:GOSUB600:S(A,B)=S(E,H):S(E,H)=0:IFABS(E-A)<>2THEN530 490 X=A:Y=B:GOSUB620:W=(E+A)/2:L=(H+B)/2:S(W,L)=0:D=(ABS(L-7)*64)+(W*2):GOSUB600 500 PRINT@210,"+TO :";:SOUND150,1:INPUTA1,B1:IFA1<0ORB1<0ORA1>7ORB1>7THEN530 510 IFS(A1,B1)<>0ORABS(A1-A)<>2ORABS(B1-B)<>2THEN500 520 E=A:H=B:A=A1:B=B1:GOTO480 530 IFB=7THENS(A,B)=2 540 X=A:Y=B:GOSUB620:R=146:FORX=0TO2:PRINT@R+(X*32),"ًًًًًًًًًًًًًً";:NEXT:GOTO100 550 PRINT@242,"YOU WIN!";:FORT=1TO10:SOUND200,1:NEXT 560 K$=INKEY$:GOTO560 600 PRINT@D,"ًً";:PRINT@D+32,"ًً";:RETURN 610 FORM=1TO10:NEXTM:RETURN 620 F=S(X,Y)+3:D$=Q$(F):D1$=K$(F) 630 D=(ABS(Y-7)*64)+(X*2):FORT=1TO5:GOSUB600:GOSUB610:PRINT@D,D$;:PRINT@D+32,D1$;:GOSUB610:NEXTT:RETURN