NSSE13  SNARKREM SNARKO   'W ,g 1 6 Q U  HBRREM _ FROG n HANOI s ACEYDUCYx BRIDGE ~  CHECKERS / ARKS CCERNING THE GAME OF SNARKO : This is a variation of the game of SNARK, found in - PCC's "First Book of Computer Games." =F These modifications have been made at the request ?P of my wife, who found the original game unbearably dull :Z since she couldn't see what was happening. I have 'd added three additional features| =n 1) After each guess, the grid is drawn again, showing >x the circle chosen as an empty area, with the center - of the circle indicated by an "O." : 2) A summary of all guesses can be obtained merely 4 by hitting without entering a value for  the X coordinate. ; 3) After the summary has been displayed, the player ? can request a chart of a sequence of previous moves, > to determine which positions have not been covered. < In systems which do not have the RAM to handle all of < these features, you may wish to eliminate #3, or both = #3 and #2, from the program. This can be easily done. = Feature #3, particularly, is of dubious utility in any ; event, since it becomes painfully slow as the number " of prior moves increases. = This entire program runs comfortably in 24K of RAM.  VARIABLES  K is the move counter -" AK) represents value of X on move K -, BK) represents value of Y on move K )6 CK) represents radius on move K 5@ DK) is the switch for the result, such that 1J DK)0 if snark is outside the circle 0T DK)1 if snark is inside the circle ,^ DK)2 if snark is on the circle h for any given move K +r Z is the line counter for the grid +| W is the columnar position counter  ANALYSIS BY NUMBERS  10 Randomizer 1 30 Test for rules, or skip to main program  40220 Rules 4 100 and 230 Delay to allow time to read rules ( 240250 The snark hides, randomly 9 270 String for X coordinate test, set move counter 8 280 X coordinate is first entered as a string, so 6 that if no value is entered, a will cause 9 the program to jump to the summary subroutine. 9 If the summary subroutine is to be eliminated, : the input mechanism for the X coordinate can be < altered to make it analogous to the input for the 0 Y coordinate, found at lines 320340. , 290300 Checks that X is proper value ; 310 Changes string to numeric value for X coordinate 9& 320340 Input Y coordinate, check for proper value +0 350 Calculate distance to snark site .: 360380 Input radius and check validity 1D 390400 If radius is zero, check for a win N 410 Go to grid subroutine =X 420460 Determine whether snark is inside, outside, or ;b on the circle, report finding, set DK) variable *l for summary subroutine purposes =v 470480 Increment move counter, humiliate incompetents + 490 Clear screen, we've got a winner + 500540 Commentary on player's skill  550560 Try again? 1 570 Winner subroutine, Z$ is an empty line 9 580600 If snark is not in this line, print Z$ an - empty line), and try the next line < 610 Check for special case where X coordinate is zero " 620 Draw the snark when X0 $ 630 Draw the snark, generally > I'd be the first to admit that the snark drawn by 9 this program is not all that impressive. No < heavyweight graphics or anything. Furthermore, : I'm not sure that 23) will produce an omega < in everybody's system. You'll probably have to 9  fiddle with it to get a snark you like. One - alternative would be as follows.   590 ZY v * 600 Z,Z$\  %4 Omit lines 610 and 620) 1> 630 Z,Z$1,X21),"*",Z$X23,25), =H This gives a star ) at the snark site. Yawn.) (R 640 Points out snark horizontally \ 650660 Finish grid $f 670 Points him out vertically +p 680 Clear screen for grid subroutine #z 690 List coordinates, radius : 700710 Test each line to see if circle touches it. / If not, print a line of 's at 780) : 720730 For each position in a line, check distance 0 to the snark from coordinates of move ( 740 Print center of target circle 8 750760 If position is outside circle, print a "+" 4 If it's on or inside circle, print a blank  770 End of line  790800 End of grid - 810 Clear screen for summary subroutine  820 Print heading 8 830840 Tabulate coordinates, radius for each move & 850890 Tabulate result of guess 2 910 Request chart from specified move number 7 920 Change string to numeric value of move chosen % 930 Check for valid move number 1$ 940 Chart prior moves, position by position 9. 950960 If position is in any circle, print a blank 8 970 Otherwise, print a "+" 1B 980 Finish chart and return to main program 0L "LIST THIS PROGRAM INSTEAD OF USING RUN." V ise, print a "+" 1B 980 Finish chart and return to main program 0L "LIST THIS PROGRAM INSTEAD OF USING RUN." V ion 9p 950960 If position is in any circle, print a blank q 970 Otherwise, pr7 Q$ 12) \ Q1$ "*" \ Q2$ "<<<" \ Q3$ "^" 4 "GIVE ME A NUMBER GREATER THAN 1 ",J\X1J) % A20),B20),C20),D20),Z$25) / "WANT THE RULES? ",Y$\ Y$"YES" \ 9( "A SNARK IS HIDING IN A 10 BY 10 GRID LIKE THE ONE" 2 "SHOWN BELOW:" < Z9 0 1 #F Z$" + + + + + + + + + + " P Z,Z$\ Z Z 2),0,1,2,3,4,5,6,7,8,9\ d J1 4000\ (n "TRY TO CATCH HIM. HERE'S HOW:"\  J1 K1 "H J,8),AJ),BJ),21),CJ), R DJ)0 p \ DJ)1 z !f 30),"ON THE CIRCLE"\  &p 30),"OUTSIDE THE CIRCLE"\  z 30),"INSIDE THE CIRCLE"  J\ = "CHART SINCE WHICH MOVE? (Hit RETURN to continue) ",M$  M$"" \MM$)  MK \  - Z9 0 1\Z,\ W0 9\ VM K1  DZBV))2WAV))2 $ DCV))2 \" ",\   V\" +", . W\\ Z\2),0,1,2,3,4,5,6,7,8,9\  h  h $ I9C$)1 8 $ C$C$" " $ I9 $ #0 %0,D$ $ I91 8 $$ #0 %L16I91,&C$I9,I9)), $ I9 $ #0 "$ (# @*# @,# DIRRED @.# 0# 2# >4# PARAMETERS 96# D$ DIRECRY NAME,DISC DRIVE ..IE.. HRZREL4,1 38# C$ UP 8 CHARACTER NAME LEFT JUSTIED :# L VARIABLE *<# 0 POS RECD THAT MATCHES C$ "># 1 NO RECD MATCHED C$ ,@# 2 DIRECRY NAME,DISC DRIVE ERR @B# /D# VARIABLES USED IN SUBRINE BF# "H# X9,Y9,L9,I9,J8,J9,A916),B8$ AJ# L# v#,X9,Y9 N# #0 %0,D$ P# L9C$) R# I90 63 T# J8I916 V# J91 16 X# #0 %J91J8,&A9J9) Z# J9 \# B8$"" ^# J91 L9 `# B8$B8$A9J9)) b# J9 d# B8$C$1,L9) n# f# I9 h# DISK j# L1 l# p# n# LI9 p# #0 r# t# v# L2 x# z#  5^$ PARAMETERS >`$ D$ DIRECRY NAME,DISCC# # DIRWRTE C# # # B# PARAMETERS 7# D$ DIRECRYNAME, DISC DRIVE ..IE.. HRZREL4,1 1# C$ NEW NAME BE INSERTED IN DIRECRY ,$ L POSITI IN DIRECRY INSERT C$ $ 0$ COMMENT THIS RINE HAS NO ERR CHECKING :$ IT ASSUMES THAT L HAS A ID DIRECRY LOI B$ ) $ VARIABLE USED IN SUBRINE B $ $ I9 B$ $ I9C$)1 8 $ C$C$" " $ I9 $ #0 %0,D$ $ I91 8 $$ #0 %L16I91,&C$I9,I9)), $ I9 $ #0 "$ ͕FCWJCJ DdB1b'v@@)h1cIAg5`iBABK XJ2TCC%X$JC@?JCV>CCͮF{ʑW:T2TCTCTCTV>TJT*XJTTJTJC/XJCJ DCCJCT!CX>͌@CTA "INCASE YOU JUST EXECUTED A RUN COMMAND..TYPE LIST INSTEAD"   D DIRRED    DEIPTI @ THIS SUBRINE SEARCHES THE DIRECRY NAME,DISC DRIVE =& PLE "HRZ-REL4,2") LOED IN THE STRING D$ SEE THE E0 NAME LOED IN C$ EXISTS. IT EXISTS, THE POER L IS SET ITS =: ENTRY LOI IN D$. D$ IS INCRECT, L IS SET 2. 8D C$ DOES EXIST WITHIN THE DIRECRY, L IS SET 1 N X Hb Cl DIRWRTE   DEIPTI 9 THIS SUBRINE PLACES THE FIRST 8 CHARACTERS LOED 8 IN C$ O THE DIRECRY SPECIED BY D$ AT LOI L. @ THERE IS NO ERR CHECKING IN THIS RINE YOU CAN CLOBBER / THE DIRECTRY. L SHOULD BE BETWEEN 0 63   > AME   DEIPTI 7 AME IS A MAIN PROGRAM CHANGE THE NAME OF A 0  IT LY USES DIRRED DIRWRTE. IT REQUESTS = THE DIRECRY NAME, DISC DRIVE NAME CE IT FINDS $  THAT , REQUESTS THE NEW NAME. \ If H "CRUNCHER: REMOVES UNQUOTED SPACES AND REM TEXT FROM NSB PROGRAMS" F "VER 4.1 (07/25/78) BY JIM MERRITT, NORTH STAR COMPUTERS, INC."  B PROCESSES A NS BASIC SOURCE PROGRAM #1, NAMED IN S0$), =( SS A COMPACTED VERSI OF IT A DESTINATI #2, =2 NAME IN D0$). COMPACTI MEANS OVING ALL TEXT A< UNQUOTED SPACES. S FOUND AT THE OF MULTISTATEMENT @F S ARE OVED ENTIRELY, ALG WITH PRECEDING BACKSLASH.  P5P5256)1\ P5 NOW SIZE OF SOURCE PGM IN DISK BLOCKS  6 SCAN L$, ELIMINATE S TEXT EXTRA SPACES " COMPACTED VERSI AS L$ " Q0\ AULT IS QUOTE FLAG OFF  S0\ START OF  L13 D WE'LL UPDATE L$ BY WRITING OVER IT. L1 IS OUR "NEW" POSITI.  I4 L$)1 < L$I,I)Q$ QQ)\ FLIP QUOTE FLAG WHEN WE FIND E 2 Q \ IGNE QUOTED SPACES BACKSLASHES ( L$I,I)S$ 2\ ETE THE SPACE  L$I,I)B$ SL11 > L1L11\ L1I \L$L1)L$I,I)\ XFER PROCESSED CHAR *  L$I,I)R$ 2\ S L1S1\ < < START OF & WE FIND , KEEP KEYWD BUT ETE REST. 2 < L13 P >A BY THIS PT, IS ALL SPACES. IGNE THEM, SUBSTITUTE . F L$4)R$\L1L11 ?P L$L$1,L1)L$L$))\ PGM CODE IN IS NOW ALL COMPACTED &Z L$1)L$))\ CRECT GTH BYTE w x L$ DESTINATI  I1 L$)  #2,&L$I)),    GET SOURCE ! F1\ \ A0 3\S0$N$  #F%2,S0$ 3 4 GET DEST !> F2\ \ A0 \D0$N$ H #F%2,D0$  # GET NAME TEST ITS IDITY  A0\ NO ABT  (#\ J1 F\ P9$\ 1 P9$," (HIT RETURN ONLY TO QUIT): ",\ "",N$  N$"" \AF\   @,L9,E9 $ F2 L\ GET SOURCE SIZE T9N$)  T90   F2  4 N$," DOES NOT EXIST. TRY AGAIN PLEASE."\ * @,L9,E9\A71\ N$,P5,2\A70\ :  T92 & 3 "NOT A TYPE 2 FILE...PLEASE TRY AGAIN!"\ & F2 : $0 #2%2,N$,X5\ #2\ X5P5 : 05 N$," IS TOO SMALL FOR A DESTINATION FILE." ?6 "YOU NEED AT LEAST",P5," DISK SECTORS. TRY AGAIN."\ : PO SPAGHETTI ABOVE  @ ERR HLING RINE J DETERMINE WHICH ERR O T & ,U Y2\ E11 Y2\ E2\ E2E9 ^\ Y E1Y21\ ERR FOUND ;^ A8 E12 E1Y21\ A8, ANY ERR FATAL BUT CNT C _ A71 E13 E14 =` ABOVE ADJUSTS FACT THAT BAD NAME SYNTAX NOROOM 9a DISK SAME BASIC ERR CODE A INITE PROBLEM c E1 h,r,|,, h HARDDISK ERR Gi "I HAVE A PROBLEM READING YOUR DISKETTE. PLEASE TRY MAKING SURE" Ej "THAT THE DISKETTE CONTAINING ",N$," IS WELL-SEATED INSIDE THE" Gk "DRIVE YOU SPECIFIED, THEN, WHEN I ASK, TYPE ITS NAME ONCE MORE." #m \ BACK NAME RINE Cr USER HIT CNTL C TILL I DEVISE A BETTER WAY, JUST QUIT PGM w "QUIT"\ &| NO ROOM THE DISK NEW DEST D} "I'M SORRY. THERE IS NOT ENOUGH ROOM ON YOUR DISKETTE FOR ME" F~ "TO CREATE A COMPACTED VERSION OF ",S0$," ON IT. I'LL GIVE YOU" A "A CHANCE TO INSERT A ROOMIER DISKETTE ONTO WHICH I'LL PUT" G "THE COMPACTED VERSION. YOU WILL HAVE TO RETYPE THE NAME OF THE" ! "DESTINATION FILE, THOUGH."    NAME WAS BAD G N$," ISN'T A LEGAL FILENAME. PLEASE REFER TO NORTH STAR DOS AND" E "BASIC MANUALS IF YOU DON'T KNOW HOW TO FORM ONE PROPERLY, AND"  "PLEASE TRY AGAIN."   < FATAL ERR BEST JUST GIVE APOIES DUMP PROGRAM 6 "SERIOUS SYSTEM ERROR",E9," AT PROGRAM LINE",L9, $ "FORCES ME TO QUIT. SORRY."\ # RESET ERR TRAP NAME  \ @,L9,E9\  OF THE ERRHLER %(# "PROGRAM FILE TO BE COMPACTED" '2# "FILE TO HOLD COMPACTED PROGRAM" & 4\ NUMBER OF ERRS HLED & 8,15,7,7 $& HARDDISK,CNTRLC,NOOM,BADNAME ' OF PROGRAM ING  HARDDISK,CNTRLC,NOOM,BADNAME ' OF PROGRAM ING  ' OF PROGRAM ING  zvAy 1 'MOVAVG' COMPUTES A LE OF MOVING AVERAGES / USE THIS PROGRAM STATEMENTS STARTING  600 ARE USED. PLE, ( 600 10 2 601 20,52,31,47,59 < 602 75,64,45,37,50 *F WOULD BE USED 10 PERIOD SALES . *P '20' IS THE ACTUAL SALES PERIOD 1 *Z '52' IS THE ACTUAL SALES PERIOD 2 *d '50' IS THE ACTUAL SALES PERIOD 10 0n A PERIOD N) IS SELECTED, THE MOVING "x AVERAGE PERIOD 4 WOULD BE  205231)3 . 1 PERIOD 11 THE MOVING AVERAGE WOULD BE  453750)3 3 THIS PROGRAM ALLOWS THE USER TRY DFET . UES OF 'N'. THE PROGRAM CALCULATES THE 0 DFECES BETWEEN THE ECASTS THE ACTUAL 3 OBSERVATIS. THUS, USERS CAN SELECT THE UES . OF N MOST APPROPRIATE THEIR ECASTING NEEDS.  , SM) 6 SM)999999  @ 6),%6I,M,%10F2,SM) J S1SM)S1 T M 2^ CALCULATE MOVING AVERAGES DFECES h MN1 K r SM! PROGRAM\ MOVING AVERAGE % PROGRAMMER\ R. J. KREINDLER  S100) ( S10 2 T < T999999 F DEIBE HOW ENTER P "ENTER DATA AS FOLLOWS "\ Z " 600 DATA K" !d " 601 DATA S1,S2,S3,...,SN"  "THIS PROGRAM CONSISTS OF REMARKS ... LIST IT." H  THE GAME OF FROG / "***RIBBETT***"\Q.5)\I1100\Q0)\  "HOW MUCH TO WIN? ",F ( F0 '2 "WHO GOES FIRST? (1=YOU,0=ME) ",Q < S0\R0\Q1P F Q0 P  Z T0 &d \"YOU ROLL AND GET A ",\^ n D3S0 x T0 @  "ROLL AGAIN? ",A$  \A$"YES"d  A$"NO"  SST\ SF  T0 $ \"I ROLL AND GET A ",\^ D3R0 T0P  \C1 & RRT\"I'LL STOP WITH THIS"\  RF  Z  X60)1)\Y60)1) " D0\X1DD1 , Y1DD2 6 %@ "SCOREBOARD: ME-",R,", YOU-",S, J ", SCORE THIS SERIES ",T T \ 0^ D1"FROG AND A ",Y,", DICE CHANGE HANDS" -h D2X," AND A FROG, DICE CHANGE HANDS" r D3 "FROG AND A FROG" &| D3"---------CROAK!!!--------"  D0X," AND A",Y  \TTXY\D0  T0\ < "SCOREBOARD: ME-",R,", YOU-",S,"; ",F," NEEDED TO WIN"  \  "WELL, THAT'S IT, ", " RF" SKILL TRIUMPHS AGAIN" ! SF" BOY, WERE YOU LUCKY"  # "HOW ABOUT ANOTHER GAME? ",A$  \A$"YES"   VRT\VFN  FS)10X  RS&  LT25\D & VS: 0 LT30\D : LT35 D 0)LX N C0\ X C1\  WER OF HANOI GAME  Q17),Q27),Q37)   ( \ 2 T18)T28)n %< "END IN ",D," MOVES; SCORE = ", F V100VD.5)\V,"%" P \"TRY AGAIN? ",A$ Z A$"YES" d n \x\( x \X,,  Y,  Q2T21)Q3T3)\Q3T3)0\  Q1T11)Q3T3)\Q3T3)0\  Y,,  Q3T31)Q2T2)\Q2T2)0\  Q1T11)Q2T2)\Q2T2)0\  Y,,  Q2T21)Q1T1)\Q1T1)0\  Q3T31)Q1T1)\Q1T1)0\ T18\T28\T38\I07\J7I  Q1J)0T1T11  Q2J)0T2T21  Q3J)0T3T31  \  "MOVE? ",X,Y\DD1\  \\"MOVE ",D " \ , J07 6 I19Q1J))\" ",\ @ Q1J)0"!", J Q1J)0h T I1Q1J)\"*",\\"!", ^ I1Q1J)\"*",\ "h I120Q1J)Q2J))\" ",\ r Q2J)0"!", | Q2J)0  I1Q2J)\"*",\\"!",  I1Q2J)\"*",\ " I120Q2J)Q3J))\" ",\  Q3J)0"!",  Q3J)0  I1Q3J)\"*",\\"!",  I1Q3J)\"*",\    \  J07\Q2J)0\Q3J)0\  "HOW MANY DISKS? ",K  V2K)1  I07\Q17I)KI\  I07\Q1I)0Q1I)0  & D0\ !Z(0"Z( GAME OF ACEYDEUCY  X.5)\I150\X0)\ 4 "ACEY-DUCEY IS PLAYED IN THE FOLLOWING MANNER" 9( "THE DEALER (THE COMPUTER) DEALS TWO CARDS FACE UP" :2 "YOU HAVE THE OPTION TO BET OR NOT TO BET DEPENDING" :< "ON WHETHER OR NOT YOU FEEL THE NEXT CARD WILL HAVE" &F "A VALUE BETWEEN THE FIRST TWO." *P "IF YOU DO NOT WANT TO BET, INPUT 0" Z \N100\Q100\ d "YOU NOW HAVE $",Q\\ n QQM\d x QQM\d ' "HERE ARE YOUR NEXT TWO CARDS..."  A140))2  A2 A14  B140))2  B2 B14 AB  A11  A10) ,,,  A," AND ",\  "JACK AND ",\  "QUEEN AND ",\  "KING AND ",\  "ACE AND ",  B11  B10) ",,,6,@  B\J " "JACK"\J , "QUEEN"\J 6 "KING"\J @ "ACE" J T "WHAT IS YOUR BET ",M ^ M0| h "CHICKEN!"\ r | MQ $ "SORRY, YOU BET TOO MUCH"\J  "YOU GET A ",  C140))2  C2 C14   C11  C10) ,,,  C\  "JACK"\  "QUEEN"\  "KING"\  "ACE"  CA    CB  "YOU WIN!!!"\n  "SORRY, YOU LOSE." & MQx /0 \"SORRY, FRIEND, BUT YOU BLEW YOUR WAD!" : "TRY AGAIN? ",A$ D A$"YES"Z "N \"O.K., HOPE YOU HAD FUN!!" !!" O.K., HOPE YOU HAD FUN!!" OU HAD FUN!!" O.K., HOPE YOU HAD FUN!!" OU HAD FUN!!" 2:JB"*" A$13)\A$ "23456789TJKQA" / A51),A012),A112),A212),A312),A412) " B112),B212),B312),B412) "( C112),C212),C312),C412) "2 D112),D212),D312),D412) "< E112),E212),E312),E412) F Z2 314159 P Z3 0 Z Z1 Z2999863 d Z3 Z31\ n " HAND NO. ",Z3 x I0 51\AI)0\  K10\K20\K30\K40  \X Z152)  X51  AX) 0  K1 12 ( A1K1) X\AX) 1\K1 K11\  K2 12 ( A2K2) X\AX) 1\K2 K21\  K3 12 ( A3K3) X\AX) 1\K3 K31\ I0 51\ AI) 0  A4K4) I\K4 K41  % I0 12\A0I) A1I)\\ r 9 I0 12\C1I) B1I)\C2I) B2I)\C3I) B3I) 4 C4I) B4I)\\K1 J1\K2 J2\K3 J3\K4 J4 %" I0 12\A0I) A2I)\\ r 9, I0 12\D1I) B1I)\D2I) B2I)\D3I) B3I) 46 D4I) B4I)\\L1 J1\L2 J2\L3 J3\L4 J4 %@ I0 12\A0I) A3I)\\ r 9J I0 12\E1I) B1I)\E2I) B2I)\E3I) B3I) 4T E4I) B4I)\\M1 J1\M2 J2\M3 J3\M4 J4 %^ I0 12\A0I) A4I)\\ r h \  r J1 0\J2 0\J3 0\J4 0 | I0 11\ JI 12  A0I) A0J)  ( K0 A0I)\A0I) A0J)\A0J) K0  \ 3 I0 12\Y A0I)13)\X A0I)Y13)1  Y 1   B1J1) X\J1 J11\   Y 2   B2J2) X\J2 J21\   Y 3   B3J3) X\J3 J31\   Y 4   B4J4) X\J4 J41  \  "NORTH: S:",\   32),"EAST: S:",\ \  8),"H:",\  & 38),"H:",\ \ 0 8),"D:",\ 4 : 38),"D:",\ R\ D 8),"C:",\ p N 38),"C:",\ \ X \ b "SOUTH: S:",\  l 32),"WEST: S:",\ \ v 8),"H:",\   38),"H:",\ \  8),"D:",\ $  38),"D:",\ B\  8),"C:",\ `  38),"C:",\ ~\  \\  J10   " NONE",\ % I0 J11\X B1I)\ \\  K10   " NONE",\ % I0 K11\X C1I)\ \\  J2 0   " NONE",\ %  I0 J21\X B2I)\ \\  K2 0 *   " NONE",\ %* I0 K21\X C2I)\ \\ 4 J3 0 H > " NONE",\ %H I0 J31\X B3I)\ \\ R K3 0 f \ " NONE",\ %f I0 K31\X C3I)\ \\ p J4 0  z " NONE",\ % I0 J41\X B4I)\ \\  K4 0   " NONE",\ % I0 K41\X C4I)\ \\  L1 0   " NONE",\ % I0 L11\X D1I)\ \\  M1 0   " NONE",\ % I0 M11\X E1I)\ \\  L2 0   " NONE",\ % I0 L21\X D2I)\ \\  M2 0   " NONE",\ % I0 M21\X E2I)\ \\ $ L3 0 8 . " NONE",\ %8 I0 L31\X D3I)\ \\ B M3 0 V L " NONE",\ %V I0 M31\X E3I)\ \\ ` L4 0 t j " NONE",\ %t I0 L41\X D4I)\ \\ ~ M4 0   " NONE",\ % I0 M41\X E4I)\ \\  A$X,X)," ",\  Z1 Z11000) " Z2 Z21.0E3Z11.0E6Z1137  Z1 Z2999863   \\\  "ANOTHER HAND? ",X$  X$ "YES" d  \" Z2 = ",Z2 ) N131),N231),N331),N431),B$40) ) J131),J231),J331),J431),B031) - 32,32,32,32,32,0,1,2,4,5,6,7,32,8,9,10 6( 12,13,14,15,32,16,17,18,20,21,22,23,32,24,25,26 -2 32,32,32,32,0,1,2,3,5,6,7,32,8,9,10,11 6< 13,14,15,32,16,17,18,19,21,22,23,32,24,25,26,27 0F 4,5,6,7,32,8,9,10,12,13,14,15,32,16,17,18 6P 20,21,22,23,32,24,25,26,28,29,30,31,32,32,32,32 1Z 5,6,7,32,8,9,10,11,13,14,15,32,16,17,18,19 6d 21,22,23,32,24,25,26,27,29,30,31,32,32,32,32,32 0n 32,32,32,32,32,32,32,32,32,0,1,2,32,4,5,6 4x 32,8,9,10,32,12,13,14,32,16,17,18,32,20,21,22 0 32,32,32,32,32,32,32,32,1,2,3,32,5,6,7,32 5 9,10,11,32,13,14,15,32,17,18,19,32,21,22,23,32 4 32,8,9,10,32,12,13,14,32,16,17,18,32,20,21,22 6 32,24,25,26,32,28,29,30,32,32,32,32,32,32,32,32 5 9,10,11,32,13,14,15,32,17,18,19,32,21,22,23,32 6 25,26,27,32,29,30,31,32,32,32,32,32,32,32,32,32   A$"PK0*." & I031\N1I)\\I031\N2I)\ & I031\N3I)\\I031\N4I)\ & I031\J1I)\\I031\J2I)\ & I031\J3I)\\I031\J4I)\ $ "*** THE GAME OF CHECKERS ***" ( "WOULD YOU LIKE INSTRUCTIONS? ",C$  C$"NO""  J\ ," b\"WHO GOES FIRST? (0=ME,1=YOU) ",N , N0V1 6 N1V1 @ v\\@ -J "THE RULES OF CHECKERS ARE AS FOLLOWS:" /T " 1. I ALWAYS PLAY RED, YOU PLAY BLACK." (^ " 2. YOU CHOOSE WHO PLAYS FIRST." 2h " 3. IF YOU HAVE A JUMP, YOU MUST TAKE IT." 4r " 4. IF YOU DON'T TAKE THE JUMP, YOU FORFIET" .| " YOUR MAN, AND YOU LOSE YOUR TURN." , " 5. I ONLY KNOW ABOUT SINGLE JUMPS." 3 \"LET ME KNOW WHEN YOU ARE READY (1=RDY) ",I  I1   2 "THE BLACK SQUARES ARE NUMBERED AS FOLLOWS:"  \N125\" ",\\"RED"  "SYMBOL:",\N115\" ",\ & "0 1 2 3"\"0 = RED PAWN", $ N18\" ",\\"4 5 6 7" % "* = RED KING",\N110\" ",\ & "8 9 10 11"\"P = BLK PAWN", % N17\" ",\\"12 13 14 15" $ "K = BLK KING",\N19\" ",\ $ "16 17 18 19"\". = EMPTY", & N110\" ",\\"20 21 22 23" & N121\" ",\\"24 25 26 27" && N119\" ",\\"28 29 30 31" 0 N124\" ",\\"BLACK" ): \\"I'LL WAIT WHILE YOU COPY THIS" &D "ENTER 1 WHEN YOU ARE READY. ",I N I1 X D )b N011\B0N)2\\N1219\B0N)4\ l N2031\B0N)0\\V1\ (v "THE BOARD NOW LOOKS LIKE THIS:"\ + B$""\N124\B$B$" "\\N0\\B$ + B$""\N122\B$B$" "\\N4\\B$ + B$""\N124\B$B$" "\\N8\\B$ , B$""\N122\B$B$" "\\N12\\B$ , B$""\N124\B$B$" "\\N16\\B$ , B$""\N122\B$B$" "\\N20\\B$ , B$""\N124\B$B$" "\\N24\\B$ , B$""\N122\B$B$" "\\N28\\B$  \\  KNN3)\XB0K).5)1  B$B$A$X,X)" "\  X40B$)\X0  K1X\B$B$" "\\  V0   *  \   x\ &* "YOUR MOVE. ENTER FROM,TO: ",I,J 4 A0\X11\X21 > B0A)1j H N1A)31 R B0N1A))2 \ B0N1A))4 f J1A)31 p B0J1A))4 z IAJJ1A)  X1A\X2J1A)  N2A)31  B0N2A))2  B0N2A))4  J2A)31  B0J2A))4  IAJJ2A)  X1A\X2J2A)  B0A)1j  N3A)31$  B0N3A))2$  B0N3A))4$  J3A)31$  B0J3A))4$  IAJJ3A)  X1A\X2J3A) $ N4A)31j . B0N4A))2j 8 B0N4A))4j B J4A)31j L B0J4A))4j V IAJJ4A) ` X1A\X2J4A) j AA1\A32> t X10 ~ IX1\JX2\X1 ( "PENALTY! MUST JUMP ",I," TO ",J\  X0\X11\  X0\X12\  X0\X13\  X0\X14\  B0I)2 ) "INVALID; YOU LOSE YOUR TURN"\X2\  B0J)4  X0\X11\  X0d  X10  B0J)B0I)\B0I)4\F  X11 )  B0J)B0I)\B0N1J))4\B0I)4\F  X12( ) B0J)B0I)\B0N2I))4\B0I)4\F ( X13< )2 B0J)B0I)\B0N3I))4\B0I)4\F $< B0J)B0I)\B0N4I))4\B0I)4 F A03\B0A)0B0A)1 P \A2831\B0A)2B0A)3 Z \VV\ d X1F n B0I)4\F "x "MY MOVE. ",\A0\X11\X21  B0A)2  B0A)4  B0A)2@  N1A)31  B0N1A))4  B0N1A))1  J1A)31  B0J1A))4  X0\IA\JJ1A)\X11\  X10  X1A\X2N1A)  N2A)31@  B0N2A))4,  B0N2A))1@  J2A)31@  B0J2A))4@ " X0\IA\JJ2A)\ , X10@ 6 X1A\X2N2A) @ N3A)31 J B0N3A))4| T B0N3A))1 ^ J3A)31 h B0J3A))4 r X0\IA\JJ3A)\ | X10  X1A\X2N3A)  N4A)31  B0N4A))4  B0N4A))1  J4A)31  B0J4A))4  X0\IA\JJ4A)\  X10  X1A\X2N4A)  AA1\A32  X10  IX1\JX2\X0\X11  N11000\K0\ ! "I MOVE FROM ",I," TO ",J\  "I CAN'T MOVE - I CONCEDE" !l 2B2B2B2B2BA A@APA`