Home » CEEFAX disks » telesoftware3.adl » 21_11_87/LUDO

21_11_87/LUDO

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » CEEFAX disks » telesoftware3.adl
Filename: 21_11_87/LUDO
Read OK:
File size: 1AB8 bytes
Load address: 0E00
Exec address: 802B
File contents
  100REM **********************
  110REM *  LUDO version 7.3  *
  120REM *   by John Dewar    *
  130REM * (c) The Micro User *
  140REM **********************
  150IFPAGE>&1100 THEN1790 ELSE*TV255,1
  160ONERROR IF ERR=17 GOTO210 ELSE MODE3:REPORT:PRINT" line ";ERL:END
  170MODE2:PROCinit:PROCtitle:PROCwho:PROCboard
  180REPEAT:REPEAT:C=C MOD4+1:UNTILY%(C,0)<4:REPEAT:Home=FALSE:PROCroll
  190PROCplayer:PROCmess(""):IF N>0 PROCaction:IF Home PROCbell
  200UNTILR<6:UNTILY%(0,0)=16
  210VDU4,26,12:PROCtable:MODE3:END
  220DEFPROCinit:VDU23;8202;0;0;0;19,2,4;0;19,4,2;0;:@%=2:W%=5:S%=-11:*FX4,1
  230DIM P$(4),X%(4,4),Y%(4,4):FORJ%=1TO4:FORK%=1TO4:READX%,Y%:X%(J%,K%)=X%*64
  240Y%(J%,K%)=(32-Y%)*32:NEXT:NEXT
  250VDU23,224,255,129,129,129,129,129,129,129
  260VDU23,225,129,129,129,129,129,129,129,255:*FX229,1
  270VDU23,226,0,0,0,126,126,126,126,126
  280VDU23,227,126,126,126,126,126,126,126,0
  290A$=CHR$224+CHR$8+CHR$10+CHR$225:B$=CHR$226+CHR$8+CHR$10+CHR$227:ENDPROC
  300DATA10,3,13,3,13,9,10,9,13,21,13,27,10,27,10,21
  310DATA4,27,1,27,1,21,4,21,1,9,1,3,4,3,4,9
  320DEFPROCtitle
  330COLOUR130:PRINT'SPC140;TAB(8,2)"LUDO"''SPC9"by"''SPC5"John Dewar"
  340COLOUR128:PROCbox(0,992,1279,386):MOVE0,768:DRAW1279,768:ENDPROC
  350DEFPROCbox(J%,K%,L,M)
  360GCOL0,6:MOVEJ%,K%:DRAWL,K%:DRAWL,M:DRAWJ%,M:DRAWJ%,K%:ENDPROC
  370DEFPROCwho:COLOUR5:PRINTTAB(2,30)"RETURN IF NOBODY";:REPEAT:RESTORE510
  380M=0:L=0:FORC=1TO4:COLOURC:Y%(0,C)=0:X%(C,0)=0:Y%(C,0)=0:Y%(0,0)=0
  390READG$:PRINTTAB(5,9+C*2)G$+STRING$(13-LEN(G$),".")
  400VDU19,5,5;0;28,2,29,18,24,12:SOUND1,S%,196,1:PRINT"Who plays ";G$;"?"'
  410P$(C)=FNin:VDU19,5,0;0;12:IFG$="" Y%(C,0)=4:L=L+4 ELSE M=M+1
  420IFG$>"":PRINT"Is ";G$;" a"''"computer player? ";:IF FNyn=89 Y%(0,C)=1
  430VDU12,26:G=9+C*2:PRINTTAB(18-LEN(G$),G)G$TAB(4,G)MID$(" *",Y%(0,C)+1,1)
  440NEXT:COLOUR7:PRINTTAB(3,29)"Correct? (Y/N)":UNTIL M>1 AND FNyn=89
  450PRINTTAB(3,29)SPC14:Y%(0,0)=L:PROCdie:L=0:M=0:N=0
  460REPEAT:FORC=1TO4:IFP$(C)="" OR X%(0,C)<M THEN490
  470PROCroll:X%(0,C)=X%(0,C)+R:VDU4:SOUND1,S%,196,1:PRINTTAB(1,9+C*2)X%(0,C)
  480IFX%(0,C)=L:N=N+1:ELSE IFX%(0,C)>L:L=X%(0,C):N=0:P%=C
  490NEXT:M=L:UNTIL N=0:PROCmess(P$(P%)+"+goes+first"):VDU4
  500PROCwait(3):CLS:C=P%-1:ENDPROC
  510DATA Red,Blue,Yellow,Green
  520DEFPROCdie:PROCbox(1016,100,1080,32):PROCbox(1024,104,1088,36):ENDPROC
  530DEFPROCmess(G$):G=20:IFLEN(G$)>30:G=13
  540VDU4,28,15,27,19,G,12
  550REPEAT:G=INSTR(G$,"+")-1:PRINT'LEFT$(G$,G);:IFG<5:PRINT
  560G$=MID$(G$,G+2):UNTILG=-1:VDU26,5:ENDPROC
  570DEFPROCwait(L):*FX21
  580IFL=0:G=GET:ENDPROC ELSE TIME=0:REPEAT UNTIL TIME>L*100:ENDPROC
  590DEFFNin:G$="":REPEAT:G=GET:IFG>32AND G<127AND LEN(G$)<5VDUG:G$=G$+CHR$(G)
  600IFLEN(G$)>0AND G=127:G$=LEFT$(G$,LEN(G$)-1):VDUG
  610UNTIL G=13:=G$
  620DEFFNyn:REPEAT:G=GETAND&DF:UNTIL G=89 OR G=78:=G
  630DEFPROCboard:FORD=1TO7:VDU19,D,0;0;:NEXT:COLOUR8
  640PROCmess("Wait+a+while"):VDU4:COLOUR6:FORD=1TO11:COLOUR129
  650PRINTTAB(9,D)SPC6;TAB(9,D+1)SPC6:IFD<7:PRINTTAB(7,D*2-1)A$;TAB(8,1)A$
  660COLOUR130:PRINTTAB(9,D+18)SPC6:IFD<7:PRINTTAB(8+D,15)A$
  670PRINTTAB(9,D+19)SPC6;TAB(14,17)A$:COLOUR131:PRINTTAB(0,D+18)SPC6
  680PRINTTAB(0,D+19)SPC6;TAB(6,29)A$:IFD<7:PRINTTAB(7,D*2+17)A$
  690COLOUR132:PRINTTAB(0,D)SPC6:IFD<7:PRINTTAB(D-1,15)A$;TAB(0,13)A$
  700PRINTTAB(0,D+1)SPC6:COLOUR135:IFD>6 THEN730
  710PRINTTAB(6,D*2-1)A$;TAB(8,D*2-1)A$;TAB(8+D,13)A$;TAB(8+D,17)A$
  720PRINTTAB(6,D*2+17)A$;TAB(8,D*2+17)A$;TAB(D-1,13)A$;TAB(D-1,17)A$
  730NEXT:COLOUR128:GCOL0,1:MOVE384,604:MOVE568,604:PLOT85,480,508:GCOL0,2
  740PLOT85,568,416:GCOL0,3:PLOT85,384,416:MOVE384,604:GCOL0,4:PLOT85,480,508
  750FORD=0TO576STEP576:PROCbox(D,412,D+380,32):PROCbox(D,988,D+380,608)
  760NEXT:MOVE384,604:DRAW568,416:MOVE568,604:DRAW384,416:PROCdie
  770COLOUR7:VDU28,15,11,19,3:PRINT"LUDO"''"by"''"John"''"Dewar":VDU26,5
  780FORD=1TO4:FORE=1TO4:MOVEX%(D,E),Y%(D,E):PRINTA$:NEXT:NEXT
  790FORJ%=1TO7:K%=J%:IFK%=2:K%=4 ELSE IFK%=4:K%=2
  800VDU19,J%,K%;0;:NEXT:ENDPROC
  810DEFPROCroll:PROCmess(P$(C)+"+press+space"):PROCwait(Y%(0,C)):GCOL0,6
  820K%=RND(7)+2:FORJ%=1TOK%:R=RND(6):SOUND0,S%DIV2,1,1:SOUND0,S%DIV2,0,1
  830VDU24,1024;36;1072;96;16,26:IFR MOD2>0 PLOT69,1054,64:PLOT69,1054,68
  840IFR>1 PROCdot(48,80)
  850IFR>3 PROCdot(80,48)
  860IFR=6 PROCdot(64,64):IFJ%=K%:SOUND1,S%,244,3:SOUND1,S%,196,3
  870NEXT:PROCwait(2):PROCmess(""):ENDPROC
  880DEFPROCdot(K%,L)
  890PLOT69,1032,K%:PLOT69,1032,K%+4:PLOT69,1064,L:PLOT69,1064,L+4:ENDPROC
  900DEFPROCplayer:T=1:N=X%(C,0):IFR<6AND N=0:ENDPROC
  910G=78:IFR=6AND N=0 PROC6
  920IFY%(0,C)=1 PROCmicro:ENDPROC
  930REPEAT:IFR=6AND N+Y%(C,0)<4PROCmess("Move+from+yard?"):IF FNyn=89PROC6
  940UNTIL N+Y%(C,0)=4 OR R<6 OR G=78:IFN=1:ENDPROC
  950PROCmess("SPACE+picks+token+RE-+TURN+moves+it.")
  960T=0:REPEAT:T=T MOD N+1:PROCshow(9):PROCwait(0):PROCshow(6):UNTILG=13
  970PROCmess(STRING$(31," ")):ENDPROC
  980DEFPROCmicro:REPEAT:IFR=6AND N+Y%(C,0)<4PROCmore:IFG=89 PROC6
  990UNTIL N+Y%(C,0)=4 OR R<6 OR G=78:IFN=1:ENDPROC
 1000D=0:E=0:F%=0:P%=1:Q%=0:R%=0:FORT=1TON
 1010Home=FALSE:X%=X%(C,T):Y%=Y%(C,T):PROCcheck:IF U%>P%:P%=U%:Q%=T
 1020PROCshow(9):PROCsafe:IF Safe:X%(0,T)=1 ELSE X%(0,T)=0
 1030In=TRUE:FORM=1TOR:PROCway:NEXT:PROCcheck:IFZ%>=D:D=Z%:E=T
 1040IF Home:F%=T ELSE PROCsafe:IF Safe AND X%(0,T)=0:R%=T
 1050PROCwait(1):PROCshow(6):NEXT:T=FNtoken:ENDPROC
 1060DEFPROCmore:PROCstart(C):X%=H%:Y%=V%:PROCcheck
 1070D=0:FORE=1TON:X%=X%(C,E):Y%=Y%(C,E):PROCsafe:IF Safe:D=D+1
 1080NEXT:G=78:IFZ%>0 OR D=N OR RND(6)=6:G=89
 1090ENDPROC
 1100DEFFNtoken:IFR%>0:=R% ELSE IFD>0:=E ELSE IFP%>1AND X%(0,Q%)=0:=Q%
 1110L=0:FORD=1TO4:FORE=1TON:PROCstart(D)
 1120IF(D<>C AND Y%(D,0)<4AND H%=X%(C,E)AND V%=Y%(C,E)):L=E
 1130NEXT:NEXT:IFL>0:=L
 1140IFF%>0:=F% ELSE G=0:FORD=1TON:G=G+X%(0,D):NEXT:IFG=N:=RND(N)
 1150REPEAT:L=RND(N):UNTIL X%(0,L)=0:=L
 1160DEFPROC6:D=4-(N+Y%(C,0)):RESTORE300:FORM=1TO(C-1)*4+D:READH%,V%:NEXT
 1170MOVEH%*64,(32-V%)*32:GCOL0,C:PRINTA$:N=N+1:X%(C,0)=N:T=N:PROCstart(C)
 1180X%=H%:Y%=V%:X%(C,N)=H%:Y%(C,N)=V%:PROCin:PROChit:PROCroll:ENDPROC
 1190DEFPROCstart(G):RESTORE1200:FORJ%=1TOG:READH%,V%:NEXT:ENDPROC
 1200DATA512,992,896,480,384,96,0,608
 1210DEFPROCshow(L):GCOL0,L:MOVEX%(C,T),Y%(C,T)-4:PRINTA$:ENDPROC
 1220DEFPROCaction:X%=X%(C,T):Y%=Y%(C,T):In=TRUE:FORM=1TOR:PROCout
 1230PROCway:X%(C,T)=X%:Y%(C,T)=Y%:PROCin:NEXT:PROChit:ENDPROC
 1240DEFPROCout:B%=POINT(X%+8,Y%-8):PROCcheck:IFZ%>0:ENDPROC
 1250IFU%=1:GCOL0,B%:MOVEX%,Y%:PRINTB$ ELSE IFU%>1:U%=U%-1:PROCfig
 1260ENDPROC
 1270DEFPROCin:PROCcheck:IFZ%=0:SOUND1,S%,M*8,1:PROCfig:ENDPROC
 1280SOUND1,S%,200,1:ENDPROC
 1290DEFPROCfig:MOVEX%,Y%:GCOL0,C:PRINTB$:G=0:IFC<3:G=7
 1300GCOL0,G:MOVEX%,Y%-24:PRINTSTR$(U%):ENDPROC
 1310DEFPROCcheck:U%=0:Z%=0:FORJ%=1TO4:FORK%=1TO4
 1320IFJ%<>C AND X%(J%,K%)=X%AND Y%(J%,K%)=Y%:Z%=Z%+1
 1330IFJ%=C AND X%(J%,K%)=X%AND Y%(J%,K%)=Y%:U%=U%+1
 1340NEXT:NEXT:ENDPROC
 1350DEFPROCway:H%=X%:V%=Y%:IFX%=384 OR(X%=0 AND Y%<608)PROCup
 1360IFX%=512 OR(X%=896AND Y%>480)PROCdown
 1370IFY%=608 OR(X%<512AND Y%=992)PROCright
 1380IFY%=480 OR(X%>384AND Y%=96)PROCleft
 1390IFPOINT(X%+8,Y%-8)=C AND(X%=448 OR Y%=544)PROCsafe
 1400X%=H%:Y%=V%:IF M=R PROChome
 1410ENDPROC
 1420DEFPROCup:V%=Y%+64:IFV%>992:V%=992:H%=X%+64 ELSE IFV%=480:H%=X%-64
 1430ENDPROC
 1440DEFPROCdown:V%=Y%-64:IFV%<96:V%=96:H%=X%-64 ELSE IFV%=608:H%=X%+64
 1450ENDPROC
 1460DEFPROCright:H%=X%+64:IFH%=960:H%=896:V%=Y%-64 ELSE IFH%=384:V%=Y%+64
 1470ENDPROC
 1480DEFPROCleft:H%=X%-64:IFH%<0:H%=0:V%=Y%+64 ELSE IFH%=512:V%=Y%-64
 1490ENDPROC
 1500DEFPROCsafe:Safe=FALSE:H%=X%:V%=Y%
 1510IFX%=448AND(Y%>96AND Y%<929)OR Y%=544AND(X%>63AND X%<896)Safe=TRUE
 1520IF(H%=384 OR H%=512 OR V%=608 OR V%=480)AND M>0:In=NOT In
 1530IFH%>512AND In:H%=X%-64 ELSE IFH%>511AND NOT In:H%=X%+64
 1540IFH%<384AND In:H%=X%+64 ELSE IFH%<385AND NOT In:H%=X%-64
 1550IFV%<480AND In:V%=Y%+64 ELSE IFV%<481AND NOT In:V%=Y%-64
 1560IFV%>608AND In:V%=Y%-64 ELSE IFV%>607AND NOT In:V%=Y%+64
 1570ENDPROC
 1580DEFPROChome:IFC MOD2>0 AND X%=448 AND(Y%=608 OR Y%=480)Home=TRUE
 1590IFC MOD2=0 AND Y%=544 AND(X%=384 OR X%=512)Home=TRUE
 1600ENDPROC
 1610DEFPROChit:FORJ%=1TO4:FORK%=1TO4
 1620IFJ%<>C AND X%(J%,K%)=X%AND Y%(J%,K%)=Y%:PROCwhee:PROCswop:PROCcrunch
 1630NEXT:NEXT:ENDPROC
 1640DEFPROCwhee:PROCshow(9):FORL=196TO52STEP-4:SOUND1,S%,L,1:NEXT:ENDPROC
 1650DEFPROCswop:L=X%(J%,0)
 1660IFK%<L:FORM=K%TO L-1:X%(J%,M)=X%(J%,M+1):Y%(J%,M)=Y%(J%,M+1):NEXT
 1670K%=K%-1:X%(J%,0)=L-1:Y%(J%,L)=0:ENDPROC
 1680DEFPROCcrunch:G=5-(L+Y%(J%,0)):RESTORE300:FORM=1TO(J%-1)*4+G:READH%,V%
 1690NEXT:MOVEH%*64,(32-V%)*32:GCOL0,6:PRINTA$:SOUND0,S%,6,3
 1700PROCfig:PROCshow(6):ENDPROC
 1710DEFPROCbell:FORL=S%TO0:SOUND1,L,196,1:NEXT:J%=C:K%=T:D=X%(C,T)
 1720E=Y%(C,T):PROCswop:N=Y%(C,0)+1:X%(C,5-N)=D:Y%(C,5-N)=E
 1730IFN=4:N=W%:W%=W%+1:R=0:PROCmess(P$(C)+"+is+home!"):PROCwait(3):*FX229
 1740Y%(C,0)=N:Y%(0,0)=Y%(0,0)+1:ENDPROC
 1750DEFPROCtable:PROCtitle:PRINTTAB(6,9)"POSITION":G$="Sc1st2nd3rd4th"
 1760FORL=1TO4:COLOURL:M=Y%(L,0)-4:PRINTTAB(4,9+M*2);:IFY%(L,0)<5THEN1780
 1770IFP$(L)>""PRINTMID$(G$,M*3,3);STRING$(9-LEN(P$(L)),".");P$(L):*FX4
 1780NEXT:COLOUR7:PRINTTAB(1,29)"Play again?  (Y/N)":IFFNyn=89RUN ELSE ENDPROC
 1790*KEY0FORK%=0TOTOP-PA. S.4:K%!&1100=K%!PA.:N.|MPA.=&1100|MO.|MRUN|F|M
 1800CLS:PRINT"PLEASE WAIT.";:VDU21:*FX138,0,128
