<$$s! 0 #$ 7#R#S#  ,  @$@$#vIh%<=8$$$$$7#$ p$$p$5405894f  1#h1#4 #$@,0A}#@$BCD@$@$sQ#EFGHI!$\ #$!!D $"##Q#"$Ф"܁#!#n؊#(#7#3s+#+#4#"@Z" $#o .pqrstmu"(!@Z""{"t"D#"#3\2"M"p##q# $#"!l{"0"p##HSTURQNMbc#("$X o"$-"X"":V"vs"Zr"X,9"Y$o"wxx"tu"st"U\"y4:"pD."W"|Ls"{p"G #c$""H("S#T"U\r"R"Ql"N"M"b"," "$k"Xp)"w!W"G<"" "$ $g(   @.#8la(t&Yy@Dae %(.#$ F$ .@PM@D$ @ 0 $L <D#X.#$ B$, ,$,#,L  ?$  0 $(PM  $ F( f 3.7,) secs to "think".,4 #0##$ B,$ 4H 7 #$ B ,$,4#, ,h#,@H&IO0 hls!##<##T#,#####\#p#|%#<#$h  RAV'Aa' $` m$DdX ,#    0// ition: D, A[R[1]+26]A[R[0]+26] ,  AAV $/ $ .0M$`m  ec(Ф to block your (c  |RJUSTCMDULOAD $ x #  I$0 $ $<G @L  [ $Z T# $,This slot in use!q@,lAaHq 6(#$ , P#$ ,.R(H4q "$ ,  n, n?40:  /+,#, , 0 L` (#  (q  m  (t&Bb?  TELPRINTOBJ $d  0$X  ng (Ф * You win on ($  , $ K $  D * $,$ B,$.Bd globalD5 ,'Dp /$ # E6  #, 0];2]D(  s, 8lq(M f(t minutes and me (  ( Another one ? (4 $ # , , 7/4,$* OK, hit any keyZ,D )x#/ C$X # G0 ,t"?D$t minutes.$$0 You took s.$*@AL`   h4 (HtThe game took ( p  / ,.  6 , m,LdSHADOWEDLPATIOTATELPRINTRJUSTOBJMX0R  n 3 , , s0L(?V E+#.#8` (CCDOMAIN ERROR histurn[8]  inpUPPERCASE inp ^770 1284 1798 2312 2826 3340 3854 4368 4882 5396 5910 6424 6938 7452 7966 8480 8994 9508 10022 10536 11050 11564 12078 12592 13106 13620 14134 14648 15162 15676 16190 16704 17218 17732 1824Dpt )#   F/+#, position: D$ B / =r@$P B@ $# ,$/, , / , , , /P  4#  DJ- - #/ 3  , ,, ӋD%D 4 $ m  0/,$ m8hD4 !$ r, rp#, u,44 f 0 u ?   8l $   /$PP f $V& t$"o $$ ? {"n VcE$$>V E z"m n?$  !# q ; $ r D *,#$ H#/6,  3D? f,  l 0/ j0,$  8g $$ $D ) m#$ m,+ ,  ""Dn   X+ $  r t s$H 7 ,,$ 3,$/ #/, sH,2"D / ,$,$, $,#, M??D$ # 8l@$$[  s p0 m$  ?  /o $  s q $0 #l#  t0 "  g " $$$"  0 $,  #/ #.,    D % q q$,# 8j@D    D ,D1#!# $,,<$#,#D(  X$/ ( f( $# 7/ ( f.@$`  0 $0D B L#$#.0,   7/6 Q, ;''((0(\ J mH&#H## ,0$$ ,0$$ ,0 \, f@(V& t s  0k(4 f(  s  0k( fD<0l   3#t"#.#0 f@ f#4 #  $1#,,t+# 4(U g .#, $(M[n( $# ,+ ( f+CX fH 7 , , , , h,(#,P(#, H4 "(# /-#,  t4 RA[AVS]l f(#   d    D0 $@  0 $0  $##, 7$0\-ZzSs1234GgBbRrPp\,  $(#, ,D f#  $   X$ n  '#  $ 4-#  $ %  (  -# ( f (& , `&# /2#, ,  &#  $`  position: $ f1@ fI*@$ $ .0$  I play   I   f?$  , $  secs)  4 # 0+ 0 0// 4D ' )#$, *#$, # #DD * 0 0 -#  D?     f    4 # .#/# , 4 \# t fG31 0 x$ E,, #0,{Gz?03  6 )#, , 00 $ A$ 0(   0# ( fA# fG31?` O)# $, +#, $,/#,, v/ /+,8)#, `((0 RESTORESCREEN(,$  ,1#/,(8 Use arrows to turn cube or Enter8 " X$  @*d * *7D<$ $ $     x (  $ x,( ($@(   $"(# fn D< ) /# , , , , H"D AT /f,     (;1 =6#/ I0( 0 f4, !X$ $, B44" !   $0#, (~4H*$Y $ $ |# AX]R D: 3V#d2# /$,  X$ GD f 8 8( $7# 0( fLo@$1   / $ P $ $ $ t  $  $  H /$   D 2$ FV# A,  6# D0K 4#"t $, G000 D7#5# /,  0  6# D ,  $, c E,$$ e"(Invalid choice(0 5#L4# 75#8j0$ X$"n 7$@ @4 ! n , ,, n8l4$H $"q $$ $"p $ 0 fo@(-RESTORESCREEN (, f ., T6#"t$, 0,L$ $0Do you want to start ? 0D/@(h/ <6#$8u (,DM@ f@TTTx 8e$$x$`$L$8$$$$$$$$$$$ $ $d$T$$$<$4$ $$$$$t$$|$$p$$$$$l$$$ $ $$"($$$($$*H$$$ $\$$$$$\$H$$ $$$!x$d$P$<$<$$/P$<$($$$$$$l$'X$D$0$$C$$J$$$,$#$$,T$$<$l$$$ $Y$$D`$|$^$T $1$$$$ $ $c$ $P$$7d$$-##K$$ $#?L$ p#j $$ $P#$_##;#6#s#d($p# $h$#< $R## $l$y$ $##0p $p#T$##`#2p##:###d#@0#$%,#u# # #T##L#Nd# #5@##34$#L#D#m##v##X$p##i$##Q\##`#<#W $#Z4#($##t#|$t#4#d#p##t#|##a####\#f##P#####$#B#\#<#$#p#.#######>l#~T#d#9P#M<#(###Vt##H##H#x#d### $P##D#\##+T####$44###\#p#x###\#,#t#l#h#|#[#t##x## ##l#(####kl##8#H###̋##ġ#p$t#\###d###4##&#X#T#̷#Խ###(#d#(###Ȟ##t#\#H#l#P#|## $8ĕ##w<##!$!$!$I!$h!$#####`#H#0#~#l~#Ԋ# $$####د#t#}##nz#z#,[#+[#[#BZ#eZ#Z#Z#Z#aZ#pZ#_XZ#DZ#$,Z#)Z#Z#GY#Y#1Y#[Y#;Y#JY#zpY#\Y#HY#4Y#j Y#e Y#xX#cX#X#X#XX#gW#=\#~,\#lX#p0W#.[#X#][#[#xW#kW#LW#qW#LW#U#lU#^S#`W#TU#Gp^#FD\#\\#n[#t\#ZU#\#R V#`X#iS#IS#U#hT#TU#hU#bdV#<xV#T#T#S#DX#X#X#W#U#V#@|U# ,U# V#,X# 8V#U#PV#S#m4T#\T#S#h T#,d#yHT# T#pT#[#T#sT#T#T#W#@U#{V##|7#Q<#####&$##r#\anC35MvtOSSXmSP\oDLM0sSW|}CMuPATmd0`jQs~MEM CHK~L4L5~L3R\vEȫ27`30uDEFAULT(1=70,.MODc$jUp67k604[OLCMDOSSaOSpO0fARGІ754CASELPATNHlEhjn72565L)p yYnNY ${ $ s"$ P URUM$hMAKEUFILETH",>PARSExY[3DVALUElUDRUHDCMDUFILEL55H5045YPARMS40DЁDEBOBJ ZLJUSTOBJNUM232221201918171615141312UFILESWZYRCTIEDPKGQERRMSGUSVARCVTTYPENLKJIHECAXUUFCOMPLEFT`LJUSTdTIEUFxDEBOBJFILERIGHTMAPL MATIOTAOBJ MATIOTA@UCMD2$IFERRINGLOBALPWGLOBALCTGLOBALIOGLOBALALXGLOBALELXPNAMESPDEFRBFDPTdei11[;10ԼCMDLARESULTCUCMD`emptyen 9!#dy#pn# o###,#o#hr##b##`# # n# c# # #m#lc#8#@s#{#@c#(q#0ܾ0 L. 3e ( remove leading blanks(iamforced []a  b8Ahim if qstb 'Do you want to start ? '18@9!#{##0/#ă#0#$@4\]l:b''a/(1qst q)= 2 3 'yYnN'4)rreduce vbDAtest:(3^.STst+(vb/Xo[;1])evalstate vb/Xo[;2])okD@89!#,y#4`#0ABCDsEFGH I  tP@ wnELXALX(ScreenMode/'RESTORESCREEN'),'DM're@SEG0 l CR ]playw    !"#$%&'()*+,-./0123456789:;<=>?@ !%)-159= "&*.26:> #'+/37;?  $(,048<@!"#$1234%&'(5678 )*+,9:;<  -./0=>?@)*+,=>?@ %&'(1234  !&+016;@ $'*-47:= #'+/48<@ "&*.159=`9!#H{#`#)#tz#,#~#)#L#,#ؠ#+#$`< returns 1 if 1st letter of answer is 'y'<h%which$Dp $8t state76xo,How 0 2 WinLine0 dm8d9R0 L 9!La#l#b#p#a#L0L* shorten winning sequence Xo0@4)r 1 2 (slots1t)t2free[l]/l,whichlines @Search 8(r(+/^\' '=l)l we vbYTh< Given a list of moves return a list of possible forcing new movesTH8iamforced:(1 #3+?  "1$4*=,@%5'8&6'7&5(8 )9 +< *: +; *9 ,<  %1 '4 -= /@&2.>'3/?&1(4.= 0@   !"#$!%)-!&+0"&*.#'+/$'*-$(,0%&'()*+,-./01234159=16;@26:>37;?47:=48<@56789:;<=>?@8dMforced:rplay free[l]/llines[state3;]8  P@ `APLFILE@H 0 -. /0123 4@,`ac l+0n1nbrsimulate br,(vbreduce(-1Xo) 1 1(0ܾ ERROR('*'histurn pos)/'789'L0<6 0lost 18 @ iSHOWnv Y@ , statestate+10lines.=s , 5 max446slots7 8 3 possible answers: yes, no or back3 8Dvalue+/value[1+ISL[slots;]] value of each slotD 0A  $ (Search^i1xo)0 $present v;i freeFree $note xx,s i0 randompUPPERCASEgres(R5121+11XSCALE( L  $4 Force01FI w $()': ',showslots how[;1](8$ i(0How)1 do I know how to win ?8@\((vbvbreduce Xo[;1](ST=3)lines).vb)test@]testhimmestart)twice posWinLinemlkwL\value0,LVALUE[1i]+/value[IPL] each line's evaluation LM8,EXP (Bcanhe dum;howk@ < s[o]1 xs640 T  9!#\ $@##$##T4valueevaluate state;i;excess;IOc 4, i0, 0 1 2 10 20 stateP~@,8dMnocom:err if 65=n(Slots^.=3inp)1 E8\`value0,feval excess transformation fn: value of each planeis\\excess+/NSLOTS[i[ILP]] excess 'valuable' lines on each plane;T;\T` how can win - depends if sol already found (solution in How) 3 T)statevalue(,ml1kw max length(-Search1 hFree(G 679( t'' oforcehimot   ordL8v9!# ##H# $L0RERROR('*'=1myturn)/'789' cu04 index of word in keyword tableF4d9NFILE x cube o 0  try Seq t0Total[2]60 $ ;=>?$  ZGZOOM 1 @ $ C GWRITE P,WPOS $\~ AXB/3 \d M is message to display (if it starts with * no more input is accepted) \ v m@ $ ZGWINDOW GWINDOW$RARROW $/ DISPLAYCUBE SLOTS $ DjRS ONPLANE PL@ l aESCds[STOPN/C+OKL(BS) 01Ss  0/Zz23s,IMAGE  CCcpu eXp;cpu@ pqsnvww 0 03wrong1 h%qstbQHelp  2iN1N0 AxisTilt SETCUBEVARS Pcoords0wboard dumP AT is the tilting on each axis. PC is the planes coordinates1P  dXYObsDist L/MORE'*'1M? 3 oPLAY: Xds[OK 1  L2+ L1N0MORE/C  0/WPOS(N,( Total[2]Total[2]+(  r'' rqst qovertakennocomo1o cani sinp' 'xcube( err:'Not a valid slot'((poskw tindex w;ml;b(poskwSlotsen/AxisTilt)ee  anwlwTotalw[ []How  tttRRN avgmlmlw descr dum)9!o#f#`f# 6#Tg#V#c#7##3#f#l6##3#g#3##5#c#p3#e#x#1#m#,3##0#`#<0# }#`7# |#0# d#X)# |# o# # pg# # `|#2# |#t# L|#$2#l#4#|# #D# #|b# #z# ###l##l#T#$ WPOS 10 15 @ $\L1,M(~MORE)/M$   $ M GWRITE MsgPos#$$?#:@'+;<@$)=>@,?@:A  <>A ;=A!?A%:>B(-<B&*=B.;?B#+CDE 'CF )CG$,CHIDJEFJGHJIJ DKFHKEGK!IK%-DHL (FL *GL&.EILhow, r(l),' moves left...', rrlb l=lines #TimeAI[2] ? =3wcr  in6,a aend:in1in drop last CR,feval L howx try oB@  @ $ $ es) cr1156AV w n,, 0ndi 0 as How 1 0 How ,`NdXY((1 1 0 /C)+.*2)*0.5, \cRESTORESCREEN@ $D 7$ vB(3)1AA t@ $dS PLANESAT ROT To $(|V T[;;;3] 2 6 4 PC ($V M is Xd struct.9 $HV A 2 2 (1 1 R),R 3 3 1 0 0 0 ,(1 1 R),,0,R H<TRFcpu ' ^ inin,i,cr in ininput;i;crd@ ]input L1$tmsg SHOWCUBE sBEV$L9!{#`#Pm##Ȣ#L0ܾSlotsAllslots[1+ScreenMode;;]0(, Statex evalstate o(,-1 %' ()*, L.rshowslots sH@ (vSTb1](li3b)tXo X sto,alarst shorten Xo;vb;li;ST,tRWM SHOWCUBE SLOTS;PLANES;KEYS;K;Z;PLINES;T;F;CENTERS;B;BKEYS;PROMPT;O;N;P;C;;ELX;ALX;WPOS;MORE.tԞ 8[TCUBELINES &@ $VAT SETCUBEVARS PC;T$   $ $(4state)lost $ l lx(-x)x h@ $ Go back one move0$ Lfree[lx,lo]1 @ $(L $ (B @ $BM13eXp'L:',eXp$$I inpUPPERCASE inp$(pqserr:'Invalid answer' ( get END free[n]0 ( statestate+lines.=n ( l:(0=1how)0 $J $HevalSltexcess3evaluate[6 endl s[x]10 8best:present valuefreeevaluate state8#@EXP( [] (inp,msg)nocomFX((),Mlinemode:gameover0 ] (a 39/2 ENDBpass$vPOS89!##\#80LL debugging fn: show value of v0BboardstateIO0 ^pass dum;t 11back145sx cube o pD  $|c PLINESAT ROT Tel$Ltmsg DIST8 note that all globals are in IO=1w c8|epn9!#######D###|4rr,' and I win on ',,showslots l 24 vT` return a value for each slot according to the state of each linelT] 3i ,v|[G L2( Z (), Y and X ()($D T[;;3] 5 4 PC $s x L2gleis( W1W =z) MiBS:NL2 t.) L0AXAD'9!#(#\#|'##x)#4#&##(##\'##<'#$h(##(#,#$(#D#%# l#%# #H%# #%# x#$# ## ## d#`#T $<##5##|5#<#H5#`$X#$p4#####L##$###,#( ###l##D# #8####t##Ŀ########$#\$@$D###$ q RMxhp f n73s4  7x [TSLOTCENTERS @ $` ZGVIEW GVIEW $SHOWn Dj T[;3]16/PC $@ hITBASICCUBE p@ cpu8MFX(3,M)(M'F'),(MEXP),M'Nii+1'8u i9!| $`## $ $$## $$@#h#L#ܞ#ܡ#4|T Computer decision making routine4PF@8U9!ؼ##̔##@gcard,nHelp[;5]tindex(s-1)inp,Rhelp dumrplay s;3,)oo,n )Ni get[4, daHelp[''n;5],' sinp' :=N,(toN(0 1 =n)/nocom,aide (L                                           8 Show the last move if graphics are on8 pDRAXIS ROT S@T@ $` CENTERSAT ROT Tnc$  | tL@!@  DD@@@@@@""  H @@@ @@@@  @@@@   !DD""H!DD""H!DD""H|kk This workspace was written over the space of about 15 years...! It was first attempted in 1976 and the "real" interesting version came out in 79 while I was studying at the university. It included most of the logic which allows it to play in line mode today. In 85 I rewrote it on the Sharp APL system and added some user commands (help, go back, end, etc) and put it in public library (where it still resides) over there. In 87 I transfered it onto Sharp APL on the PC and STSC's APL*PLUS. It was slow (specially on Sharp's) but ran just the same (I had to modify the search procedure but the logic remained identical). Recently, this year (1993), I incorporated the ability to play using the G functions and "see" the cube better. It's not perfect yet (rotating the cube more than 90 degrees creates problems) but it's getting there! DanB 9309090  ScreenMode0 $R(PL=S[;1]16)Si$8b PROJECT C onto XY plane from DISTance8Dipaideme  GNgetGrplinemodeHelP Ml1 OWLgetsLVA Irwhat if cond@ p  $w2:rr,play 1How E$am  "/0123456789:;<=>?@ABCDEFGHIJKL#%0:D '(2<F )*3=G!,.5?I /9C6@J !7AK"%&(*-.8BL 6AL"#$')+,7@C+.1;E$%4>H$&2=I +-3<D L2:KINKEY o@ $DB  $  01AX 170M 1dVROTAINSNTAMABSEsONLFT stOVAR PoXFRFILEOW 0 0(w 3 1(ONPLANE@ Slots are in the range 1..64, PLanes in 1..4@5(SHOWLASTMOVE msg;s;t(LtoȝTORADR sEND RLA LINES LJ@ $r,Slots[s;],' ' $ 6 O 62 3BKEYS 78 5CENTERS233F39 1 PLINES4 6 K 1 Dj ATORAD ''AA@ AALX9!###Ć##L0 Level 0 game plays at random0H) x1x( msg'Invalid choice' (WinLine0Rx cube o 17DEG@|9!ܝ#$#"#,# #$@4 C is 3 col mat: X, Y & Z coordst 4SCALE$\ x$( W GWRITE(O+W),WPOS(im l10D VtW (his s[s[;1]WinLine;2]15M((LAR (55msg)GWRITE MsgPos(T` Rotate on Axis. AA is Axis Angle in deg & Axis (1=x,2=y,3=z). 2=T,x M[;AX] 0 1 1/A+.1,B/M,ATRDEG1808$9!d#T#ܕ##$8(ORDER$М TotalAI[2],t''$T B  :;TR 1 2 A `9!h##P####d#H##h$#<##$`0L0:AxisTilt SETCUBEVARS Pcoords03canhePL LAMAXBR (l q@ $}start:free641 0 0$SETCUBEVARS GraphicsHelp`@ Do lR(AXIS[1],1)ROTA(AXIS[2],2)ROTA(AXIS[3],3)ROTA SheDw $vROTECC `gets:wrongl1 h []9!## $P##P#`#D#h4\taken:'This slot already taken' I'4 endQoo,n CCCerr l5Soo 3-D X and Os (Tic-Tac-Toe) You can play 'x' and 'o's by typing ttt3d. The game is played in a cube 444 and we play one after the other aiming at filling in 4 slots in a row, just like in the traditional 33 game. The cube is shown as four (4) planes noted A, B, C and D, each with 44 slots. To play, simply specify the plane chosen and the position on the plane as line/column. Example: A B C D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Here, the '' is at position C23 and the '' at A42. Examples of winning sequences: 1: A11 A12 A13 A14 Note that all the slots in a rows are 2: D14 D23 D32 D41 always either on the same plane or 3: A31 B31 C31 D31 on a different plane for each slot. 4: A41 B42 C43 D44 The same rule applies to columns 5: A44 B33 C22 D11 and rows...! A B C D 1 1 1 1 . . . . . . . . 5 . . 2 . . . . . . . . . 5 . . . . 2 . 3 . . . 3 . 5 . 3 . . . 3 2 . . 4 . . 5 . 4 . . . . 4 . 2 . . 4 You play with the o's and me with the 'x's. To get the list of available commands type help. Good luck. Dan Baronet.o8|9!#X## #$80 0SAXISLdvalue1+/value[ISL] each slot's evaluation L  sx SLOTS o BE $Dpl10:RESTORESCREEN$(LA GLINE(31,L)L($PLAY:PO+NW $,DRDIST ONTOXY C;dXY;Z;;N, P9!d###'##%#l#`##ر#%#D#,##|!#H#X!######p#$ 'Ok'4TR(1 1 0 /C)2/(N,1)(dXY+)dXY0ut4|ow] 7back : go back one move board : shows the board canhe : how can 'x' win cani : how can i win descr : info about the game end : ends the game eval : evaluate slots for me force : force machine to play somewhere OR with FORCE0help : all acceptable keywords and their meaning pass : allows to skip a turn twice : allows to play again rs.|P OK:AxisTilt[T]AxisTilt[T]+1F(RotateAngle1*B1),TB/0,2/3 PRDESCRIBE Iback dum;lo;lxa  []9!X#0###̵#܉#$##x#$#@#4r'I win within ',(l),' moves. ' 4@@')+-MOQSsuwy1357WY[]};=?AacegEGIKkmoqSPINCLL\KEYS438,, 3 2 DARROW,UARROW,SPINCL,SPINCC,RARROW,LARROW L737KEYS76 353PLANES  3 SLOTS50 1 SHOWCUBE42 171END:33 dVPcoords` r'I play ',(showslots s),DisplayTime/,' (',(20.01AI[2]-Time),' secs) 'W D`((( ;i(h09!ز## ##?@ BGWINDOW ''V@ ,': ',showslots 1how[;2], ERROR '789'C@ ,BORDERBORDER;B( @DISPLAY  @    force w;n;Time@ (( IBMCOLOR (1VI w)l5 @ p 'Was ',Force DISPLAYCUBEXh Lines & Cube in globals PLINES & PLANES. SLOTS' centers in CENTERS.S4XGVIEW l5:TimeAI[2] ESCAPEHR(B/M)+.AX BORDER pCUBELINESp CL[P]  COLOR(GWINDOW ` (,w)l10 $@ BASICCUBE {ScreenMode Allslots<15 GLINE B[1 5 2 1 2 1 4 3 4 3 2 1 2]#<ALL,`': ',showslots 1how[;2],`} I1 ( C DISPLAY PLINES[P;;;]( @ GraphicsHelp  WMsgPospanel4DARROW8H9!#(#H#h#$80~ 17 Char spacing (approx)0ONTOXY L/ m@ $l/ (KBKEYS)/PLAY `$UB ESC:W'*'e D GNSTOP:0 RESTORESCREEN  STOP STOP 'SHOWCUBE'GE DOWL L2 X  @ try to find a winning sequence given x and o3@ (  RX SLOTS O(( over:gameover1  free[n]gets  RESTORESCREEN SL  free[n]taken 8@?8 cmCopyrightP66 *** Workspace transfer facility (c) Dan Baronet 1986 $CPL(rz%NAMEAS'l400l30D7l10?FORM%l20|vVersion 2538410643 316986074xL10؛FN 9l4120l3L\LNmAP\TiabcB ALihId#rEp[aLl#2DeF089sRhTXTREPLnCFORMEFORME@XFRB DELFiLeNaMeplc1sxt[sRR(\sr  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~DEFINE 98SharpAPL\FiLehFIXEOfTargetAV XR?ALLABCTIEl3l2l1lXl0IortisoCREEn Nl5 Il1Bl0 bolASSJE[6 MCghtBsdversion؛BYTHISRAV0AVNaR Z2@READDESCRIBE.9l299xL0(~.SiNAMESXlTCXXER1   DM f p$H p$X$@$$$$$$$$$x$\$H ,statestate-lx evalstate lo,X F       XTl29! #L#x##|#D#T<أ 'Ambiguous, type HELP for all keywords' <, 90i''N2IO,N-IO<1=,N 2,F LC,]msg'This slot in use!' ,,D TAI[2] time to think,Dil[i/ivalue[l]] take one with largest values DcondD< won:r'* ',play free[l]/WinLinellines[state30;]0D,((0i)^' '^.=i)/end I,N  wrong1Einp,MhisturnNgameover F839 getllwrong0 LX O9!###1#!$2#p $2# # +#(z#,##+#\#*#$#$###T#*##'##`### ## D $# $# 0## }#T# 0## ## л# # #####$##`#H# #$0#0######!$$$#L#$  Forcerandom@ $ (Force>1)l10 $dAA}oWqXtuvw|OPK ME=dHS\x?'