5 PRINT 10 PRINT "SOLITAIRE CHECKER PUZZLE BY DAVID AHL" 15 PRINT 20 PRINT "48 CHECKERS ARE PLACED ON THE 2 OUTSIDE SPACES OF A" 25 PRINT "STANDARD 64-SQUARE CHECKERBOARD. THE OBJECT IS TO" 30 PRINT "REMOVE AS MANY CHECKERS AS POSSIBLE BY DIAGONAL JUMPS" 35 PRINT "(AS IN STANDARD CHECKERS). USE THE NUMBERED BOARD TO" 40 PRINT "INDICATE THE SQUARE YOU WISH TO JUMP FROM AND TO. ON" 45 PRINT "THE BOARD PRINTED OUT ON EACH TURN '1' INDICATES A" 50 PRINT "CHECKER AND '0' AN EMPTY SQUARE. WHEN YOU HAVE NO" 55 PRINT "POSSIBLE JUMPS REMAINING, INPUT A '0' IN RESPONSE TO" 60 PRINT "QUESTION 'JUMP FROM ?'" 62 PRINT 65 PRINT "HERE IS THE NUMERICAL BOARD:" 66 PRINT 68 DIM A(64) 70 FOR J=1 TO 57 STEP 8 72 B$="## ## ## ## ## ## ## ##" 74 PRINT USING B$;J,J+1,J+2,J+3,J+4,J+5,J+6,J+7 76 NEXT J 77 PRINT 78 PRINT "AND HERE IS THE OPENING POSITION OF THE CHECKERS:" 79 PRINT 80 FOR J=1 TO 64 82 A(J)=1 84 NEXT J 86 FOR J=19 TO 43 STEP 8 88 FOR I=J TO J+3 90 A(I)=0 92 NEXT I 94 NEXT J 96 M=0 98 GOTO 340 100 INPUT "JUMP FROM";F 105 IF F=0 THEN 500 110 INPUT "TO";T 112 PRINT 118 REM *** CHECK LEGALITY OF MOVE 120 F1=INT((F-1)/8) 130 F2=F-8*F1 140 T1=INT((T-1)/8) 150 T2=T-8*T1 160 IF F1>7 THEN 230 170 IF T1>7 THEN 230 180 IF F2>8 THEN 230 190 IF T2>8 THEN 230 200 IF ABS(F1-T1)<>2 THEN 230 210 IF ABS(F2-T2)<>2 THEN 230 212 IF A((T+F)/2)=0 THEN 230 215 IF A(F)=0 THEN 230 220 IF A(T)=1 THEN 230 225 GOTO 250 230 PRINT "ILLEGAL MOVE. TRY AGAIN..." 240 GOTO 100 245 REM *** UPDATE BOARD 250 A(T)=1 260 A(F)=0 270 A((T+F)/2)=0 290 M=M+1 310 REM *** PRINT BOARD 340 FOR J=1 TO 57 STEP 8 350 FOR I=J TO J+7 360 PRINT A(I); 370 NEXT I 380 PRINT 390 NEXT J 400 PRINT 410 GOTO 100 490 REM *** END GAME SUMMARY 500 S=0 510 FOR I=1 TO 64 520 S=S+A(I) 530 NEXT I 535 PRINT 540 PRINT "YOU MADE"M"JUMPS AND HAD"S"PIECES" 550 PRINT "REMAINING ON THE BOARD." 560 PRINT 562 INPUT "TRY AGAIN";A$ 570 IF A$="YES" THEN 70 575 IF A$="NO" THEN 600 580 PRINT "PLEASE ANSWER 'YES' OR 'NO'." 590 GOTO 562 600 PRINT 610 PRINT "O.K. HOPE YOU HAD FUN!" 999 END