d� **********************
n� *  LUDO version 7.3  *
x� *   by John Dewar    *
�� * (c) The Micro User *
�� **********************
��>&1100 ��d~F �*TV255,1
�(� � �=17 �dR@ � �3:�:�" line ";�:�
��2:�init:�title:�who:�board
�*�:�:C=C �4+1:�Y%(C,0)<4:�:Home=�:�roll
�0�player:�mess(""):� N>0 �action:� Home �bell
��R<6:�Y%(0,0)=16
��4,26,12:�table:�3:�
�D��init:�23;8202;0;0;0;19,2,4;0;19,4,2;0;:@%=2:W%=5:S%=-11:*FX4,1
�B� P$(4),X%(4,4),Y%(4,4):�J%=1�4:�K%=1�4:�X%,Y%:X%(J%,K%)=X%*64
�Y%(J%,K%)=(32-Y%)*32:�:�
�+�23,224,255,129,129,129,129,129,129,129
4�23,225,129,129,129,129,129,129,129,255:*FX229,1
%�23,226,0,0,0,126,126,126,126,126
)�23,227,126,126,126,126,126,126,126,0
"-A$=�224+�8+�10+�225:B$=�226+�8+�10+�227:�
,0�10,3,13,3,13,9,10,9,13,21,13,27,10,27,10,21
6(�4,27,1,27,1,21,4,21,1,9,1,3,4,3,4,9
@��title
J3�130:�'�140;�8,2)"LUDO"''�9"by"''�5"John Dewar"
T0�128:�box(0,992,1279,386):�0,768:�1279,768:�
^��box(J%,K%,L,M)
h)�0,6:�J%,K%:�L,K%:�L,M:�J%,M:�J%,K%:�
r/��who:�5:�2,30)"RETURN IF NOBODY";:�:��d~A
|=M=0:L=0:�C=1�4:�C:Y%(0,C)=0:X%(C,0)=0:Y%(C,0)=0:Y%(0,0)=0
�#�G$:�5,9+C*2)G$+�13-�(G$),".")
�@�19,5,5;0;28,2,29,18,24,12:�1,S%,196,1:�"Who plays ";G$;"?"'
�9P$(C)=�in:�19,5,0;0;12:�G$="" Y%(C,0)=4:L=L+4 � M=M+1
�B�G$>"":�"Is ";G$;" a"''"computer player? ";:� �yn=89 Y%(0,C)=1
�9�12,26:G=9+C*2:�18-�(G$),G)G$�4,G)�" *",Y%(0,C)+1,1)
�/�:�7:�3,29)"Correct? (Y/N)":� M>1 � �yn=89
�)�3,29)�14:Y%(0,0)=L:�die:L=0:M=0:N=0
�(�:�C=1�4:�P$(C)="" � X%(0,C)<M ��djA
�<�roll:X%(0,C)=X%(0,C)+R:�4:�1,S%,196,1:�1,9+C*2)X%(0,C)
�4�X%(0,C)=L:N=N+1:� �X%(0,C)>L:L=X%(0,C):N=0:P%=C
�.�:M=L:� N=0:�mess(P$(P%)+"+goes+first"):�4
��wait(3):�:C=P%-1:�
�� Red,Blue,Yellow,Green
9��die:�box(1016,100,1080,32):�box(1024,104,1088,36):�
"��mess(G$):G=20:�(G$)>30:G=13
�4,28,15,27,19,G,12
&#�:G=�G$,"+")-1:�'�G$,G);:�G<5:�
0G$=�G$,G+2):�G=-1:�26,5:�
:��wait(L):*FX21
D"�L=0:G=�:� � �=0:� � �>L*100:�
N7ݤin:G$="":�:G=�:�G>32� G<127� �(G$)<5�G:G$=G$+�(G)
X&�(G$)>0� G=127:G$=�G$,�(G$)-1):�G
b� G=13:=G$
l#ݤyn:�:G=��&DF:� G=89 � G=78:=G
v"��board:�D=1�7:�19,D,0;0;:�:�8
�,�mess("Wait+a+while"):�4:�6:�D=1�11:�129
�0�9,D)�6;�9,D+1)�6:�D<7:�7,D*2-1)A$;�8,1)A$
�%�130:�9,D+18)�6:�D<7:�8+D,15)A$
�*�9,D+19)�6;�14,17)A$:�131:�0,D+18)�6
�+�0,D+19)�6;�6,29)A$:�D<7:�7,D*2+17)A$
�+�132:�0,D)�6:�D<7:�D-1,15)A$;�0,13)A$
��0,D+1)�6:�135:�D>6 ��dZB
�2�6,D*2-1)A$;�8,D*2-1)A$;�8+D,13)A$;�8+D,17)A$
�4�6,D*2+17)A$;�8,D*2+17)A$;�D-1,13)A$;�D-1,17)A$
�2�:�128:�0,1:�384,604:�568,604:�85,480,508:�0,2
�:�85,568,416:�0,3:�85,384,416:�384,604:�0,4:�85,480,508
�;�D=0�576�576:�box(D,412,D+380,32):�box(D,988,D+380,608)
�.�:�384,604:�568,416:�568,604:�384,416:�die
:�7:�28,15,11,19,3:�"LUDO"''"by"''"John"''"Dewar":�26,5
*�D=1�4:�E=1�4:�X%(D,E),Y%(D,E):�A$:�:�
)�J%=1�7:K%=J%:�K%=2:K%=4 � �K%=4:K%=2
 �19,J%,K%;0;:�:�
