d: **************n: * BACKGAMMON *x: **************: COPYRIGHT 1984,19857: EMERALD VALLEY PUBLISHING CO.P: BY DENNIS WEBBERj: AND THE HCM STAFF: HOME COMPUTER MAGAZINE: VERSION 5.1.1: IBM PCjr WITH CARTRIDGE BASIC FROM DOS 2.1: IBM PC WITH BASICA &: COLOR/GRAPHICS ADAPTER &+: COLOR MONITOR3:: : : ,: :  ,: "BACKGAMMON": Z  : (,Z),dZ,,,,Z:: , : "PRESS ";();();" TO START";: R P(): "ENTER YOUR INITIALS:",N$:N$(N$,): ,: "1 1 1 1 1 1 1 2 2 2 2 2": " 3 4 5 6 7 8 9 0 1 2 3 4": ,: "1 1 1": " 2 1 0 9 8 7 6 5 4 3 2 1" Z : (Z,Z)(Z,Z),,B:: (,)(,),,BF: (,)(,),,BF: (u,)(x,),,BF: (,)(,),,BF" Z s : (Z,)(Z,M),,B: (Z,Q)(Z,),,B:: Z  : (Z,)(Z,M),,B: (Z,Q)(Z,),,B:,E: X : NP: (NP) PL : PL6 Z (NP): ::$@ ,: "MY ROLL";:DPX : : : " YOUR ROLL";:DPX`: :  tJ ( ,)(t,),,BF: ,: D1D2 "YOU GO FIRST ";: : hT D2D1 "I GO FIRST ";: : h^ "IT'S A TIE -- WE WILL ROLL AGAIN";: : ,: (");: @ h D1D2 PL : PL!rCML:UML: 2| PL PL: (,)(2,),,BF: ,: (&);: ,: "YOUR TURN";: &: : ,: (&);: ,: "PRESS "();();" TO ROLL YOUR DICE";: RDPX: : :DPX: : D1D2 D1,D2:SWP : SWP5 D1D2 TURNS : TURNS &: : TURNS (D2 SWP) (D1 SWP) (,)(2,),,BF : (,)(,),,BF4 ,: ();: ,: P()  : (P(D1) D1) (P(D2) D2) "FROM BAR TO --";:F: : : : E D1 x Z D1 : P(Z) P(ZD1) ~ D2  Z D2 : P(Z) P(ZD2)  A5 A5D1  : A5D2 ( (A5 P(D1)) (A5 P(D2)) 8 : h ,: ();: ,: "FROM--": ,, R: K$"1" K$"9"  : F(K$): K$;: K$"2" 0& R: (K$"0" K$"9") K$( ) & : K$( ) F (K$) & : K$;:FF (K$)H0 P(F) :  : " TO--";:: R: K$"0" K$"9" : : T(K$): K$;: (T F) N : T D R: (K$"0" K$"9") K$( ) D : K$( ) T (K$) D : K$;:TT (K$);N T  : P(T) : cXDFT: DD1 DD2 : bXF:E: : P(T) PL:XT: :E:X: :PLlXT:E: :TURNSTURNS: TURNS DD1 D1 : D2 : TURNS  v j DFT: A5 :  : (FD1 (FA5 D1A5)) (FD2 (FA5 D2A5)) :  XF:E: :UOBUOB: Z UOB: (,Z ),,::TURNSTURNS: &: UML T : TURNS "! TURNS DD1 DD2 D1 : DD2 DD1 D2 : D2,! !(,)(2,),,BF: &: :PL: ,: (&);: ,: "MY ROLL":DPX: : :DPX: : D1D2 TURNS : TURNS! D1D2 D1,D2:SWP : SWP." &: : TURNS  : P() A9 A7 n : P()  T" P(D1) P(D2) : " P(D1) A2D1:  : P(D2) A2D2: " P(D1) A2D1:  : P(D2) A2D2: " P(D1) A2D1 : P(D2) A2D2N# ,: ();: ,: "FROM BAR TO--";A2:E:X:PL: : A2D1 D1D2 : D2D1# P(A2) PL:E:XA2: :PL:E: :X:PL: :PL: 6#PL:E:XA2: : 6#  A7A5  : TURNS TURNS $ Z  : P(Z) HP$  (P(ZD1) P(ZD1)) (P(ZD2) P(ZD2)) s$* ZD1ZD2 P(ZD1) $4 ZD1D2 ZD1 P(ZD1) P(ZD1D2) $> ZD1D2 (P(ZD1) P(ZD1)) P(ZD1D2) &%H: Z  : P(Z) ZA5 q%R (P(ZD1) P(ZD1))  : (P(ZD2) P(ZD2)) %\ (P(ZD1D2) P(ZD1D2)) P(ZD1) A4ZD1D2:A2ZD2:  &f (P(ZD1D2) P(ZD1D2)) P(ZD2) A4ZD1D2:A2ZD1: X&p (P(ZD1D2) P(ZD1D2)) P(ZD2) A4ZD1D2:A2ZD1: &z (P(ZD1D2) P(ZD1D2)) P(ZD1) A4ZD1D2:A2ZD2: & P(ZD1D2) P(ZD1) ZD1D2 A4ZD1D2:A2ZD2: 3' P(ZD1D2) P(ZD2) ZD1D2 A4ZD1D2:A2ZD1: q': Z  : A5  : P(Z) ZA5 ' (P(ZD1) ZD1 ) ((P(ZD1) P(ZD1)) (P(ZD2) P(ZD2))) @( (P(ZD1) ZD1 (P(ZD1) P(ZD1))) (P(ZD2) P(ZD2) (ZD2 P(ZD2))) F(( Z  : P(Z) ZA5  : (P(ZD1) P(ZD1)) A1 ( Z (P(ZD1) P(ZD1))  ): Z  : A5  : P(Z) ZA5 I) (P(ZD1) P(ZD1)) (P(ZD1) ZD1) ) ZD1 P(ZD1) (ZD1A5 P(ZD1)) ) ZD2 P(ZD2) ZD2A5 ) ZD1 P(ZD1) ZD1A5  * ZD2 P(ZD2) ZD2A5 *Q* Z  : A5 B : P(Z) ZA5 8*$ ZD1 (ZD1A5 P(ZD1)) *. ZD2 (ZD2A5 P(ZD2)) *8*B ((A1 P()) A1) j+L Z  : P(Z) `@+V ZD1 P(ZD1)  : ZD2 P(ZD2) F+`+j Z  : P(Z) P(ZD1)  : P(ZD2) +t: Z  : P(Z) ZA5  : P(ZD1) P(ZD1) +~ P(ZD2) P(ZD2) H,: Z D1: P(Z) P(ZD1) (ZD1A5 ZD1) ,: P() P(D1) P(D1D2) Z: , ZA7 : (P(Z) P(Z)) P(ZD1) ,: ZA7 D1: (P(Z)) P(ZD1) -: ZA7 D2: P(Z) P(ZD2) 0-: : - A7A5 n : P(D1) P(D1)  : P(D2) P(D2) - ZA7 : P(Z) P : TURNS TURNS F : Y(P(X)): Y Y- Y (,, ,(<. A7D1 A7D2  : A7D1 A7D2A5 p. ZD2 ZD1 ZA7 P(ZD2) . ZD2 ZD1 D2A7 . ZD2 (ZD1A5 ZD1) P(ZD1) .  D1Z / ZD1A5 ZD1 P(ZD1)  : ( : (F/ ZD1 (P(ZD1)) a/( ZD2 ZA7 /2 ZD2A5 ZD2 P(ZD2) /< ZD2 (P(ZD2)) P(ZD2) 0F P(Z) ZD1 P(ZD1)  : P(ZD2) ZD2 P(Z) K0P: Z A7 : ZD1 P(Z) d0Z (P(Z) P(Z)) (P(ZD1) ZD1A5) (P(ZD1)) 0d0n (P(D1))  : (P(D2)) 0x A7D1  : A7D2 +1 ZA7 : P(Z) (ZD1 ZD2) q1 ZD1 P(ZD1)  : : ZD2 P(ZD2) 1: ZA7 : P(Z)  : ZD1  : P(ZD1) 1 ZD2 P(ZD2) 2: A7D1 P(A7D1) 72 A7D2 P(A7D2)  : : P2A4A7:A2A7D1: i2A4A7:A2A7D2: 2A4Z:A2ZD1: 2A4Z:A2ZD2: 2A4D1:A2: 2A4D2:A2: 2A4ZD1:A2Z: 2A4ZD2:A2ZQ3 (A2A4D1 SWP) (A2A4D2 SWP) (,)(,),,BF : (,)(2,),,BFq3 A2A4D1 D1D2 : D2D1 4" ,: A2 A12A12:A2:XA4:E:PL: : J: Z A12: (,Z ),,:: 6 : P(A2) E:XA2:PL: :X:E: :PL>4, J:E:XA4: : A2 E:XA2: 46 &: CML C$"I WIN AGAIN -- BETTER LUCK NEXT TIME": T4@TURNSTURNS: TURNS  : 4J ,: (&);: ,: ,: "FROM--";A4;" TO--";A2;: :4T 5^ Z : ZZ @ (: ZZ,:: ZZ@  (: ZZ,::: &:(,)(?,),,BF: (CML A5) (UML A7) , : "B A C K G A M M O N": r5h ,: "G A M M O N".6r ,: CML "I WIN AGAIN -- GOSH I'M GOOD"; : "YOU'RE THE WINNER -- CONGRATULATIONS";d6| ,: "WOULD YOU LIKE TO TRY ME AGAIN (Y/N)?";6 R: K$"Y" K$"y" K$"N" K$"n"  : K$"N" K$"n" :6: 6 p,: D ,,,,,87 (DPX,DPY)(DPX,DPY),,BF: (DPX,DPY)(DPX ,DPY ),,B:7 (DPX,DPY)(DPX,DPY),,BF: (DPX,DPY)(DPX,DPY),,B: (DPX ,DPY )(DPX,DPY),,B::8 (DPX,DPY)(DPX,DPY),,BF: (DPX,DPY)(DPX,DPY),,B: (DPX,DPY)(DPX ,DPY ),,B: (DPX ,DPY )(DPX,DPY),,B:8 (DPX,DPY)(DPX,DPY),,BF: (DPX,DPY)(DPX,DPY),,B: (DPX ,DPY)(DPX,DPY),,B: (DPX ,DPY )(DPX,DPY),,B: (DPX,DPY )(DPX,DPY),,B:9 (DPX,DPY)(DPX,DPY),,BF: (DPX,DPY)(DPX,DPY),,B: (DPX ,DPY)(DPX,DPY),,B: (DPX ,DPY )(DPX,DPY),,B: (DPX,DPY )(DPX,DPY),,B: (DPX,DPY)(DPX ,DPY ),,B:: (DPX,DPY)(DPX,DPY),,BF: (DPX,DPY)(DPX,DPY),,B: (DPX ,DPY)(DPX,DPY),,B: (DPX ,DPY )(DPX,DPY),,B: (DPX,DPY )(DPX,DPY),,B: (DPX,DPY)(DPX,DPY ),,B: (DPX ,DPY)(DPX,DPY ),,B:; :D1(): D1 D1  : DD1:DPY: :N;D2(): D2 D2  : DD2:DPY: :c; TD ::; ,: N$;#);UML: ,: "ME";#);CML: (,),,: (,),,:< ,: (&);: Z : ,: "CAN'T MOVE": n,: : ,: (&);: TD :::a< ,: n,: "INNER TABLE BLOCKED--CAN'T MOVE";: : :<&UML:CML: Z : P(Z) UMLUML(P(Z)Z) : P(Z) CMLCML(P(Z)(Z))=0:CMLCML(P()):UMLUML(P()): Z  : (P(Z)) A5Z: D=::A5I=D Z  : P(Z) A1: XT=N:A1=X Z : (P(Z)) A9: l=b:A9=l Z : (P(Z)) A7Z:=v:A7:> Z : ,: ();: ,: "CAN'T MOVE";();();: TD ,:: ,:: :> Z : ,: ();: ,: "INVALID MOVE";();();: TD ,:: ,:: :> X  : ZP((X)): E (P(X)) OF0 : OF : (P(X)) OF0 : OF : ZP4?PY"OF(((P(X)))): E PYPY:  : ? X X  : ZP((X )): E (P(X)) OF0 : OF : (P(X)) OF0 : OF?PY"OF(((P(X)))): E PYPY: * : V@ X X  : ZP(( X)): E (P(X)) OF0 : OF : (P(X)) OF0 : OF@PY|OF(((P(X)))): E PYPY:  : @ X ZP : ZP((X))A E (P(X)) OF0 : OF : (P(X)) OF0 : OF APY|OF(((P(X)))):A E PYPY: *JA E *cA X X ZPA  (P(X)) (ZP,PY)(ZP,PY),,BF: (ZP,PY),,PL : (ZP,PY)(ZP,PY),,BF: X X (ZP,PY)(ZP,PY),,BB PL P(X)P(X) : P(X)P(X)$B LB* PL P(X)P(X) : P(X)P(X)eB4 X X ZPB> (P(X)) (ZP,PY),PL,PL : (ZP,PY),,PLBHBRK$"": K$"":K$::B\ -2,0,0,0,0,5,0,3,0,0,0,-5,5,0,0,0,-3,0,-5,0,0,0,0,2