*:��roll:�mess(P$(C)+"+press+space"):�wait(Y%(0,C)):�0,6
45K%=�(7)+2:�J%=1�K%:R=�(6):�0,S%�2,1,1:�0,S%�2,0,1
>=�24,1024;36;1072;96;16,26:�R �2>0 �69,1054,64:�69,1054,68
H�R>1 �dot(48,80)
R�R>3 �dot(80,48)
\3�R=6 �dot(64,64):�J%=K%:�1,S%,244,3:�1,S%,196,3
f�:�wait(2):�mess(""):�
p��dot(K%,L)
z7�69,1032,K%:�69,1032,K%+4:�69,1064,L:�69,1064,L+4:�
�&��player:T=1:N=X%(C,0):�R<6� N=0:�
�G=78:�R=6� N=0 �6
��Y%(0,C)=1 �micro:�
�:�:�R=6� N+Y%(C,0)<4�mess("Move+from+yard?"):� �yn=89�6
�%� N+Y%(C,0)=4 � R<6 � G=78:�N=1:�
�1�mess("SPACE+picks+token+RE-+TURN+moves+it.")
�4T=0:�:T=T � N+1:�show(9):�wait(0):�show(6):�G=13
��mess(�31," ")):�
�-��micro:�:�R=6� N+Y%(C,0)<4�more:�G=89 �6
�%� N+Y%(C,0)=4 � R<6 � G=78:�N=1:�
�&D=0:E=0:F%=0:P%=1:Q%=0:R%=0:�T=1�N
�:Home=�:X%=X%(C,T):Y%=Y%(C,T):�check:� U%>P%:P%=U%:Q%=T
�/�show(9):�safe:� Safe:X%(0,T)=1 � X%(0,T)=0
-In=�:�M=1�R:�way:�:�check:�Z%>=D:D=Z%:E=T
/� Home:F%=T � �safe:� Safe � X%(0,T)=0:R%=T
"�wait(1):�show(6):�:T=�token:�
$'��more:�start(C):X%=H%:Y%=V%:�check
.7D=0:�E=1�N:X%=X%(C,E):Y%=Y%(C,E):�safe:� Safe:D=D+1
8$�:G=78:�Z%>0 � D=N � �(6)=6:G=89
B�
L7ݤtoken:�R%>0:=R% � �D>0:=E � �P%>1� X%(0,Q%)=0:=Q%
VL=0:�D=1�4:�E=1�N:�start(D)
`3�(D<>C � Y%(D,0)<4� H%=X%(C,E)� V%=Y%(C,E)):L=E
j�:�:�L>0:=L
t3�F%>0:=F% � G=0:�D=1�N:G=G+X%(0,D):�:�G=N:=�(N)
~�:L=�(N):� X%(0,L)=0:=L
�5��6:D=4-(N+Y%(C,0)):��TlA:�M=1�(C-1)*4+D:�H%,V%:�
�<�H%*64,(32-V%)*32:�0,C:�A$:N=N+1:X%(C,0)=N:T=N:�start(C)
�6X%=H%:Y%=V%:X%(C,N)=H%:Y%(C,N)=V%:�in:�hit:�roll:�
�'��start(G):��tpD:�J%=1�G:�H%,V%:�:�
�!�512,992,896,480,384,96,0,608
�+��show(L):�0,L:�X%(C,T),Y%(C,T)-4:�A$:�
�3��action:X%=X%(C,T):Y%=Y%(C,T):In=�:�M=1�R:�out
�+�way:X%(C,T)=X%:Y%(C,T)=Y%:�in:�:�hit:�
�'��out:B%=�X%+8,Y%-8):�check:�Z%>0:�
�/�U%=1:�0,B%:�X%,Y%:�B$ � �U%>1:U%=U%-1:�fig
��
�(��in:�check:�Z%=0:�1,S%,M*8,1:�fig:�
�1,S%,200,1:�

&��fig:�X%,Y%:�0,C:�B$:G=0:�C<3:G=7
�0,G:�X%,Y%-24:��(U%):�
%��check:U%=0:Z%=0:�J%=1�4:�K%=1�4
(/�J%<>C � X%(J%,K%)=X%� Y%(J%,K%)=Y%:Z%=Z%+1
2.�J%=C � X%(J%,K%)=X%� Y%(J%,K%)=Y%:U%=U%+1
<	�:�:�
F1��way:H%=X%:V%=Y%:�X%=384 �(X%=0 � Y%<608)�up
P"�X%=512 �(X%=896� Y%>480)�down
Z#�Y%=608 �(X%<512� Y%=992)�right
d!�Y%=480 �(X%>384� Y%=96)�left
n*�X%+8,Y%-8)=C �(X%=448 � Y%=544)�safe
xX%=H%:Y%=V%:� M=R �home
��
�<��up:V%=Y%+64:�V%>992:V%=992:H%=X%+64 � �V%=480:H%=X%-64
��
�<��down:V%=Y%-64:�V%<96:V%=96:H%=X%-64 � �V%=608:H%=X%+64
��
�?��right:H%=X%+64:�H%=960:H%=896:V%=Y%-64 � �H%=384:V%=Y%+64
��
�:��left:H%=X%-64:�H%<0:H%=0:V%=Y%+64 � �H%=512:V%=Y%-64
��
���safe:Safe=�:H%=X%:V%=Y%
�9�X%=448�(Y%>96� Y%<929)� Y%=544�(X%>63� X%<896)Safe=�
�5�(H%=384 � H%=512 � V%=608 � V%=480)� M>0:In=� In
�1�H%>512� In:H%=X%-64 � �H%>511� � In:H%=X%+64
1�H%<384� In:H%=X%+64 � �H%<385� � In:H%=X%-64
1�V%<480� In:V%=Y%+64 � �V%<481� � In:V%=Y%-64
1�V%>608� In:V%=Y%-64 � �V%>607� � In:V%=Y%+64
"�
,4��home:�C �2>0 � X%=448 �(Y%=608 � Y%=480)Home=�
6-�C �2=0 � Y%=544 �(X%=384 � X%=512)Home=�
@�
J��hit:�J%=1�4:�K%=1�4
T;�J%<>C � X%(J%,K%)=X%� Y%(J%,K%)=Y%:�whee:�swop:�crunch
^	�:�:�
h.��whee:�show(9):�L=196�52�-4:�1,S%,L,1:�:�
r��swop:L=X%(J%,0)
|>�K%<L:�M=K%� L-1:X%(J%,M)=X%(J%,M+1):Y%(J%,M)=Y%(J%,M+1):�
�%K%=K%-1:X%(J%,0)=L-1:Y%(J%,L)=0:�
�:��crunch:G=5-(L+Y%(J%,0)):��TlA:�M=1�(J%-1)*4+G:�H%,V%
�*�:�H%*64,(32-V%)*32:�0,6:�A$:�0,S%,6,3
��fig:�show(6):�
�3��bell:�L=S%�0:�1,L,196,1:�:J%=C:K%=T:D=X%(C,T)
�7E=Y%(C,T):�swop:N=Y%(C,0)+1:X%(C,5-N)=D:Y%(C,5-N)=E
�B�N=4:N=W%:W%=W%+1:R=0:�mess(P$(C)+"+is+home!"):�wait(3):*FX229
�!Y%(C,0)=N:Y%(0,0)=Y%(0,0)+1:�
�7��table:�title:�6,9)"POSITION":G$="Sc1st2nd3rd4th"
�5�L=1�4:�L:M=Y%(L,0)-4:�4,9+M*2);:�Y%(L,0)<5��dtF
�4�P$(L)>""�G$,M*3,3);�9-�(P$(L)),".");P$(L):*FX4
�1�:�7:�1,29)"Play again?  (Y/N)":�yn=89� � �
�H*KEY0FORK%=0TOTOP-PA. S.4:K%!&1100=K%!PA.:N.|MPA.=&1100|MO.|MRUN|F|M
'�:�"PLEASE WAIT.";:�21:*FX138,0,128
�
00000000  0d 00 64 1c f4 20 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |..d.. **********|
00000010  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 0d 00 6e 1c  |************..n.|
00000020  f4 20 2a 20 20 4c 55 44  4f 20 76 65 72 73 69 6f  |. *  LUDO versio|
00000030  6e 20 37 2e 33 20 20 2a  0d 00 78 1c f4 20 2a 20  |n 7.3  *..x.. * |
00000040  20 20 62 79 20 4a 6f 68  6e 20 44 65 77 61 72 20  |  by John Dewar |
00000050  20 20 20 2a 0d 00 82 1c  f4 20 2a 20 28 63 29 20  |   *..... * (c) |
00000060  54 68 65 20 4d 69 63 72  6f 20 55 73 65 72 20 2a  |The Micro User *|
00000070  0d 00 8c 1c f4 20 2a 2a  2a 2a 2a 2a 2a 2a 2a 2a  |..... **********|
00000080  2a 2a 2a 2a 2a 2a 2a 2a  2a 2a 2a 2a 0d 00 96 1c  |************....|
00000090  e7 90 3e 26 31 31 30 30  20 8c 8d 64 7e 46 20 8b  |..>&1100 ..d~F .|
000000a0  2a 54 56 32 35 35 2c 31  0d 00 a0 28 ee 85 20 e7  |*TV255,1...(.. .|
000000b0  20 9f 3d 31 37 20 e5 8d  64 52 40 20 8b 20 eb 33  | .=17 ..dR@ . .3|
000000c0  3a f6 3a f1 22 20 6c 69  6e 65 20 22 3b 9e 3a e0  |:.:." line ";.:.|
000000d0  0d 00 aa 1f eb 32 3a f2  69 6e 69 74 3a f2 74 69  |.....2:.init:.ti|
000000e0  74 6c 65 3a f2 77 68 6f  3a f2 62 6f 61 72 64 0d  |tle:.who:.board.|
000000f0  00 b4 2a f5 3a f5 3a 43  3d 43 20 83 34 2b 31 3a  |..*.:.:C=C .4+1:|
00000100  fd 59 25 28 43 2c 30 29  3c 34 3a f5 3a 48 6f 6d  |.Y%(C,0)<4:.:Hom|
00000110  65 3d a3 3a f2 72 6f 6c  6c 0d 00 be 30 f2 70 6c  |e=.:.roll...0.pl|
00000120  61 79 65 72 3a f2 6d 65  73 73 28 22 22 29 3a e7  |ayer:.mess(""):.|
00000130  20 4e 3e 30 20 f2 61 63  74 69 6f 6e 3a e7 20 48  | N>0 .action:. H|
00000140  6f 6d 65 20 f2 62 65 6c  6c 0d 00 c8 14 fd 52 3c  |ome .bell.....R<|
00000150  36 3a fd 59 25 28 30 2c  30 29 3d 31 36 0d 00 d2  |6:.Y%(0,0)=16...|
00000160  18 ef 34 2c 32 36 2c 31  32 3a f2 74 61 62 6c 65  |..4,26,12:.table|
00000170  3a eb 33 3a e0 0d 00 dc  44 dd f2 69 6e 69 74 3a  |:.3:....D..init:|
00000180  ef 32 33 3b 38 32 30 32  3b 30 3b 30 3b 30 3b 31  |.23;8202;0;0;0;1|
00000190  39 2c 32 2c 34 3b 30 3b  31 39 2c 34 2c 32 3b 30  |9,2,4;0;19,4,2;0|
000001a0  3b 3a 40 25 3d 32 3a 57  25 3d 35 3a 53 25 3d 2d  |;:@%=2:W%=5:S%=-|
000001b0  31 31 3a 2a 46 58 34 2c  31 0d 00 e6 42 de 20 50  |11:*FX4,1...B. P|
000001c0  24 28 34 29 2c 58 25 28  34 2c 34 29 2c 59 25 28  |$(4),X%(4,4),Y%(|
000001d0  34 2c 34 29 3a e3 4a 25  3d 31 b8 34 3a e3 4b 25  |4,4):.J%=1.4:.K%|
000001e0  3d 31 b8 34 3a f3 58 25  2c 59 25 3a 58 25 28 4a  |=1.4:.X%,Y%:X%(J|
000001f0  25 2c 4b 25 29 3d 58 25  2a 36 34 0d 00 f0 1c 59  |%,K%)=X%*64....Y|
00000200  25 28 4a 25 2c 4b 25 29  3d 28 33 32 2d 59 25 29  |%(J%,K%)=(32-Y%)|
00000210  2a 33 32 3a ed 3a ed 0d  00 fa 2b ef 32 33 2c 32  |*32:.:....+.23,2|
00000220  32 34 2c 32 35 35 2c 31  32 39 2c 31 32 39 2c 31  |24,255,129,129,1|
00000230  32 39 2c 31 32 39 2c 31  32 39 2c 31 32 39 2c 31  |29,129,129,129,1|
00000240  32 39 0d 01 04 34 ef 32  33 2c 32 32 35 2c 31 32  |29...4.23,225,12|
00000250  39 2c 31 32 39 2c 31 32  39 2c 31 32 39 2c 31 32  |9,129,129,129,12|
00000260  39 2c 31 32 39 2c 31 32  39 2c 32 35 35 3a 2a 46  |9,129,129,255:*F|
00000270  58 32 32 39 2c 31 0d 01  0e 25 ef 32 33 2c 32 32  |X229,1...%.23,22|
00000280  36 2c 30 2c 30 2c 30 2c  31 32 36 2c 31 32 36 2c  |6,0,0,0,126,126,|
00000290  31 32 36 2c 31 32 36 2c  31 32 36 0d 01 18 29 ef  |126,126,126...).|
000002a0  32 33 2c 32 32 37 2c 31  32 36 2c 31 32 36 2c 31  |23,227,126,126,1|
000002b0  32 36 2c 31 32 36 2c 31  32 36 2c 31 32 36 2c 31  |26,126,126,126,1|
000002c0  32 36 2c 30 0d 01 22 2d  41 24 3d bd 32 32 34 2b  |26,0.."-A$=.224+|
000002d0  bd 38 2b bd 31 30 2b bd  32 32 35 3a 42 24 3d bd  |.8+.10+.225:B$=.|
000002e0  32 32 36 2b bd 38 2b bd  31 30 2b bd 32 32 37 3a  |226+.8+.10+.227:|
000002f0  e1 0d 01 2c 30 dc 31 30  2c 33 2c 31 33 2c 33 2c  |...,0.10,3,13,3,|
00000300  31 33 2c 39 2c 31 30 2c  39 2c 31 33 2c 32 31 2c  |13,9,10,9,13,21,|
00000310  31 33 2c 32 37 2c 31 30  2c 32 37 2c 31 30 2c 32  |13,27,10,27,10,2|
00000320  31 0d 01 36 28 dc 34 2c  32 37 2c 31 2c 32 37 2c  |1..6(.4,27,1,27,|
00000330  31 2c 32 31 2c 34 2c 32  31 2c 31 2c 39 2c 31 2c  |1,21,4,21,1,9,1,|
00000340  33 2c 34 2c 33 2c 34 2c  39 0d 01 40 0b dd f2 74  |3,4,3,4,9..@...t|
00000350  69 74 6c 65 0d 01 4a 33  fb 31 33 30 3a f1 27 89  |itle..J3.130:.'.|
00000360  31 34 30 3b 8a 38 2c 32  29 22 4c 55 44 4f 22 27  |140;.8,2)"LUDO"'|
00000370  27 89 39 22 62 79 22 27  27 89 35 22 4a 6f 68 6e  |'.9"by"''.5"John|
00000380  20 44 65 77 61 72 22 0d  01 54 30 fb 31 32 38 3a  | Dewar"..T0.128:|
00000390  f2 62 6f 78 28 30 2c 39  39 32 2c 31 32 37 39 2c  |.box(0,992,1279,|
000003a0  33 38 36 29 3a ec 30 2c  37 36 38 3a df 31 32 37  |386):.0,768:.127|
000003b0  39 2c 37 36 38 3a e1 0d  01 5e 14 dd f2 62 6f 78  |9,768:...^...box|
000003c0  28 4a 25 2c 4b 25 2c 4c  2c 4d 29 0d 01 68 29 e6  |(J%,K%,L,M)..h).|
000003d0  30 2c 36 3a ec 4a 25 2c  4b 25 3a df 4c 2c 4b 25  |0,6:.J%,K%:.L,K%|
000003e0  3a df 4c 2c 4d 3a df 4a  25 2c 4d 3a df 4a 25 2c  |:.L,M:.J%,M:.J%,|
000003f0  4b 25 3a e1 0d 01 72 2f  dd f2 77 68 6f 3a fb 35  |K%:...r/..who:.5|
00000400  3a f1 8a 32 2c 33 30 29  22 52 45 54 55 52 4e 20  |:..2,30)"RETURN |
00000410  49 46 20 4e 4f 42 4f 44  59 22 3b 3a f5 3a f7 8d  |IF NOBODY";:.:..|
00000420  64 7e 41 0d 01 7c 3d 4d  3d 30 3a 4c 3d 30 3a e3  |d~A..|=M=0:L=0:.|
00000430  43 3d 31 b8 34 3a fb 43  3a 59 25 28 30 2c 43 29  |C=1.4:.C:Y%(0,C)|
00000440  3d 30 3a 58 25 28 43 2c  30 29 3d 30 3a 59 25 28  |=0:X%(C,0)=0:Y%(|
00000450  43 2c 30 29 3d 30 3a 59  25 28 30 2c 30 29 3d 30  |C,0)=0:Y%(0,0)=0|
00000460  0d 01 86 23 f3 47 24 3a  f1 8a 35 2c 39 2b 43 2a  |...#.G$:..5,9+C*|
00000470  32 29 47 24 2b c4 31 33  2d a9 28 47 24 29 2c 22  |2)G$+.13-.(G$),"|
00000480  2e 22 29 0d 01 90 40 ef  31 39 2c 35 2c 35 3b 30  |.")...@.19,5,5;0|
00000490  3b 32 38 2c 32 2c 32 39  2c 31 38 2c 32 34 2c 31  |;28,2,29,18,24,1|
000004a0  32 3a d4 31 2c 53 25 2c  31 39 36 2c 31 3a f1 22  |2:.1,S%,196,1:."|
000004b0  57 68 6f 20 70 6c 61 79  73 20 22 3b 47 24 3b 22  |Who plays ";G$;"|
000004c0  3f 22 27 0d 01 9a 39 50  24 28 43 29 3d a4 69 6e  |?"'...9P$(C)=.in|
000004d0  3a ef 31 39 2c 35 2c 30  3b 30 3b 31 32 3a e7 47  |:.19,5,0;0;12:.G|
000004e0  24 3d 22 22 20 59 25 28  43 2c 30 29 3d 34 3a 4c  |$="" Y%(C,0)=4:L|
000004f0  3d 4c 2b 34 20 8b 20 4d  3d 4d 2b 31 0d 01 a4 42  |=L+4 . M=M+1...B|
00000500  e7 47 24 3e 22 22 3a f1  22 49 73 20 22 3b 47 24  |.G$>"":."Is ";G$|
00000510  3b 22 20 61 22 27 27 22  63 6f 6d 70 75 74 65 72  |;" a"''"computer|
00000520  20 70 6c 61 79 65 72 3f  20 22 3b 3a e7 20 a4 79  | player? ";:. .y|
00000530  6e 3d 38 39 20 59 25 28  30 2c 43 29 3d 31 0d 01  |n=89 Y%(0,C)=1..|
00000540  ae 39 ef 31 32 2c 32 36  3a 47 3d 39 2b 43 2a 32  |.9.12,26:G=9+C*2|
00000550  3a f1 8a 31 38 2d a9 28  47 24 29 2c 47 29 47 24  |:..18-.(G$),G)G$|
00000560  8a 34 2c 47 29 c1 22 20  2a 22 2c 59 25 28 30 2c  |.4,G)." *",Y%(0,|
00000570  43 29 2b 31 2c 31 29 0d  01 b8 2f ed 3a fb 37 3a  |C)+1,1).../.:.7:|
00000580  f1 8a 33 2c 32 39 29 22  43 6f 72 72 65 63 74 3f  |..3,29)"Correct?|
00000590  20 28 59 2f 4e 29 22 3a  fd 20 4d 3e 31 20 80 20  | (Y/N)":. M>1 . |
000005a0  a4 79 6e 3d 38 39 0d 01  c2 29 f1 8a 33 2c 32 39  |.yn=89...)..3,29|
000005b0  29 89 31 34 3a 59 25 28  30 2c 30 29 3d 4c 3a f2  |).14:Y%(0,0)=L:.|
000005c0  64 69 65 3a 4c 3d 30 3a  4d 3d 30 3a 4e 3d 30 0d  |die:L=0:M=0:N=0.|
000005d0  01 cc 28 f5 3a e3 43 3d  31 b8 34 3a e7 50 24 28  |..(.:.C=1.4:.P$(|
000005e0  43 29 3d 22 22 20 84 20  58 25 28 30 2c 43 29 3c  |C)="" . X%(0,C)<|
000005f0  4d 20 8c 8d 64 6a 41 0d  01 d6 3c f2 72 6f 6c 6c  |M ..djA...<.roll|
00000600  3a 58 25 28 30 2c 43 29  3d 58 25 28 30 2c 43 29  |:X%(0,C)=X%(0,C)|
00000610  2b 52 3a ef 34 3a d4 31  2c 53 25 2c 31 39 36 2c  |+R:.4:.1,S%,196,|
00000620  31 3a f1 8a 31 2c 39 2b  43 2a 32 29 58 25 28 30  |1:..1,9+C*2)X%(0|
00000630  2c 43 29 0d 01 e0 34 e7  58 25 28 30 2c 43 29 3d  |,C)...4.X%(0,C)=|
00000640  4c 3a 4e 3d 4e 2b 31 3a  8b 20 e7 58 25 28 30 2c  |L:N=N+1:. .X%(0,|
00000650  43 29 3e 4c 3a 4c 3d 58  25 28 30 2c 43 29 3a 4e  |C)>L:L=X%(0,C):N|
00000660  3d 30 3a 50 25 3d 43 0d  01 ea 2e ed 3a 4d 3d 4c  |=0:P%=C.....:M=L|
00000670  3a fd 20 4e 3d 30 3a f2  6d 65 73 73 28 50 24 28  |:. N=0:.mess(P$(|
00000680  50 25 29 2b 22 2b 67 6f  65 73 2b 66 69 72 73 74  |P%)+"+goes+first|
00000690  22 29 3a ef 34 0d 01 f4  17 f2 77 61 69 74 28 33  |"):.4.....wait(3|
000006a0  29 3a db 3a 43 3d 50 25  2d 31 3a e1 0d 01 fe 1b  |):.:C=P%-1:.....|
000006b0  dc 20 52 65 64 2c 42 6c  75 65 2c 59 65 6c 6c 6f  |. Red,Blue,Yello|
000006c0  77 2c 47 72 65 65 6e 0d  02 08 39 dd f2 64 69 65  |w,Green...9..die|
000006d0  3a f2 62 6f 78 28 31 30  31 36 2c 31 30 30 2c 31  |:.box(1016,100,1|
000006e0  30 38 30 2c 33 32 29 3a  f2 62 6f 78 28 31 30 32  |080,32):.box(102|
000006f0  34 2c 31 30 34 2c 31 30  38 38 2c 33 36 29 3a e1  |4,104,1088,36):.|
00000700  0d 02 12 22 dd f2 6d 65  73 73 28 47 24 29 3a 47  |..."..mess(G$):G|
00000710  3d 32 30 3a e7 a9 28 47  24 29 3e 33 30 3a 47 3d  |=20:..(G$)>30:G=|
00000720  31 33 0d 02 1c 17 ef 34  2c 32 38 2c 31 35 2c 32  |13.....4,28,15,2|
00000730  37 2c 31 39 2c 47 2c 31  32 0d 02 26 23 f5 3a 47  |7,19,G,12..&#.:G|
00000740  3d a7 47 24 2c 22 2b 22  29 2d 31 3a f1 27 c0 47  |=.G$,"+")-1:.'.G|
00000750  24 2c 47 29 3b 3a e7 47  3c 35 3a f1 0d 02 30 1d  |$,G);:.G<5:...0.|
00000760  47 24 3d c1 47 24 2c 47  2b 32 29 3a fd 47 3d 2d  |G$=.G$,G+2):.G=-|
00000770  31 3a ef 32 36 2c 35 3a  e1 0d 02 3a 13 dd f2 77  |1:.26,5:...:...w|
00000780  61 69 74 28 4c 29 3a 2a  46 58 32 31 0d 02 44 22  |ait(L):*FX21..D"|
00000790  e7 4c 3d 30 3a 47 3d a5  3a e1 20 8b 20 d1 3d 30  |.L=0:G=.:. . .=0|
000007a0  3a f5 20 fd 20 91 3e 4c  2a 31 30 30 3a e1 0d 02  |:. . .>L*100:...|
000007b0  4e 37 dd a4 69 6e 3a 47  24 3d 22 22 3a f5 3a 47  |N7..in:G$="":.:G|
000007c0  3d a5 3a e7 47 3e 33 32  80 20 47 3c 31 32 37 80  |=.:.G>32. G<127.|
000007d0  20 a9 28 47 24 29 3c 35  ef 47 3a 47 24 3d 47 24  | .(G$)<5.G:G$=G$|
000007e0  2b bd 28 47 29 0d 02 58  26 e7 a9 28 47 24 29 3e  |+.(G)..X&..(G$)>|
000007f0  30 80 20 47 3d 31 32 37  3a 47 24 3d c0 47 24 2c  |0. G=127:G$=.G$,|
00000800  a9 28 47 24 29 2d 31 29  3a ef 47 0d 02 62 0e fd  |.(G$)-1):.G..b..|
00000810  20 47 3d 31 33 3a 3d 47  24 0d 02 6c 23 dd a4 79  | G=13:=G$..l#..y|
00000820  6e 3a f5 3a 47 3d a5 80  26 44 46 3a fd 20 47 3d  |n:.:G=..&DF:. G=|
00000830  38 39 20 84 20 47 3d 37  38 3a 3d 47 0d 02 76 22  |89 . G=78:=G..v"|
00000840  dd f2 62 6f 61 72 64 3a  e3 44 3d 31 b8 37 3a ef  |..board:.D=1.7:.|
00000850  31 39 2c 44 2c 30 3b 30  3b 3a ed 3a fb 38 0d 02  |19,D,0;0;:.:.8..|
00000860  80 2c f2 6d 65 73 73 28  22 57 61 69 74 2b 61 2b  |.,.mess("Wait+a+|
00000870  77 68 69 6c 65 22 29 3a  ef 34 3a fb 36 3a e3 44  |while"):.4:.6:.D|
00000880  3d 31 b8 31 31 3a fb 31  32 39 0d 02 8a 30 f1 8a  |=1.11:.129...0..|
00000890  39 2c 44 29 89 36 3b 8a  39 2c 44 2b 31 29 89 36  |9,D).6;.9,D+1).6|
000008a0  3a e7 44 3c 37 3a f1 8a  37 2c 44 2a 32 2d 31 29  |:.D<7:..7,D*2-1)|
000008b0  41 24 3b 8a 38 2c 31 29  41 24 0d 02 94 25 fb 31  |A$;.8,1)A$...%.1|
000008c0  33 30 3a f1 8a 39 2c 44  2b 31 38 29 89 36 3a e7  |30:..9,D+18).6:.|
000008d0  44 3c 37 3a f1 8a 38 2b  44 2c 31 35 29 41 24 0d  |D<7:..8+D,15)A$.|
000008e0  02 9e 2a f1 8a 39 2c 44  2b 31 39 29 89 36 3b 8a  |..*..9,D+19).6;.|
000008f0  31 34 2c 31 37 29 41 24  3a fb 31 33 31 3a f1 8a  |14,17)A$:.131:..|
00000900  30 2c 44 2b 31 38 29 89  36 0d 02 a8 2b f1 8a 30  |0,D+18).6...+..0|
00000910  2c 44 2b 31 39 29 89 36  3b 8a 36 2c 32 39 29 41  |,D+19).6;.6,29)A|
00000920  24 3a e7 44 3c 37 3a f1  8a 37 2c 44 2a 32 2b 31  |$:.D<7:..7,D*2+1|
00000930  37 29 41 24 0d 02 b2 2b  fb 31 33 32 3a f1 8a 30  |7)A$...+.132:..0|
00000940  2c 44 29 89 36 3a e7 44  3c 37 3a f1 8a 44 2d 31  |,D).6:.D<7:..D-1|
00000950  2c 31 35 29 41 24 3b 8a  30 2c 31 33 29 41 24 0d  |,15)A$;.0,13)A$.|
00000960  02 bc 1e f1 8a 30 2c 44  2b 31 29 89 36 3a fb 31  |.....0,D+1).6:.1|
00000970  33 35 3a e7 44 3e 36 20  8c 8d 64 5a 42 0d 02 c6  |35:.D>6 ..dZB...|
00000980  32 f1 8a 36 2c 44 2a 32  2d 31 29 41 24 3b 8a 38  |2..6,D*2-1)A$;.8|
00000990  2c 44 2a 32 2d 31 29 41  24 3b 8a 38 2b 44 2c 31  |,D*2-1)A$;.8+D,1|
000009a0  33 29 41 24 3b 8a 38 2b  44 2c 31 37 29 41 24 0d  |3)A$;.8+D,17)A$.|
000009b0  02 d0 34 f1 8a 36 2c 44  2a 32 2b 31 37 29 41 24  |..4..6,D*2+17)A$|
000009c0  3b 8a 38 2c 44 2a 32 2b  31 37 29 41 24 3b 8a 44  |;.8,D*2+17)A$;.D|
000009d0  2d 31 2c 31 33 29 41 24  3b 8a 44 2d 31 2c 31 37  |-1,13)A$;.D-1,17|
000009e0  29 41 24 0d 02 da 32 ed  3a fb 31 32 38 3a e6 30  |)A$...2.:.128:.0|
000009f0  2c 31 3a ec 33 38 34 2c  36 30 34 3a ec 35 36 38  |,1:.384,604:.568|
00000a00  2c 36 30 34 3a f0 38 35  2c 34 38 30 2c 35 30 38  |,604:.85,480,508|
00000a10  3a e6 30 2c 32 0d 02 e4  3a f0 38 35 2c 35 36 38  |:.0,2...:.85,568|
00000a20  2c 34 31 36 3a e6 30 2c  33 3a f0 38 35 2c 33 38  |,416:.0,3:.85,38|
00000a30  34 2c 34 31 36 3a ec 33  38 34 2c 36 30 34 3a e6  |4,416:.384,604:.|
00000a40  30 2c 34 3a f0 38 35 2c  34 38 30 2c 35 30 38 0d  |0,4:.85,480,508.|
00000a50  02 ee 3b e3 44 3d 30 b8  35 37 36 88 35 37 36 3a  |..;.D=0.576.576:|
00000a60  f2 62 6f 78 28 44 2c 34  31 32 2c 44 2b 33 38 30  |.box(D,412,D+380|
00000a70  2c 33 32 29 3a f2 62 6f  78 28 44 2c 39 38 38 2c  |,32):.box(D,988,|
00000a80  44 2b 33 38 30 2c 36 30  38 29 0d 02 f8 2e ed 3a  |D+380,608).....:|
00000a90  ec 33 38 34 2c 36 30 34  3a df 35 36 38 2c 34 31  |.384,604:.568,41|
00000aa0  36 3a ec 35 36 38 2c 36  30 34 3a df 33 38 34 2c  |6:.568,604:.384,|
00000ab0  34 31 36 3a f2 64 69 65  0d 03 02 3a fb 37 3a ef  |416:.die...:.7:.|
00000ac0  32 38 2c 31 35 2c 31 31  2c 31 39 2c 33 3a f1 22  |28,15,11,19,3:."|
00000ad0  4c 55 44 4f 22 27 27 22  62 79 22 27 27 22 4a 6f  |LUDO"''"by"''"Jo|
00000ae0  68 6e 22 27 27 22 44 65  77 61 72 22 3a ef 32 36  |hn"''"Dewar":.26|
00000af0  2c 35 0d 03 0c 2a e3 44  3d 31 b8 34 3a e3 45 3d  |,5...*.D=1.4:.E=|
00000b00  31 b8 34 3a ec 58 25 28  44 2c 45 29 2c 59 25 28  |1.4:.X%(D,E),Y%(|
00000b10  44 2c 45 29 3a f1 41 24  3a ed 3a ed 0d 03 16 29  |D,E):.A$:.:....)|
00000b20  e3 4a 25 3d 31 b8 37 3a  4b 25 3d 4a 25 3a e7 4b  |.J%=1.7:K%=J%:.K|
00000b30  25 3d 32 3a 4b 25 3d 34  20 8b 20 e7 4b 25 3d 34  |%=2:K%=4 . .K%=4|
00000b40  3a 4b 25 3d 32 0d 03 20  14 ef 31 39 2c 4a 25 2c  |:K%=2.. ..19,J%,|
00000b50  4b 25 3b 30 3b 3a ed 3a  e1 0d 03 2a 3a dd f2 72  |K%;0;:.:...*:..r|
00000b60  6f 6c 6c 3a f2 6d 65 73  73 28 50 24 28 43 29 2b  |oll:.mess(P$(C)+|
00000b70  22 2b 70 72 65 73 73 2b  73 70 61 63 65 22 29 3a  |"+press+space"):|
00000b80  f2 77 61 69 74 28 59 25  28 30 2c 43 29 29 3a e6  |.wait(Y%(0,C)):.|
00000b90  30 2c 36 0d 03 34 35 4b  25 3d b3 28 37 29 2b 32  |0,6..45K%=.(7)+2|
00000ba0  3a e3 4a 25 3d 31 b8 4b  25 3a 52 3d b3 28 36 29  |:.J%=1.K%:R=.(6)|
00000bb0  3a d4 30 2c 53 25 81 32  2c 31 2c 31 3a d4 30 2c  |:.0,S%.2,1,1:.0,|
00000bc0  53 25 81 32 2c 30 2c 31  0d 03 3e 3d ef 32 34 2c  |S%.2,0,1..>=.24,|
00000bd0  31 30 32 34 3b 33 36 3b  31 30 37 32 3b 39 36 3b  |1024;36;1072;96;|
00000be0  31 36 2c 32 36 3a e7 52  20 83 32 3e 30 20 f0 36  |16,26:.R .2>0 .6|
00000bf0  39 2c 31 30 35 34 2c 36  34 3a f0 36 39 2c 31 30  |9,1054,64:.69,10|
00000c00  35 34 2c 36 38 0d 03 48  14 e7 52 3e 31 20 f2 64  |54,68..H..R>1 .d|
00000c10  6f 74 28 34 38 2c 38 30  29 0d 03 52 14 e7 52 3e  |ot(48,80)..R..R>|
00000c20  33 20 f2 64 6f 74 28 38  30 2c 34 38 29 0d 03 5c  |3 .dot(80,48)..\|
00000c30  33 e7 52 3d 36 20 f2 64  6f 74 28 36 34 2c 36 34  |3.R=6 .dot(64,64|
00000c40  29 3a e7 4a 25 3d 4b 25  3a d4 31 2c 53 25 2c 32  |):.J%=K%:.1,S%,2|
00000c50  34 34 2c 33 3a d4 31 2c  53 25 2c 31 39 36 2c 33  |44,3:.1,S%,196,3|
00000c60  0d 03 66 1a ed 3a f2 77  61 69 74 28 32 29 3a f2  |..f..:.wait(2):.|
00000c70  6d 65 73 73 28 22 22 29  3a e1 0d 03 70 0f dd f2  |mess(""):...p...|
00000c80  64 6f 74 28 4b 25 2c 4c  29 0d 03 7a 37 f0 36 39  |dot(K%,L)..z7.69|
00000c90  2c 31 30 33 32 2c 4b 25  3a f0 36 39 2c 31 30 33  |,1032,K%:.69,103|
00000ca0  32 2c 4b 25 2b 34 3a f0  36 39 2c 31 30 36 34 2c  |2,K%+4:.69,1064,|
00000cb0  4c 3a f0 36 39 2c 31 30  36 34 2c 4c 2b 34 3a e1  |L:.69,1064,L+4:.|
00000cc0  0d 03 84 26 dd f2 70 6c  61 79 65 72 3a 54 3d 31  |...&..player:T=1|
00000cd0  3a 4e 3d 58 25 28 43 2c  30 29 3a e7 52 3c 36 80  |:N=X%(C,0):.R<6.|
00000ce0  20 4e 3d 30 3a e1 0d 03  8e 15 47 3d 37 38 3a e7  | N=0:.....G=78:.|
00000cf0  52 3d 36 80 20 4e 3d 30  20 f2 36 0d 03 98 17 e7  |R=6. N=0 .6.....|
00000d00  59 25 28 30 2c 43 29 3d  31 20 f2 6d 69 63 72 6f  |Y%(0,C)=1 .micro|
00000d10  3a e1 0d 03 a2 3a f5 3a  e7 52 3d 36 80 20 4e 2b  |:....:.:.R=6. N+|
00000d20  59 25 28 43 2c 30 29 3c  34 f2 6d 65 73 73 28 22  |Y%(C,0)<4.mess("|
00000d30  4d 6f 76 65 2b 66 72 6f  6d 2b 79 61 72 64 3f 22  |Move+from+yard?"|
00000d40  29 3a e7 20 a4 79 6e 3d  38 39 f2 36 0d 03 ac 25  |):. .yn=89.6...%|
00000d50  fd 20 4e 2b 59 25 28 43  2c 30 29 3d 34 20 84 20  |. N+Y%(C,0)=4 . |
00000d60  52 3c 36 20 84 20 47 3d  37 38 3a e7 4e 3d 31 3a  |R<6 . G=78:.N=1:|
00000d70  e1 0d 03 b6 31 f2 6d 65  73 73 28 22 53 50 41 43  |....1.mess("SPAC|
00000d80  45 2b 70 69 63 6b 73 2b  74 6f 6b 65 6e 2b 52 45  |E+picks+token+RE|
00000d90  2d 2b 54 55 52 4e 2b 6d  6f 76 65 73 2b 69 74 2e  |-+TURN+moves+it.|
00000da0  22 29 0d 03 c0 34 54 3d  30 3a f5 3a 54 3d 54 20  |")...4T=0:.:T=T |
00000db0  83 20 4e 2b 31 3a f2 73  68 6f 77 28 39 29 3a f2  |. N+1:.show(9):.|
00000dc0  77 61 69 74 28 30 29 3a  f2 73 68 6f 77 28 36 29  |wait(0):.show(6)|
00000dd0  3a fd 47 3d 31 33 0d 03  ca 15 f2 6d 65 73 73 28  |:.G=13.....mess(|
00000de0  c4 33 31 2c 22 20 22 29  29 3a e1 0d 03 d4 2d dd  |.31," ")):....-.|
00000df0  f2 6d 69 63 72 6f 3a f5  3a e7 52 3d 36 80 20 4e  |.micro:.:.R=6. N|
00000e00  2b 59 25 28 43 2c 30 29  3c 34 f2 6d 6f 72 65 3a  |+Y%(C,0)<4.more:|
00000e10  e7 47 3d 38 39 20 f2 36  0d 03 de 25 fd 20 4e 2b  |.G=89 .6...%. N+|
00000e20  59 25 28 43 2c 30 29 3d  34 20 84 20 52 3c 36 20  |Y%(C,0)=4 . R<6 |
00000e30  84 20 47 3d 37 38 3a e7  4e 3d 31 3a e1 0d 03 e8  |. G=78:.N=1:....|
00000e40  26 44 3d 30 3a 45 3d 30  3a 46 25 3d 30 3a 50 25  |&D=0:E=0:F%=0:P%|
00000e50  3d 31 3a 51 25 3d 30 3a  52 25 3d 30 3a e3 54 3d  |=1:Q%=0:R%=0:.T=|
00000e60  31 b8 4e 0d 03 f2 3a 48  6f 6d 65 3d a3 3a 58 25  |1.N...:Home=.:X%|
00000e70  3d 58 25 28 43 2c 54 29  3a 59 25 3d 59 25 28 43  |=X%(C,T):Y%=Y%(C|
00000e80  2c 54 29 3a f2 63 68 65  63 6b 3a e7 20 55 25 3e  |,T):.check:. U%>|
00000e90  50 25 3a 50 25 3d 55 25  3a 51 25 3d 54 0d 03 fc  |P%:P%=U%:Q%=T...|
00000ea0  2f f2 73 68 6f 77 28 39  29 3a f2 73 61 66 65 3a  |/.show(9):.safe:|
00000eb0  e7 20 53 61 66 65 3a 58  25 28 30 2c 54 29 3d 31  |. Safe:X%(0,T)=1|
00000ec0  20 8b 20 58 25 28 30 2c  54 29 3d 30 0d 04 06 2d  | . X%(0,T)=0...-|
00000ed0  49 6e 3d b9 3a e3 4d 3d  31 b8 52 3a f2 77 61 79  |In=.:.M=1.R:.way|
00000ee0  3a ed 3a f2 63 68 65 63  6b 3a e7 5a 25 3e 3d 44  |:.:.check:.Z%>=D|
00000ef0  3a 44 3d 5a 25 3a 45 3d  54 0d 04 10 2f e7 20 48  |:D=Z%:E=T.../. H|
00000f00  6f 6d 65 3a 46 25 3d 54  20 8b 20 f2 73 61 66 65  |ome:F%=T . .safe|
00000f10  3a e7 20 53 61 66 65 20  80 20 58 25 28 30 2c 54  |:. Safe . X%(0,T|
00000f20  29 3d 30 3a 52 25 3d 54  0d 04 1a 22 f2 77 61 69  |)=0:R%=T...".wai|
00000f30  74 28 31 29 3a f2 73 68  6f 77 28 36 29 3a ed 3a  |t(1):.show(6):.:|
00000f40  54 3d a4 74 6f 6b 65 6e  3a e1 0d 04 24 27 dd f2  |T=.token:...$'..|
00000f50  6d 6f 72 65 3a f2 73 74  61 72 74 28 43 29 3a 58  |more:.start(C):X|
00000f60  25 3d 48 25 3a 59 25 3d  56 25 3a f2 63 68 65 63  |%=H%:Y%=V%:.chec|
00000f70  6b 0d 04 2e 37 44 3d 30  3a e3 45 3d 31 b8 4e 3a  |k...7D=0:.E=1.N:|
00000f80  58 25 3d 58 25 28 43 2c  45 29 3a 59 25 3d 59 25  |X%=X%(C,E):Y%=Y%|
00000f90  28 43 2c 45 29 3a f2 73  61 66 65 3a e7 20 53 61  |(C,E):.safe:. Sa|
00000fa0  66 65 3a 44 3d 44 2b 31  0d 04 38 24 ed 3a 47 3d  |fe:D=D+1..8$.:G=|
00000fb0  37 38 3a e7 5a 25 3e 30  20 84 20 44 3d 4e 20 84  |78:.Z%>0 . D=N .|
00000fc0  20 b3 28 36 29 3d 36 3a  47 3d 38 39 0d 04 42 05  | .(6)=6:G=89..B.|
00000fd0  e1 0d 04 4c 37 dd a4 74  6f 6b 65 6e 3a e7 52 25  |...L7..token:.R%|
00000fe0  3e 30 3a 3d 52 25 20 8b  20 e7 44 3e 30 3a 3d 45  |>0:=R% . .D>0:=E|
00000ff0  20 8b 20 e7 50 25 3e 31  80 20 58 25 28 30 2c 51  | . .P%>1. X%(0,Q|
00001000  25 29 3d 30 3a 3d 51 25  0d 04 56 1f 4c 3d 30 3a  |%)=0:=Q%..V.L=0:|
00001010  e3 44 3d 31 b8 34 3a e3  45 3d 31 b8 4e 3a f2 73  |.D=1.4:.E=1.N:.s|
00001020  74 61 72 74 28 44 29 0d  04 60 33 e7 28 44 3c 3e  |tart(D)..`3.(D<>|
00001030  43 20 80 20 59 25 28 44  2c 30 29 3c 34 80 20 48  |C . Y%(D,0)<4. H|
00001040  25 3d 58 25 28 43 2c 45  29 80 20 56 25 3d 59 25  |%=X%(C,E). V%=Y%|
00001050  28 43 2c 45 29 29 3a 4c  3d 45 0d 04 6a 0f ed 3a  |(C,E)):L=E..j..:|
00001060  ed 3a e7 4c 3e 30 3a 3d  4c 0d 04 74 33 e7 46 25  |.:.L>0:=L..t3.F%|
00001070  3e 30 3a 3d 46 25 20 8b  20 47 3d 30 3a e3 44 3d  |>0:=F% . G=0:.D=|
00001080  31 b8 4e 3a 47 3d 47 2b  58 25 28 30 2c 44 29 3a  |1.N:G=G+X%(0,D):|
00001090  ed 3a e7 47 3d 4e 3a 3d  b3 28 4e 29 0d 04 7e 1b  |.:.G=N:=.(N)..~.|
000010a0  f5 3a 4c 3d b3 28 4e 29  3a fd 20 58 25 28 30 2c  |.:L=.(N):. X%(0,|
000010b0  4c 29 3d 30 3a 3d 4c 0d  04 88 35 dd f2 36 3a 44  |L)=0:=L...5..6:D|
000010c0  3d 34 2d 28 4e 2b 59 25  28 43 2c 30 29 29 3a f7  |=4-(N+Y%(C,0)):.|
000010d0  8d 54 6c 41 3a e3 4d 3d  31 b8 28 43 2d 31 29 2a  |.TlA:.M=1.(C-1)*|
000010e0  34 2b 44 3a f3 48 25 2c  56 25 3a ed 0d 04 92 3c  |4+D:.H%,V%:....<|
000010f0  ec 48 25 2a 36 34 2c 28  33 32 2d 56 25 29 2a 33  |.H%*64,(32-V%)*3|
00001100  32 3a e6 30 2c 43 3a f1  41 24 3a 4e 3d 4e 2b 31  |2:.0,C:.A$:N=N+1|
00001110  3a 58 25 28 43 2c 30 29  3d 4e 3a 54 3d 4e 3a f2  |:X%(C,0)=N:T=N:.|
00001120  73 74 61 72 74 28 43 29  0d 04 9c 36 58 25 3d 48  |start(C)...6X%=H|
00001130  25 3a 59 25 3d 56 25 3a  58 25 28 43 2c 4e 29 3d  |%:Y%=V%:X%(C,N)=|
00001140  48 25 3a 59 25 28 43 2c  4e 29 3d 56 25 3a f2 69  |H%:Y%(C,N)=V%:.i|
00001150  6e 3a f2 68 69 74 3a f2  72 6f 6c 6c 3a e1 0d 04  |n:.hit:.roll:...|
00001160  a6 27 dd f2 73 74 61 72  74 28 47 29 3a f7 8d 74  |.'..start(G):..t|
00001170  70 44 3a e3 4a 25 3d 31  b8 47 3a f3 48 25 2c 56  |pD:.J%=1.G:.H%,V|
00001180  25 3a ed 3a e1 0d 04 b0  21 dc 35 31 32 2c 39 39  |%:.:....!.512,99|
00001190  32 2c 38 39 36 2c 34 38  30 2c 33 38 34 2c 39 36  |2,896,480,384,96|
000011a0  2c 30 2c 36 30 38 0d 04  ba 2b dd f2 73 68 6f 77  |,0,608...+..show|
000011b0  28 4c 29 3a e6 30 2c 4c  3a ec 58 25 28 43 2c 54  |(L):.0,L:.X%(C,T|
000011c0  29 2c 59 25 28 43 2c 54  29 2d 34 3a f1 41 24 3a  |),Y%(C,T)-4:.A$:|
000011d0  e1 0d 04 c4 33 dd f2 61  63 74 69 6f 6e 3a 58 25  |....3..action:X%|
000011e0  3d 58 25 28 43 2c 54 29  3a 59 25 3d 59 25 28 43  |=X%(C,T):Y%=Y%(C|
000011f0  2c 54 29 3a 49 6e 3d b9  3a e3 4d 3d 31 b8 52 3a  |,T):In=.:.M=1.R:|
00001200  f2 6f 75 74 0d 04 ce 2b  f2 77 61 79 3a 58 25 28  |.out...+.way:X%(|
00001210  43 2c 54 29 3d 58 25 3a  59 25 28 43 2c 54 29 3d  |C,T)=X%:Y%(C,T)=|
00001220  59 25 3a f2 69 6e 3a ed  3a f2 68 69 74 3a e1 0d  |Y%:.in:.:.hit:..|
00001230  04 d8 27 dd f2 6f 75 74  3a 42 25 3d b0 58 25 2b  |..'..out:B%=.X%+|
00001240  38 2c 59 25 2d 38 29 3a  f2 63 68 65 63 6b 3a e7  |8,Y%-8):.check:.|
00001250  5a 25 3e 30 3a e1 0d 04  e2 2f e7 55 25 3d 31 3a  |Z%>0:..../.U%=1:|
00001260  e6 30 2c 42 25 3a ec 58  25 2c 59 25 3a f1 42 24  |.0,B%:.X%,Y%:.B$|
00001270  20 8b 20 e7 55 25 3e 31  3a 55 25 3d 55 25 2d 31  | . .U%>1:U%=U%-1|
00001280  3a f2 66 69 67 0d 04 ec  05 e1 0d 04 f6 28 dd f2  |:.fig........(..|
00001290  69 6e 3a f2 63 68 65 63  6b 3a e7 5a 25 3d 30 3a  |in:.check:.Z%=0:|
000012a0  d4 31 2c 53 25 2c 4d 2a  38 2c 31 3a f2 66 69 67  |.1,S%,M*8,1:.fig|
000012b0  3a e1 0d 05 00 11 d4 31  2c 53 25 2c 32 30 30 2c  |:......1,S%,200,|
000012c0  31 3a e1 0d 05 0a 26 dd  f2 66 69 67 3a ec 58 25  |1:....&..fig:.X%|
000012d0  2c 59 25 3a e6 30 2c 43  3a f1 42 24 3a 47 3d 30  |,Y%:.0,C:.B$:G=0|
000012e0  3a e7 43 3c 33 3a 47 3d  37 0d 05 14 1b e6 30 2c  |:.C<3:G=7.....0,|
000012f0  47 3a ec 58 25 2c 59 25  2d 32 34 3a f1 c3 28 55  |G:.X%,Y%-24:..(U|
00001300  25 29 3a e1 0d 05 1e 25  dd f2 63 68 65 63 6b 3a  |%):....%..check:|
00001310  55 25 3d 30 3a 5a 25 3d  30 3a e3 4a 25 3d 31 b8  |U%=0:Z%=0:.J%=1.|
00001320  34 3a e3 4b 25 3d 31 b8  34 0d 05 28 2f e7 4a 25  |4:.K%=1.4..(/.J%|
00001330  3c 3e 43 20 80 20 58 25  28 4a 25 2c 4b 25 29 3d  |<>C . X%(J%,K%)=|
00001340  58 25 80 20 59 25 28 4a  25 2c 4b 25 29 3d 59 25  |X%. Y%(J%,K%)=Y%|
00001350  3a 5a 25 3d 5a 25 2b 31  0d 05 32 2e e7 4a 25 3d  |:Z%=Z%+1..2..J%=|
00001360  43 20 80 20 58 25 28 4a  25 2c 4b 25 29 3d 58 25  |C . X%(J%,K%)=X%|
00001370  80 20 59 25 28 4a 25 2c  4b 25 29 3d 59 25 3a 55  |. Y%(J%,K%)=Y%:U|
00001380  25 3d 55 25 2b 31 0d 05  3c 09 ed 3a ed 3a e1 0d  |%=U%+1..<..:.:..|
00001390  05 46 31 dd f2 77 61 79  3a 48 25 3d 58 25 3a 56  |.F1..way:H%=X%:V|
000013a0  25 3d 59 25 3a e7 58 25  3d 33 38 34 20 84 28 58  |%=Y%:.X%=384 .(X|
000013b0  25 3d 30 20 80 20 59 25  3c 36 30 38 29 f2 75 70  |%=0 . Y%<608).up|
000013c0  0d 05 50 22 e7 58 25 3d  35 31 32 20 84 28 58 25  |..P".X%=512 .(X%|
000013d0  3d 38 39 36 80 20 59 25  3e 34 38 30 29 f2 64 6f  |=896. Y%>480).do|
000013e0  77 6e 0d 05 5a 23 e7 59  25 3d 36 30 38 20 84 28  |wn..Z#.Y%=608 .(|
000013f0  58 25 3c 35 31 32 80 20  59 25 3d 39 39 32 29 f2  |X%<512. Y%=992).|
00001400  72 69 67 68 74 0d 05 64  21 e7 59 25 3d 34 38 30  |right..d!.Y%=480|
00001410  20 84 28 58 25 3e 33 38  34 80 20 59 25 3d 39 36  | .(X%>384. Y%=96|
00001420  29 f2 6c 65 66 74 0d 05  6e 2a e7 b0 58 25 2b 38  |).left..n*..X%+8|
00001430  2c 59 25 2d 38 29 3d 43  20 80 28 58 25 3d 34 34  |,Y%-8)=C .(X%=44|
00001440  38 20 84 20 59 25 3d 35  34 34 29 f2 73 61 66 65  |8 . Y%=544).safe|
00001450  0d 05 78 1b 58 25 3d 48  25 3a 59 25 3d 56 25 3a  |..x.X%=H%:Y%=V%:|
00001460  e7 20 4d 3d 52 20 f2 68  6f 6d 65 0d 05 82 05 e1  |. M=R .home.....|
00001470  0d 05 8c 3c dd f2 75 70  3a 56 25 3d 59 25 2b 36  |...<..up:V%=Y%+6|
00001480  34 3a e7 56 25 3e 39 39  32 3a 56 25 3d 39 39 32  |4:.V%>992:V%=992|
00001490  3a 48 25 3d 58 25 2b 36  34 20 8b 20 e7 56 25 3d  |:H%=X%+64 . .V%=|
000014a0  34 38 30 3a 48 25 3d 58  25 2d 36 34 0d 05 96 05  |480:H%=X%-64....|
000014b0  e1 0d 05 a0 3c dd f2 64  6f 77 6e 3a 56 25 3d 59  |....<..down:V%=Y|
000014c0  25 2d 36 34 3a e7 56 25  3c 39 36 3a 56 25 3d 39  |%-64:.V%<96:V%=9|
000014d0  36 3a 48 25 3d 58 25 2d  36 34 20 8b 20 e7 56 25  |6:H%=X%-64 . .V%|
000014e0  3d 36 30 38 3a 48 25 3d  58 25 2b 36 34 0d 05 aa  |=608:H%=X%+64...|
000014f0  05 e1 0d 05 b4 3f dd f2  72 69 67 68 74 3a 48 25  |.....?..right:H%|
00001500  3d 58 25 2b 36 34 3a e7  48 25 3d 39 36 30 3a 48  |=X%+64:.H%=960:H|
00001510  25 3d 38 39 36 3a 56 25  3d 59 25 2d 36 34 20 8b  |%=896:V%=Y%-64 .|
00001520  20 e7 48 25 3d 33 38 34  3a 56 25 3d 59 25 2b 36  | .H%=384:V%=Y%+6|
00001530  34 0d 05 be 05 e1 0d 05  c8 3a dd f2 6c 65 66 74  |4........:..left|
00001540  3a 48 25 3d 58 25 2d 36  34 3a e7 48 25 3c 30 3a  |:H%=X%-64:.H%<0:|
00001550  48 25 3d 30 3a 56 25 3d  59 25 2b 36 34 20 8b 20  |H%=0:V%=Y%+64 . |
00001560  e7 48 25 3d 35 31 32 3a  56 25 3d 59 25 2d 36 34  |.H%=512:V%=Y%-64|
00001570  0d 05 d2 05 e1 0d 05 dc  1d dd f2 73 61 66 65 3a  |...........safe:|
00001580  53 61 66 65 3d a3 3a 48  25 3d 58 25 3a 56 25 3d  |Safe=.:H%=X%:V%=|
00001590  59 25 0d 05 e6 39 e7 58  25 3d 34 34 38 80 28 59  |Y%...9.X%=448.(Y|
000015a0  25 3e 39 36 80 20 59 25  3c 39 32 39 29 84 20 59  |%>96. Y%<929). Y|
000015b0  25 3d 35 34 34 80 28 58  25 3e 36 33 80 20 58 25  |%=544.(X%>63. X%|
000015c0  3c 38 39 36 29 53 61 66  65 3d b9 0d 05 f0 35 e7  |<896)Safe=....5.|
000015d0  28 48 25 3d 33 38 34 20  84 20 48 25 3d 35 31 32  |(H%=384 . H%=512|
000015e0  20 84 20 56 25 3d 36 30  38 20 84 20 56 25 3d 34  | . V%=608 . V%=4|
000015f0  38 30 29 80 20 4d 3e 30  3a 49 6e 3d ac 20 49 6e  |80). M>0:In=. In|
00001600  0d 05 fa 31 e7 48 25 3e  35 31 32 80 20 49 6e 3a  |...1.H%>512. In:|
00001610  48 25 3d 58 25 2d 36 34  20 8b 20 e7 48 25 3e 35  |H%=X%-64 . .H%>5|
00001620  31 31 80 20 ac 20 49 6e  3a 48 25 3d 58 25 2b 36  |11. . In:H%=X%+6|
00001630  34 0d 06 04 31 e7 48 25  3c 33 38 34 80 20 49 6e  |4...1.H%<384. In|
00001640  3a 48 25 3d 58 25 2b 36  34 20 8b 20 e7 48 25 3c  |:H%=X%+64 . .H%<|
00001650  33 38 35 80 20 ac 20 49  6e 3a 48 25 3d 58 25 2d  |385. . In:H%=X%-|
00001660  36 34 0d 06 0e 31 e7 56  25 3c 34 38 30 80 20 49  |64...1.V%<480. I|
00001670  6e 3a 56 25 3d 59 25 2b  36 34 20 8b 20 e7 56 25  |n:V%=Y%+64 . .V%|
00001680  3c 34 38 31 80 20 ac 20  49 6e 3a 56 25 3d 59 25  |<481. . In:V%=Y%|
00001690  2d 36 34 0d 06 18 31 e7  56 25 3e 36 30 38 80 20  |-64...1.V%>608. |
000016a0  49 6e 3a 56 25 3d 59 25  2d 36 34 20 8b 20 e7 56  |In:V%=Y%-64 . .V|
000016b0  25 3e 36 30 37 80 20 ac  20 49 6e 3a 56 25 3d 59  |%>607. . In:V%=Y|
000016c0  25 2b 36 34 0d 06 22 05  e1 0d 06 2c 34 dd f2 68  |%+64.."....,4..h|
000016d0  6f 6d 65 3a e7 43 20 83  32 3e 30 20 80 20 58 25  |ome:.C .2>0 . X%|
000016e0  3d 34 34 38 20 80 28 59  25 3d 36 30 38 20 84 20  |=448 .(Y%=608 . |
000016f0  59 25 3d 34 38 30 29 48  6f 6d 65 3d b9 0d 06 36  |Y%=480)Home=...6|
00001700  2d e7 43 20 83 32 3d 30  20 80 20 59 25 3d 35 34  |-.C .2=0 . Y%=54|
00001710  34 20 80 28 58 25 3d 33  38 34 20 84 20 58 25 3d  |4 .(X%=384 . X%=|
00001720  35 31 32 29 48 6f 6d 65  3d b9 0d 06 40 05 e1 0d  |512)Home=...@...|
00001730  06 4a 19 dd f2 68 69 74  3a e3 4a 25 3d 31 b8 34  |.J...hit:.J%=1.4|
00001740  3a e3 4b 25 3d 31 b8 34  0d 06 54 3b e7 4a 25 3c  |:.K%=1.4..T;.J%<|
00001750  3e 43 20 80 20 58 25 28  4a 25 2c 4b 25 29 3d 58  |>C . X%(J%,K%)=X|
00001760  25 80 20 59 25 28 4a 25  2c 4b 25 29 3d 59 25 3a  |%. Y%(J%,K%)=Y%:|
00001770  f2 77 68 65 65 3a f2 73  77 6f 70 3a f2 63 72 75  |.whee:.swop:.cru|
00001780  6e 63 68 0d 06 5e 09 ed  3a ed 3a e1 0d 06 68 2e  |nch..^..:.:...h.|
00001790  dd f2 77 68 65 65 3a f2  73 68 6f 77 28 39 29 3a  |..whee:.show(9):|
000017a0  e3 4c 3d 31 39 36 b8 35  32 88 2d 34 3a d4 31 2c  |.L=196.52.-4:.1,|
000017b0  53 25 2c 4c 2c 31 3a ed  3a e1 0d 06 72 15 dd f2  |S%,L,1:.:...r...|
000017c0  73 77 6f 70 3a 4c 3d 58  25 28 4a 25 2c 30 29 0d  |swop:L=X%(J%,0).|
000017d0  06 7c 3e e7 4b 25 3c 4c  3a e3 4d 3d 4b 25 b8 20  |.|>.K%<L:.M=K%. |
000017e0  4c 2d 31 3a 58 25 28 4a  25 2c 4d 29 3d 58 25 28  |L-1:X%(J%,M)=X%(|
000017f0  4a 25 2c 4d 2b 31 29 3a  59 25 28 4a 25 2c 4d 29  |J%,M+1):Y%(J%,M)|
00001800  3d 59 25 28 4a 25 2c 4d  2b 31 29 3a ed 0d 06 86  |=Y%(J%,M+1):....|
00001810  25 4b 25 3d 4b 25 2d 31  3a 58 25 28 4a 25 2c 30  |%K%=K%-1:X%(J%,0|
00001820  29 3d 4c 2d 31 3a 59 25  28 4a 25 2c 4c 29 3d 30  |)=L-1:Y%(J%,L)=0|
00001830  3a e1 0d 06 90 3a dd f2  63 72 75 6e 63 68 3a 47  |:....:..crunch:G|
00001840  3d 35 2d 28 4c 2b 59 25  28 4a 25 2c 30 29 29 3a  |=5-(L+Y%(J%,0)):|
00001850  f7 8d 54 6c 41 3a e3 4d  3d 31 b8 28 4a 25 2d 31  |..TlA:.M=1.(J%-1|
00001860  29 2a 34 2b 47 3a f3 48  25 2c 56 25 0d 06 9a 2a  |)*4+G:.H%,V%...*|
00001870  ed 3a ec 48 25 2a 36 34  2c 28 33 32 2d 56 25 29  |.:.H%*64,(32-V%)|
00001880  2a 33 32 3a e6 30 2c 36  3a f1 41 24 3a d4 30 2c  |*32:.0,6:.A$:.0,|
00001890  53 25 2c 36 2c 33 0d 06  a4 13 f2 66 69 67 3a f2  |S%,6,3.....fig:.|
000018a0  73 68 6f 77 28 36 29 3a  e1 0d 06 ae 33 dd f2 62  |show(6):....3..b|
000018b0  65 6c 6c 3a e3 4c 3d 53  25 b8 30 3a d4 31 2c 4c  |ell:.L=S%.0:.1,L|
000018c0  2c 31 39 36 2c 31 3a ed  3a 4a 25 3d 43 3a 4b 25  |,196,1:.:J%=C:K%|
000018d0  3d 54 3a 44 3d 58 25 28  43 2c 54 29 0d 06 b8 37  |=T:D=X%(C,T)...7|
000018e0  45 3d 59 25 28 43 2c 54  29 3a f2 73 77 6f 70 3a  |E=Y%(C,T):.swop:|
000018f0  4e 3d 59 25 28 43 2c 30  29 2b 31 3a 58 25 28 43  |N=Y%(C,0)+1:X%(C|
00001900  2c 35 2d 4e 29 3d 44 3a  59 25 28 43 2c 35 2d 4e  |,5-N)=D:Y%(C,5-N|
00001910  29 3d 45 0d 06 c2 42 e7  4e 3d 34 3a 4e 3d 57 25  |)=E...B.N=4:N=W%|
00001920  3a 57 25 3d 57 25 2b 31  3a 52 3d 30 3a f2 6d 65  |:W%=W%+1:R=0:.me|
00001930  73 73 28 50 24 28 43 29  2b 22 2b 69 73 2b 68 6f  |ss(P$(C)+"+is+ho|
00001940  6d 65 21 22 29 3a f2 77  61 69 74 28 33 29 3a 2a  |me!"):.wait(3):*|
00001950  46 58 32 32 39 0d 06 cc  21 59 25 28 43 2c 30 29  |FX229...!Y%(C,0)|
00001960  3d 4e 3a 59 25 28 30 2c  30 29 3d 59 25 28 30 2c  |=N:Y%(0,0)=Y%(0,|
00001970  30 29 2b 31 3a e1 0d 06  d6 37 dd f2 74 61 62 6c  |0)+1:....7..tabl|
00001980  65 3a f2 74 69 74 6c 65  3a f1 8a 36 2c 39 29 22  |e:.title:..6,9)"|
00001990  50 4f 53 49 54 49 4f 4e  22 3a 47 24 3d 22 53 63  |POSITION":G$="Sc|
000019a0  31 73 74 32 6e 64 33 72  64 34 74 68 22 0d 06 e0  |1st2nd3rd4th"...|
000019b0  35 e3 4c 3d 31 b8 34 3a  fb 4c 3a 4d 3d 59 25 28  |5.L=1.4:.L:M=Y%(|
000019c0  4c 2c 30 29 2d 34 3a f1  8a 34 2c 39 2b 4d 2a 32  |L,0)-4:..4,9+M*2|
000019d0  29 3b 3a e7 59 25 28 4c  2c 30 29 3c 35 8c 8d 64  |);:.Y%(L,0)<5..d|
000019e0  74 46 0d 06 ea 34 e7 50  24 28 4c 29 3e 22 22 f1  |tF...4.P$(L)>"".|
000019f0  c1 47 24 2c 4d 2a 33 2c  33 29 3b c4 39 2d a9 28  |.G$,M*3,3);.9-.(|
00001a00  50 24 28 4c 29 29 2c 22  2e 22 29 3b 50 24 28 4c  |P$(L)),".");P$(L|
00001a10  29 3a 2a 46 58 34 0d 06  f4 31 ed 3a fb 37 3a f1  |):*FX4...1.:.7:.|
00001a20  8a 31 2c 32 39 29 22 50  6c 61 79 20 61 67 61 69  |.1,29)"Play agai|
00001a30  6e 3f 20 20 28 59 2f 4e  29 22 3a e7 a4 79 6e 3d  |n?  (Y/N)":..yn=|
00001a40  38 39 f9 20 8b 20 e1 0d  06 fe 48 2a 4b 45 59 30  |89. . ....H*KEY0|
00001a50  46 4f 52 4b 25 3d 30 54  4f 54 4f 50 2d 50 41 2e  |FORK%=0TOTOP-PA.|
00001a60  20 53 2e 34 3a 4b 25 21  26 31 31 30 30 3d 4b 25  | S.4:K%!&1100=K%|
00001a70  21 50 41 2e 3a 4e 2e 7c  4d 50 41 2e 3d 26 31 31  |!PA.:N.|MPA.=&11|
00001a80  30 30 7c 4d 4f 2e 7c 4d  52 55 4e 7c 46 7c 4d 0d  |00|MO.|MRUN|F|M.|
00001a90  07 08 27 db 3a f1 22 50  4c 45 41 53 45 20 57 41  |..'.:."PLEASE WA|
00001aa0  49 54 2e 22 3b 3a ef 32  31 3a 2a 46 58 31 33 38  |IT.";:.21:*FX138|
00001ab0  2c 30 2c 31 32 38 0d ff                           |,0,128..|
00001ab8
21_11_87/LUDO.m0
21_11_87/LUDO.m1
21_11_87/LUDO.m2
21_11_87/LUDO.m4
21_11_87/LUDO.m5