Home » Archimedes archive » Micro User » MU 1990-07.adf » Ultima

Ultima

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 » Archimedes archive » Micro User » MU 1990-07.adf
Filename: Ultima
Read OK:
File size: 2285 bytes
Load address: FFFFFB42
Exec address: 6D89C35C
File contents
   10REM  > Ultima
   20REM  by Terry Blunt
   30REM  LEN The Micro User
   40:
   50MODE7
   60PROCinitialise
   70MODE1
   80PROCinit
   90ONERROR PROCaban
  100REPEAT
  110REPEAT
  120PROCboard
  130REPEAT
  140IF L N=M:M=(M+1)MOD2
  150PROCmove
  160UNTILFNget(kX?N,kY?N)=80
  170PROCend
  180UNTILFALSE
  190:
  200DEFPROCaban
  210IF ERR=17 AND INKEY-1 : END
  220R=0:W=0
  230VDU23;10,32;0;0;0;
  240IFQ% SOUND1,-15,50,10
  250PRINTTAB(2,30)"Game abandoned.  Calculating points."
  260FORX=1 TO8
  270FORY=1 TO8
  280A=FNget(X,Y):B=(A MOD40)DIV4
  290RESTORE2560
  300FORI%=0 TOB
  310READ C
  320NEXT
  330IFA<40 R=R+C ELSEW=W+C
  340NEXT,
  350IFR>W kX?1=0:kY?1=0 ELSEIFR<W ?kX=0:?kY=0
  360PROCend
  370ENDPROC
  380:
  390DEFPROCinit
  400X%=176:Y%=944
  410kX=R%+100:kY=R%+104
  420REMVDU23;10,32;0;0;0;
  430VDU19,1,4;0;19,2,1;0;
  440COLOUR130:CLS
  450ENDPROC
  460:
  470DEFPROCboard
  480PROCclear
  490FORY=6 TO29 STEP3
  500FORX=8 TO31 STEP3
  510VDU28,X,Y,X+2,Y-2
  520COLOUR129-(X+Y)MOD2:CLS
  530NEXT,
  540VDU26:COLOUR130:COLOUR3
  550FORI%=3 TO24 STEP3
  560PRINTTAB(7,I%+2);9-I% DIV3 TAB(32,I%+2);9-I% DIV3 TAB(I%+6,3)CHR$(I% DIV3+64)TAB(I%+6,28)CHR$(I% DIV3+64)
  570NEXT
  580FORX=0 TO9
  590FORY=0 TO9
  600PROCput(X,Y,80)
  610NEXT,
  620FORX=1 TO8
  630A=X?(c9%+&F):B=X?(c9%+&17)
  640PROCput(X,1,A):PROCput(X,2,4):PROCput(X,7,44):PROCput(X,8,B)
  650PROCprint(FALSE,A,0,X,1):PROCprint(FALSE,4,0,X,2):PROCprint(FALSE,4,1,X,7):PROCprint(FALSE,B,1,X,8)
  660NEXT
  670PRINTTAB(1,14)"Move" TAB(4,30)"'ESCAPE' to abandon a stalemate"
  680PROCbeep(200)
  690kX?0=5:kX?1=4:kY?0=1:kY?1=8:L=FALSE:M=1:N=0
  700ENDPROC
  710:
  720DEFPROCmove
  730PROCclear:L=TRUE
  740IF M=0 PRINTTAB(15,1)" Red move " ELSEPRINTTAB(15,1)"White move"
  750PROCin(0,V,W)
  760PROCin(2,X,Y)
  770PRINTTAB(1,12)"Last"
  780IFFNget(X,Y)<80 L=FALSE
  790IFNOT L PROCno:ENDPROC
  800C=FNget(V,W)
  810B=C MOD40
  820D=FNget(X,Y)
  830FORI%=0 TO7
  840E=I%?c9%-1:F=I%?(c9%+8)-1
  850IFABS(X-V)<>ABS(Y-W) ANDX-V<>0 ANDY-W<>0 L=FALSE
  860IFFNget(V+E,W+F)=16+N*40 L=FALSE
  870IFB=16 ANDFNget(V+E,W+F)=20+N*40 L=FALSE
  880NEXT
  890IFC DIV40<>M L=FALSE
  900IFNOT L PROCno:ENDPROC
  910IFB<>8 ANDB<>20 ANDB<>24 PROCline
  920IFNOT L PROCno:ENDPROC
  930IFB=4 PROCroll
  940IFB=28 PROCcoord
  950IFB=8 PROCleap
  960IFB=20 PROCamaeb
  970IFB=12 PROCwith
  980IFB=24 PROCking
  990IFNOT L PROCno:ENDPROC
 1000PROCbeep(200)
 1010PROCput(V,W,80):PROCput(X,Y,C)
 1020PROCprint(FALSE,C,M,V,W):PROCprint(FALSE,C,M,X,Y)
 1030ENDPROC
 1040:
 1050DEFPROCline
 1060E=SGN(X-V):F=SGN(Y-W):G=V:H=W
 1070REPEAT
 1080G=G+E:H=H+F
 1090IFFNget(G,H)<80 L=FALSE
 1100UNTILG=X ANDH=Y
 1110ENDPROC
 1120:
 1130DEFPROCin(B,RETURN X%,RETURN Y%)
 1140VDU23;10,64;0;0;0;
 1150VDU31,1,16+B:X%=(FNinkey("AaBbCcDdEEFfGgHh")+1)DIV2
 1160VDU31,4,16+B:Y%=9-FNinkey("12345678")
 1170VDU23;10,32;0;0;0;:ENDPROC
 1180:
 1190DEFFNinkey(k$)
 1200REPEATK%=INSTR(k$,GET$):UNTILK%>0:*FX21
 1210VDUASCMID$(k$,K%):=K%
 1220:
 1230DEFPROCroll
 1240IFABS(V-X)=ABS(W-Y) L=FALSE ELSEPROCrolla
 1250ENDPROC
 1260:
 1270DEFPROCrolla
 1280FORI%=0 TO3
 1290E=I%?c9%-1:F=I%?(c9%+8)-1
 1300IFB=20 ANDFNget(X+E,Y+F)<>4+N*40 ORX+E*2<0 ORX+E*2>9 ORY+F*2<0 ORY+F*2>9 GOTO1320
 1310IFFNget(X+E,Y+F)DIV40=N ANDFNget(X+E*2,Y+F*2)DIV40=M PROCprint(TRUE,FNget(X+E,Y+F),N,X+E,Y+F):PROCput(X+E,Y+F,80)
 1320NEXT
 1330ENDPROC
 1340:
 1350DEFPROCleap
 1360E=SGN(X-V):F=SGN(Y-W)
 1370G=V:H=W
 1380REPEAT
 1390G=G+E:H=H+F
 1400UNTILG=X ANDH=Y ORFNget(G,H)<80
 1410IFFNget(G,H)DIV40=M L=FALSE:GOTO1510
 1420IFG=X ANDH=Y GOTO1510
 1430g=G:h=H
 1440REPEAT
 1450IFFNget(G,H)DIV40<>N L=FALSE
 1460G=G+E:H=H+F
 1470IFFNget(G,H)<80 L=FALSE
 1480G=G+E:H=H+F
 1490UNTILG=X+E ANDH=Y+F ORL=FALSE
 1500IFL PROCstep
 1510ENDPROC
 1520:
 1530DEFPROCleapa
 1540E=SGN(X-V):F=SGN(Y-W)
 1550G=V+E:H=W+F
 1560IFFNget(G,H)=8+N*40 GOTO1630
 1570REPEAT
 1580IFFNget(G,H)<80 ANDFNget(G,H)<>8+N*40 L=FALSE
 1590G=G+E:H=H+F
 1600UNTILG=X ANDH=Y ORL=FALSE
 1610IFNOT L ENDPROC
 1620G=X-E:H=Y-F
 1630PROCprint(TRUE,FNget(G,H),N,G,H):PROCput(X-E,Y-F,80)
 1640ENDPROC
 1650:
 1660DEFPROCstep
 1670REPEAT
 1680IFFNget(g,h)<80 PROCprint(TRUE,FNget(g,h),N,g,h):PROCput(g,h,80)
 1690g=g+E:h=h+F
 1700UNTILg=X ANDh=Y
 1710ENDPROC
 1720:
 1730DEFPROCwith
 1740E=V+SGN(V-X):F=W+SGN(W-Y)
 1750IFFNget(E,F)DIV40=N PROCprint(TRUE,FNget(E,F),N,E,F):PROCput(E,F,80)
 1760ENDPROC
 1770:
 1780DEFPROCcoord
 1790E=FNget(X,kY?M):F=FNget(kX?M,Y)
 1800IFE DIV40=N PROCprint(TRUE,E,N,X,kY?M):PROCput(X,kY?M,80)
 1810IFF DIV40=N PROCprint(TRUE,F,N,kX?M,Y):PROCput(kX?M,Y,80)
 1820ENDPROC
 1830:
 1840DEFPROCamaeb
 1850IFD=24+N*40 PROCking:ENDPROC ELSEIFD<80 L=FALSE
 1860IFFNget(X,Y)=80 ANDFNget(SGN(V-X)+X,SGN(W-Y)+Y)=8+N*40 PROCleapa ELSEPROCline
 1870IFNOT L ENDPROC
 1880IFFNget(SGN(V-X)+V,SGN(W-Y)+W)=12+N*40 PROCwith
 1890PROCrolla
 1900E=FNget(X,kY?M):F=FNget(kX?M,Y)
 1910IFE=28+N*40 PROCprint(TRUE,E,N,X,kY?M):PROCput(X,kY?M,80)
 1920IFF=28+N*40 PROCprint(TRUE,F,N,kX?M,Y):PROCput(kX?M,Y,80)
 1930ENDPROC
 1940:
 1950DEFPROCking
 1960IFC DIV40=D DIV40 L=FALSE
 1970IFABS(X-V)=0 ANDABS(Y-W)=0 ORABS(X-V)>1 ORABS(Y-W)>1 L=FALSE
 1980IFNOT L ENDPROC
 1990IFD<80 PROCprint(TRUE,D,N,X,Y)
 2000IFD=24+N*40 kX?N=0:kY?N=0:PROCput(X,Y,80) ELSEPROCput(X,Y,80):kX?M=X:kY?M=Y
 2010ENDPROC
 2020:
 2030DEFPROCno
 2040IFQ% SOUND1,-15,50,10
 2050PRINTTAB(9,30)"You can't move there !";
 2060ENDPROC
 2070:
 2080DEFPROCprint(T,C,M,X,Y)
 2090I%=c9%+&30+(C MOD40)*4
 2100G=(Y MOD2)EOR(X MOD2)
 2110IFG A=2+M ELSEA=3-M
 2120C=C MOD40+220:X=X*96:Y=Y*96
 2130GCOL3,A
 2140MOVE X+X%,Y%-Y+32
 2150VDU5,C,C+1,10,8,8,C+2,C+3,4,31,10,30
 2160IFNOT T ENDPROC
 2170IFM=0 PRINT"White "; ELSEPRINT" Red ";
 2180PRINT"takes " $I% SPC7;
 2190PROCbeep(100):PROCwait(100)
 2200ENDPROC
 2210:
 2220DEFPROCend
 2230PRINTTAB(11,1);
 2240IFFNget(kX?1,kY?1)=80 PRINT" *** RED  WIN ***" ELSEIFFNget(?kX,?kY)=80 PRINT"*** WHITE  WIN ***" ELSEPRINT"*** GAME DRAWN ***"
 2250FORI%=0 TO4
 2260PROCwait(30):PROCbeep(180)
 2270NEXT
 2280PRINTTAB(2,30)SPC6 "Press any key to restart" SPC6
 2290IF GET
 2300ENDPROC
 2310:
 2320DEFPROCput(X,Y,Z)
 2330R%?(X+Y*10)=Z
 2340ENDPROC
 2350:
 2360DEFFNget(X,Y)
 2370=R%?(X+Y*10)
 2380:
 2390DEFPROCbeep(P)
 2400IF Q% THEN
 2410    SOUND 1,-15,P,2
 2420    SOUND 2,-15,P+1,2
 2430  ENDIF
 2440ENDPROC
 2450:
 2460DEFPROCwait(T)
 2470TIME=0
 2480REPEAT:IFINKEY0
 2490UNTILTIME>T
 2500ENDPROC
 2510:
 2520DEFPROCclear
 2530PRINTTAB(2,1)SPC36 TAB(1,12)SPC4 TAB(1,16)SPC4 TAB(1,18)SPC4 TAB(2,30)SPC36
 2540ENDPROC
 2550:
 2560DATA 0,16,72,108,271,158,0,335
 2570
 2580DEF PROCinitialise
 2590ONERRORMODE0:REPORT:PRINT" at line ";ERL:END
 2600DIM mem% &1900
 2610gen%=mem%+&700:VOICES 2
 2620*ChannelVoice 1 StringLib-Soft
 2630*ChannelVoice 2 StringLib-Soft
 2640MODE7:OFF:RESTORE3490
 2650PROCtitle(3)
 2660PRINTTAB(1,7)CHR$145 CHR$183 STRING$(33,CHR$163) CHR$235
 2670FORI%=8 TO10
 2680PRINTTAB(1,I%)CHR$145 CHR$181 CHR$149 SPC31 CHR$145 CHR$234
 2690NEXT
 2700PRINTTAB(1,11)CHR$145 CHR$245 STRING$(33,CHR$240) CHR$250
 2710PRINTTAB(6,8)"T H E   B O A R D   G A M E"
 2720PRINTTAB(5,10)"F O R   T W O   P L A Y E R S"
 2730FORI%=13 TO14
 2740PRINTTAB(7,I%)CHR$141 CHR$134"W R I T T E N"SPC5"B Y"
 2750NEXT
 2760PROCtitle(16)
 2770VDU23,224,48,28,6,3,1,1,3,15
 2780VDU23,225,0,0,1,3,130,134,204,248
 2790VDU23,226,31,51,97,65,192,128,0,0
 2800VDU23,227,240,192,128,128,192,96,56,12
 2810VDU23,228,0,14,123,97,3,3,3,7
 2820VDU23,229,30,54,96,192,192,192,128,128
 2830VDU23,230,12,12,6,3,6,12,24,28
 2840VDU23,231,192,96,48,24,48,96,192,224
 2850VDU23,232,128,64,96,48,16,24,8,24
 2860VDU23,233,0,0,0,4,14,31,30,48
 2870VDU23,234,48,48,96,227,239,127,127,20
 2880VDU23,235,48,24,28,142,231,254,252,40
 2890VDU23,236,56,124,254,63,121,249,63,127
 2900VDU23,237,28,62,127,252,158,159,252,254
 2910VDU23,238,255,60,56,113,251,255,204,204
 2920VDU23,239,255,60,28,140,223,255,51,51
 2930VDU23,240,0,3,7,15,7,7,7,15
 2940VDU23,241,0,156,254,254,252,252,220,14
 2950VDU23,242,30,62,62,63,31,15,7,3
 2960VDU23,243,14,63,127,254,224,192,128,0
 2970VDU23,244,1,99,55,31,29,57,255,63
 2980VDU23,245,128,198,236,248,184,156,255,252
 2990VDU23,246,63,25,28,15,7,2,6,12
 3000VDU23,247,252,152,48,240,224,64,96,48
 3010VDU23,248,3,15,31,51,51,63,63,31
 3020VDU23,249,192,240,248,204,204,252,252,248
 3030VDU23,250,60,108,79,71,6,6,6,14
 3040VDU23,251,60,54,242,226,96,96,96,112
 3050
 3060RESTORE3510
 3070a0%=mem%+&A00:c9%=mem%+&9C0
 3080FOR I%=a0% TO a0%+&60 STEP16:READ $I%:NEXT
 3090R%=I%:Q%=TRUE:A$="Press any key"
 3100FOR I%=0 TO &1F:READ c9%?I%:NEXT
 3110PROCwait(100):PRINTTAB(7,21)CHR$134"Do you want sound? (y/n) ";:Q%=FNkey
 3140PROCwait(100):PRINTTAB(4,23)CHR$133"Do you want directions ? (y/n) ";
 3150IF NOTFNkey GOTO3340
 3160VDU28,0,24,39,7,12
 3170FORI%=0 TO16:PRINTCHR$130:NEXT
 3180VDU28,1,24,38,7,12
 3190SYS "OS_PrettyPrint","The object of this game is to take your opponents king. There is no Check unlike chess. With the exception of the Rollers and the King, movement of the pieces is in the style of a chess Queen."+CHR$13+CHR$13
 3200SYS "OS_PrettyPrint","The Rollers move only vertically and horizontally, taking pieces by trapping them against any other piece belonging to the same player as the Roller. The King moves and takes pieces as a chess King does."
 3210PROChold
 3220SYS "OS_PrettyPrint","The Leapers can step over pieces to take them and must have a clear path to the piece being taken. However they can take a line of pieces provided one gap only exists between each of them."+CHR$13+CHR$13
 3230SYS "OS_PrettyPrint","The Withdrawer has to move directly away from a piece to take it. When the Co-ordinator is moved any of your opponents pieces placed on the column _ row intersections of the King and Co-ordinator are taken."
 3240PROChold
 3250SYS "OS_PrettyPrint","Amoebas change their behavior to match the piece they are dealing with. They roll Rollers, leap Leapers etc."+CHR$13+CHR$13+"The Immobiliser is the only piece unable to take others."
 3260SYS "OS_PrettyPrint","Any opponents piece that comes into contact with it is held until the Immobiliser is moved or taken."
 3270PROChold
 3280MODE4:OFF:VDU19,0,4;0;:RESTORE3560
 3290PRINTTAB(7,3)"THE ULTIMA PIECES" TAB(22)"value"
 3300FOR I%=8 TO 32 STEP 4:READ B$:A%=I%+216
 3310PRINTTAB(5,I%*0.75)CHR$A% CHR$(A%+1)TAB(5,I%*0.75+1)CHR$(A%+2)CHR$(A%+3)TAB(9)$(a0%+I%*4-32)TAB(27)B$
 3320NEXT
 3330PROCwait(100):PRINTTAB(12,29)A$:IFGET
 3340ENDPROC
 3350:
 3360DEFPROCtitle(N%)
 3370READ$gen%:PRINTTAB(0,N%);
 3380FORI%=0 TO223 STEP2
 3390VDUEVAL("&"+CHR$(I%?gen%)+CHR$(I%?(gen%+1)))
 3400NEXT
 3410ENDPROC
 3420:
 3430DEFPROChold:PROCwait(100):PROCbeep(200)
 3440PRINTTAB(12,16)CHR$131 A$:IFGETCLS
 3450ENDPROC
 3460:
 3470DEFFNkey:PROCbeep(200):=FNinkey("YyNn")<3
 3471:
 3490DATA 939A20FF20B5202020FF2020202020A3FFA1202020EBB720202020FDB8B5202020FEA3B40D0A939A20FF20B5202020FF202020202020FF20202020EAB520202020FF20B5202020FFACB50D0A939A20EFF0A5202020FFF0B020202020FF20202020FAF520202020FF20B5202020FF20B5
 3500DATA 929A20A3FFA1FFA3A1FFA3B4FFA3B4FF20B5202020FFA3B4FF2020FF20B5FFB0B5A3FFA10D0A929A2020FF20FFAC20FFACB1FFACB1A2ACB5202020FFACB1FF2020FF20B5FFEDB520FF200D0A929A2020FF20FFF0B0FF20B5FF20B5E0F0A5202020FFF0A5FFF0B0EFF0A5FFA2B520FF20
 3510DATA Roller,Leaper,Withdrawer,Immobiliser,Amoeba,King,Co-ordinator
 3520DATA 2,1,0,1,2,0,0,2
 3530DATA 1,2,1,0,2,2,0,0
 3540DATA 28,8,20,12,24,20,8,16
 3550DATA 68,48,60,64,52,60,48,56
 3560DATA 16,72,108,271,158,+++,335

�  > Ultima
�  by Terry Blunt
�  � The Micro User
(:
2�7
<�initialise
F�1
P	�init
Z� �aban
d�
n�
x
�board
��
�� L N=M:M=(M+1)�2
�	�move
���get(kX?N,kY?N)=80
��end
���
�:
�
��aban
�� �=17 � �-1 : �
�R=0:W=0
��23;10,32;0;0;0;
��Q% �1,-15,50,10
�1�2,30)"Game abandoned.  Calculating points."
�X=1 �8
�Y=1 �8
A=�get(X,Y):B=(A �40)�4
"	��T@J
,�I%=0 �B
6� C
@�
J�A<40 R=R+C �W=W+C
T�,
^(�R>W kX?1=0:kY?1=0 ��R<W ?kX=0:?kY=0
h�end
r�
|:
�
��init
�X%=176:Y%=944
�kX=R%+100:kY=R%+104
��VDU23;10,32;0;0;0;
��19,1,4;0;19,2,1;0;
�
�130:�
��
�:
���board
�
�clear
��Y=6 �29 �3
��X=8 �31 �3
��28,X,Y,X+2,Y-2
�129-(X+Y)�2:�
�,
�26:�130:�3
&�I%=3 �24 �3
0O�7,I%+2);9-I% �3 �32,I%+2);9-I% �3 �I%+6,3)�(I% �3+64)�I%+6,28)�(I% �3+64)
:�
D�X=0 �9
N�Y=0 �9
X�put(X,Y,80)
b�,
l�X=1 �8
vA=X?(c9%+&F):B=X?(c9%+&17)
�4�put(X,1,A):�put(X,2,4):�put(X,7,44):�put(X,8,B)
�K�print(�,A,0,X,1):�print(�,4,0,X,2):�print(�,4,1,X,7):�print(�,B,1,X,8)
��
�9�1,14)"Move" �4,30)"'ESCAPE' to abandon a stalemate"
��beep(200)
�+kX?0=5:kX?1=4:kY?0=1:kY?1=8:L=�:M=1:N=0
��
�:
�
��move
��clear:L=�
�2� M=0 �15,1)" Red move " ��15,1)"White move"
��in(0,V,W)
��in(2,X,Y)
�1,12)"Last"
�get(X,Y)<80 L=�
� L �no:�
 C=�get(V,W)
*B=C �40
4D=�get(X,Y)
>�I%=0 �7
HE=I%?c9%-1:F=I%?(c9%+8)-1
R'�(X-V)<>�(Y-W) �X-V<>0 �Y-W<>0 L=�
\�get(V+E,W+F)=16+N*40 L=�
f$�B=16 ��get(V+E,W+F)=20+N*40 L=�
p�
z�C �40<>M L=�
�� L �no:�
��B<>8 �B<>20 �B<>24 �line
�� L �no:�
��B=4 �roll
��B=28 �coord
��B=8 �leap
��B=20 �amaeb
��B=12 �with
��B=24 �king
�� L �no:�
��beep(200)
��put(V,W,80):�put(X,Y,C)
�'�print(�,C,M,V,W):�print(�,C,M,X,Y)
�
:

��line
$E=�(X-V):F=�(Y-W):G=V:H=W
.�
8G=G+E:H=H+F
B�get(G,H)<80 L=�
L
�G=X �H=Y
V�
`:
j��in(B,� X%,� Y%)
t�23;10,64;0;0;0;
~2�31,1,16+B:X%=(�inkey("AaBbCcDdEEFfGgHh")+1)�2
�&�31,4,16+B:Y%=9-�inkey("12345678")
��23;10,32;0;0;0;:�
�:
�ݤinkey(k$)
��K%=�k$,�):�K%>0:*FX21
��k$,K%):=K%
�:
�
��roll
��(V-X)=�(W-Y) L=� ��rolla
��
�:
���rolla
�I%=0 �3

E=I%?c9%-1:F=I%?(c9%+8)-1
J�B=20 ��get(X+E,Y+F)<>4+N*40 �X+E*2<0 �X+E*2>9 �Y+F*2<0 �Y+F*2>9 �ThE
b�get(X+E,Y+F)�40=N ��get(X+E*2,Y+F*2)�40=M �print(�,�get(X+E,Y+F),N,X+E,Y+F):�put(X+E,Y+F,80)
(�
2�
<:
F
��leap
PE=�(X-V):F=�(Y-W)
ZG=V:H=W
d�
nG=G+E:H=H+F
x�G=X �H=Y ��get(G,H)<80
��get(G,H)�40=M L=�:�dfE
��G=X �H=Y �dfE
�g=G:h=H
��
��get(G,H)�40<>N L=�
�G=G+E:H=H+F
��get(G,H)<80 L=�
�G=G+E:H=H+F
��G=X+E �H=Y+F �L=�
��L �step
��
�:
���leapa
E=�(X-V):F=�(Y-W)
G=V+E:H=W+F
�get(G,H)=8+N*40 �D^F
"�
,(�get(G,H)<80 ��get(G,H)<>8+N*40 L=�
6G=G+E:H=H+F
@�G=X �H=Y �L=�
J
� L �
TG=X-E:H=Y-F
^.�print(�,�get(G,H),N,G,H):�put(X-E,Y-F,80)
h�
r:
|
��step
��
�8�get(g,h)<80 �print(�,�get(g,h),N,g,h):�put(g,h,80)
�g=g+E:h=h+F
�
�g=X �h=Y
��
�:
�
��with
�E=V+�(V-X):F=W+�(W-Y)
�:�get(E,F)�40=N �print(�,�get(E,F),N,E,F):�put(E,F,80)
��
�:
���coord
�!E=�get(X,kY?M):F=�get(kX?M,Y)
1�E �40=N �print(�,E,N,X,kY?M):�put(X,kY?M,80)
1�F �40=N �print(�,F,N,kX?M,Y):�put(kX?M,Y,80)
�
&:
0��amaeb
:!�D=24+N*40 �king:� ��D<80 L=�
D?�get(X,Y)=80 ��get(�(V-X)+X,�(W-Y)+Y)=8+N*40 �leapa ��line
N
� L �
X*�get(�(V-X)+V,�(W-Y)+W)=12+N*40 �with
b
�rolla
l!E=�get(X,kY?M):F=�get(kX?M,Y)
v3�E=28+N*40 �print(�,E,N,X,kY?M):�put(X,kY?M,80)
�3�F=28+N*40 �print(�,F,N,kX?M,Y):�put(kX?M,Y,80)
��
�:
�
��king
��C �40=D �40 L=�
�/�(X-V)=0 ��(Y-W)=0 ��(X-V)>1 ��(Y-W)>1 L=�
�
� L �
��D<80 �print(�,D,N,X,Y)
�E�D=24+N*40 kX?N=0:kY?N=0:�put(X,Y,80) ��put(X,Y,80):kX?M=X:kY?M=Y
��
�:
���no
��Q% �1,-15,50,10
$�9,30)"You can't move there !";
�
:
 ��print(T,C,M,X,Y)
*I%=c9%+&30+(C �40)*4
4G=(Y �2)�(X �2)
>�G A=2+M �A=3-M
HC=C �40+220:X=X*96:Y=Y*96
R�3,A
\� X+X%,Y%-Y+32
f&�5,C,C+1,10,8,8,C+2,C+3,4,31,10,30
p
� T �
z�M=0 �"White "; ��" Red ";
��"takes " $I% �7;
��beep(100):�wait(100)
��
�:
�	��end
��11,1);
�l�get(kX?1,kY?1)=80 �" *** RED  WIN ***" ��get(?kX,?kY)=80 �"*** WHITE  WIN ***" ��"*** GAME DRAWN ***"
��I%=0 �4
��wait(30):�beep(180)
��
�+�2,30)�6 "Press any key to restart" �6
�� �
��
	:
	��put(X,Y,Z)
	R%?(X+Y*10)=Z
	$�
	.:
	8ݤget(X,Y)
	B=R%?(X+Y*10)
	L:
	V
��beep(P)
	`
� Q% �
	j    � 1,-15,P,2
	t    � 2,-15,P+1,2
	~  �
	��
	�:
	�
��wait(T)
	��=0
	�	�:�0
	���>T
	��
	�:
	���clear
	�2�2,1)�36 �1,12)�4 �1,16)�4 �1,18)�4 �2,30)�36
	��
	�:
� 0,16,72,108,271,158,0,335


� �initialise
��0:�:�" at line ";�:�
(� mem% &1900
2gen%=mem%+&700:Ƞ 2
<"*ChannelVoice 1 StringLib-Soft
F"*ChannelVoice 2 StringLib-Soft
P�7:�:��tbM
Z
�title(3)
d"�1,7)�145 �183 �33,�163) �235
n
�I%=8 �10
x'�1,I%)�145 �181 �149 �31 �145 �234
��
�#�1,11)�145 �245 �33,�240) �250
�'�6,8)"T H E   B O A R D   G A M E"
�*�5,10)"F O R   T W O   P L A Y E R S"
��I%=13 �14
�*�7,I%)�141 �134"W R I T T E N"�5"B Y"
��
��title(16)
��23,224,48,28,6,3,1,1,3,15
�#�23,225,0,0,1,3,130,134,204,248
�#�23,226,31,51,97,65,192,128,0,0
�(�23,227,240,192,128,128,192,96,56,12
��23,228,0,14,123,97,3,3,3,7
(�23,229,30,54,96,192,192,192,128,128
 �23,230,12,12,6,3,6,12,24,28
&�23,231,192,96,48,24,48,96,192,224
"#�23,232,128,64,96,48,16,24,8,24
,�23,233,0,0,0,4,14,31,30,48
6'�23,234,48,48,96,227,239,127,127,20
@'�23,235,48,24,28,142,231,254,252,40
J(�23,236,56,124,254,63,121,249,63,127
T)�23,237,28,62,127,252,158,159,252,254
^)�23,238,255,60,56,113,251,255,204,204
h'�23,239,255,60,28,140,223,255,51,51
r�23,240,0,3,7,15,7,7,7,15
|(�23,241,0,156,254,254,252,252,220,14
�!�23,242,30,62,62,63,31,15,7,3
�'�23,243,14,63,127,254,224,192,128,0
�#�23,244,1,99,55,31,29,57,255,63
�+�23,245,128,198,236,248,184,156,255,252
� �23,246,63,25,28,15,7,2,6,12
�'�23,247,252,152,48,240,224,64,96,48
�"�23,248,3,15,31,51,51,63,63,31
�+�23,249,192,240,248,204,204,252,252,248
�!�23,250,60,108,79,71,6,6,6,14
�&�23,251,60,54,242,226,96,96,96,112
�
�	��tvM
�a0%=mem%+&A00:c9%=mem%+&9C0
"� I%=a0% � a0%+&60 �16:� $I%:�
!R%=I%:Q%=�:A$="Press any key"
� I%=0 � &1F:� c9%?I%:�
&>�wait(100):�7,21)�134"Do you want sound? (y/n) ";:Q%=�key
D<�wait(100):�4,23)�133"Do you want directions ? (y/n) ";
N� ��key �TLM
X�28,0,24,39,7,12
b�I%=0 �16:�130:�
l�28,1,24,38,7,12
v�ș "OS_PrettyPrint","The object of this game is to take your opponents king. There is no Check unlike chess. With the exception of the Rollers and the King, movement of the pieces is in the style of a chess Queen."+�13+�13
��ș "OS_PrettyPrint","The Rollers move only vertically and horizontally, taking pieces by trapping them against any other piece belonging to the same player as the Roller. The King moves and takes pieces as a chess King does."
�	�hold
��ș "OS_PrettyPrint","The Leapers can step over pieces to take them and must have a clear path to the piece being taken. However they can take a line of pieces provided one gap only exists between each of them."+�13+�13
��ș "OS_PrettyPrint","The Withdrawer has to move directly away from a piece to take it. When the Co-ordinator is moved any of your opponents pieces placed on the column _ row intersections of the King and Co-ordinator are taken."
�	�hold
��ș "OS_PrettyPrint","Amoebas change their behavior to match the piece they are dealing with. They roll Rollers, leap Leapers etc."+�13+�13+"The Immobiliser is the only piece unable to take others."
�~ș "OS_PrettyPrint","Any opponents piece that comes into contact with it is held until the Immobiliser is moved or taken."
�	�hold
��4:�:�19,0,4;0;:��dhM
�)�7,3)"THE ULTIMA PIECES" �22)"value"
�"� I%=8 � 32 � 4:� B$:A%=I%+216
�M�5,I%*0.75)�A% �(A%+1)�5,I%*0.75+1)�(A%+2)�(A%+3)�9)$(a0%+I%*4-32)�27)B$
��

�wait(100):�12,29)A$:�

�

:

 ��title(N%)

*�$gen%:�0,N%);

4�I%=0 �223 �2

>%�("&"+�(I%?gen%)+�(I%?(gen%+1)))

H�

R�

\:

f ��hold:�wait(100):�beep(200)

p�12,16)�131 A$:��

z�

�:

�&ݤkey:�beep(200):=�inkey("YyNn")<3

�:

��� 939A20FF20B5202020FF2020202020A3FFA1202020EBB720202020FDB8B5202020FEA3B40D0A939A20FF20B5202020FF202020202020FF20202020EAB520202020FF20B5202020FFACB50D0A939A20EFF0A5202020FFF0B020202020FF20202020FAF520202020FF20B5202020FF20B5

��� 929A20A3FFA1FFA3A1FFA3B4FFA3B4FF20B5202020FFA3B4FF2020FF20B5FFB0B5A3FFA10D0A929A2020FF20FFAC20FFACB1FFACB1A2ACB5202020FFACB1FF2020FF20B5FFEDB520FF200D0A929A2020FF20FFF0B0FF20B5FF20B5E0F0A5202020FFF0A5FFF0B0EFF0A5FFA2B520FF20

�C� Roller,Leaper,Withdrawer,Immobiliser,Amoeba,King,Co-ordinator

�� 2,1,0,1,2,0,0,2

�� 1,2,1,0,2,2,0,0

�� 28,8,20,12,24,20,8,16

�� 68,48,60,64,52,60,48,56

�� 16,72,108,271,158,+++,335
�
00000000  0d 00 0a 0f f4 20 20 3e  20 55 6c 74 69 6d 61 0d  |.....  > Ultima.|
00000010  00 14 15 f4 20 20 62 79  20 54 65 72 72 79 20 42  |....  by Terry B|
00000020  6c 75 6e 74 0d 00 1e 17  f4 20 20 a9 20 54 68 65  |lunt.....  . The|
00000030  20 4d 69 63 72 6f 20 55  73 65 72 0d 00 28 05 3a  | Micro User..(.:|
00000040  0d 00 32 06 eb 37 0d 00  3c 0f f2 69 6e 69 74 69  |..2..7..<..initi|
00000050  61 6c 69 73 65 0d 00 46  06 eb 31 0d 00 50 09 f2  |alise..F..1..P..|
00000060  69 6e 69 74 0d 00 5a 0c  ee 85 20 f2 61 62 61 6e  |init..Z... .aban|
00000070  0d 00 64 05 f5 0d 00 6e  05 f5 0d 00 78 0a f2 62  |..d....n....x..b|
00000080  6f 61 72 64 0d 00 82 05  f5 0d 00 8c 15 e7 20 4c  |oard.......... L|
00000090  20 4e 3d 4d 3a 4d 3d 28  4d 2b 31 29 83 32 0d 00  | N=M:M=(M+1).2..|
000000a0  96 09 f2 6d 6f 76 65 0d  00 a0 17 fd a4 67 65 74  |...move......get|
000000b0  28 6b 58 3f 4e 2c 6b 59  3f 4e 29 3d 38 30 0d 00  |(kX?N,kY?N)=80..|
000000c0  aa 08 f2 65 6e 64 0d 00  b4 06 fd a3 0d 00 be 05  |...end..........|
000000d0  3a 0d 00 c8 0a dd f2 61  62 61 6e 0d 00 d2 14 e7  |:......aban.....|
000000e0  20 9f 3d 31 37 20 80 20  a6 2d 31 20 3a 20 e0 0d  | .=17 . .-1 : ..|
000000f0  00 dc 0b 52 3d 30 3a 57  3d 30 0d 00 e6 14 ef 32  |...R=0:W=0.....2|
00000100  33 3b 31 30 2c 33 32 3b  30 3b 30 3b 30 3b 0d 00  |3;10,32;0;0;0;..|
00000110  f0 14 e7 51 25 20 d4 31  2c 2d 31 35 2c 35 30 2c  |...Q% .1,-15,50,|
00000120  31 30 0d 00 fa 31 f1 8a  32 2c 33 30 29 22 47 61  |10...1..2,30)"Ga|
00000130  6d 65 20 61 62 61 6e 64  6f 6e 65 64 2e 20 20 43  |me abandoned.  C|
00000140  61 6c 63 75 6c 61 74 69  6e 67 20 70 6f 69 6e 74  |alculating point|
00000150  73 2e 22 0d 01 04 0b e3  58 3d 31 20 b8 38 0d 01  |s.".....X=1 .8..|
00000160  0e 0b e3 59 3d 31 20 b8  38 0d 01 18 1b 41 3d a4  |...Y=1 .8....A=.|
00000170  67 65 74 28 58 2c 59 29  3a 42 3d 28 41 20 83 34  |get(X,Y):B=(A .4|
00000180  30 29 81 34 0d 01 22 09  f7 8d 54 40 4a 0d 01 2c  |0).4.."...T@J..,|
00000190  0c e3 49 25 3d 30 20 b8  42 0d 01 36 07 f3 20 43  |..I%=0 .B..6.. C|
000001a0  0d 01 40 05 ed 0d 01 4a  16 e7 41 3c 34 30 20 52  |..@....J..A<40 R|
000001b0  3d 52 2b 43 20 8b 57 3d  57 2b 43 0d 01 54 06 ed  |=R+C .W=W+C..T..|
000001c0  2c 0d 01 5e 28 e7 52 3e  57 20 6b 58 3f 31 3d 30  |,..^(.R>W kX?1=0|
000001d0  3a 6b 59 3f 31 3d 30 20  8b e7 52 3c 57 20 3f 6b  |:kY?1=0 ..R<W ?k|
000001e0  58 3d 30 3a 3f 6b 59 3d  30 0d 01 68 08 f2 65 6e  |X=0:?kY=0..h..en|
000001f0  64 0d 01 72 05 e1 0d 01  7c 05 3a 0d 01 86 0a dd  |d..r....|.:.....|
00000200  f2 69 6e 69 74 0d 01 90  11 58 25 3d 31 37 36 3a  |.init....X%=176:|
00000210  59 25 3d 39 34 34 0d 01  9a 17 6b 58 3d 52 25 2b  |Y%=944....kX=R%+|
00000220  31 30 30 3a 6b 59 3d 52  25 2b 31 30 34 0d 01 a4  |100:kY=R%+104...|
00000230  17 f4 56 44 55 32 33 3b  31 30 2c 33 32 3b 30 3b  |..VDU23;10,32;0;|
00000240  30 3b 30 3b 0d 01 ae 17  ef 31 39 2c 31 2c 34 3b  |0;0;.....19,1,4;|
00000250  30 3b 31 39 2c 32 2c 31  3b 30 3b 0d 01 b8 0a fb  |0;19,2,1;0;.....|
00000260  31 33 30 3a db 0d 01 c2  05 e1 0d 01 cc 05 3a 0d  |130:..........:.|
00000270  01 d6 0b dd f2 62 6f 61  72 64 0d 01 e0 0a f2 63  |.....board.....c|
00000280  6c 65 61 72 0d 01 ea 0f  e3 59 3d 36 20 b8 32 39  |lear.....Y=6 .29|
00000290  20 88 33 0d 01 f4 0f e3  58 3d 38 20 b8 33 31 20  | .3.....X=8 .31 |
000002a0  88 33 0d 01 fe 13 ef 32  38 2c 58 2c 59 2c 58 2b  |.3.....28,X,Y,X+|
000002b0  32 2c 59 2d 32 0d 02 08  12 fb 31 32 39 2d 28 58  |2,Y-2.....129-(X|
000002c0  2b 59 29 83 32 3a db 0d  02 12 06 ed 2c 0d 02 1c  |+Y).2:......,...|
000002d0  0f ef 32 36 3a fb 31 33  30 3a fb 33 0d 02 26 10  |..26:.130:.3..&.|
000002e0  e3 49 25 3d 33 20 b8 32  34 20 88 33 0d 02 30 4f  |.I%=3 .24 .3..0O|
000002f0  f1 8a 37 2c 49 25 2b 32  29 3b 39 2d 49 25 20 81  |..7,I%+2);9-I% .|
00000300  33 20 8a 33 32 2c 49 25  2b 32 29 3b 39 2d 49 25  |3 .32,I%+2);9-I%|
00000310  20 81 33 20 8a 49 25 2b  36 2c 33 29 bd 28 49 25  | .3 .I%+6,3).(I%|
00000320  20 81 33 2b 36 34 29 8a  49 25 2b 36 2c 32 38 29  | .3+64).I%+6,28)|
00000330  bd 28 49 25 20 81 33 2b  36 34 29 0d 02 3a 05 ed  |.(I% .3+64)..:..|
00000340  0d 02 44 0b e3 58 3d 30  20 b8 39 0d 02 4e 0b e3  |..D..X=0 .9..N..|
00000350  59 3d 30 20 b8 39 0d 02  58 10 f2 70 75 74 28 58  |Y=0 .9..X..put(X|
00000360  2c 59 2c 38 30 29 0d 02  62 06 ed 2c 0d 02 6c 0b  |,Y,80)..b..,..l.|
00000370  e3 58 3d 31 20 b8 38 0d  02 76 1e 41 3d 58 3f 28  |.X=1 .8..v.A=X?(|
00000380  63 39 25 2b 26 46 29 3a  42 3d 58 3f 28 63 39 25  |c9%+&F):B=X?(c9%|
00000390  2b 26 31 37 29 0d 02 80  34 f2 70 75 74 28 58 2c  |+&17)...4.put(X,|
000003a0  31 2c 41 29 3a f2 70 75  74 28 58 2c 32 2c 34 29  |1,A):.put(X,2,4)|
000003b0  3a f2 70 75 74 28 58 2c  37 2c 34 34 29 3a f2 70  |:.put(X,7,44):.p|
000003c0  75 74 28 58 2c 38 2c 42  29 0d 02 8a 4b f2 70 72  |ut(X,8,B)...K.pr|
000003d0  69 6e 74 28 a3 2c 41 2c  30 2c 58 2c 31 29 3a f2  |int(.,A,0,X,1):.|
000003e0  70 72 69 6e 74 28 a3 2c  34 2c 30 2c 58 2c 32 29  |print(.,4,0,X,2)|
000003f0  3a f2 70 72 69 6e 74 28  a3 2c 34 2c 31 2c 58 2c  |:.print(.,4,1,X,|
00000400  37 29 3a f2 70 72 69 6e  74 28 a3 2c 42 2c 31 2c  |7):.print(.,B,1,|
00000410  58 2c 38 29 0d 02 94 05  ed 0d 02 9e 39 f1 8a 31  |X,8)........9..1|
00000420  2c 31 34 29 22 4d 6f 76  65 22 20 8a 34 2c 33 30  |,14)"Move" .4,30|
00000430  29 22 27 45 53 43 41 50  45 27 20 74 6f 20 61 62  |)"'ESCAPE' to ab|
00000440  61 6e 64 6f 6e 20 61 20  73 74 61 6c 65 6d 61 74  |andon a stalemat|
00000450  65 22 0d 02 a8 0e f2 62  65 65 70 28 32 30 30 29  |e".....beep(200)|
00000460  0d 02 b2 2b 6b 58 3f 30  3d 35 3a 6b 58 3f 31 3d  |...+kX?0=5:kX?1=|
00000470  34 3a 6b 59 3f 30 3d 31  3a 6b 59 3f 31 3d 38 3a  |4:kY?0=1:kY?1=8:|
00000480  4c 3d a3 3a 4d 3d 31 3a  4e 3d 30 0d 02 bc 05 e1  |L=.:M=1:N=0.....|
00000490  0d 02 c6 05 3a 0d 02 d0  0a dd f2 6d 6f 76 65 0d  |....:......move.|
000004a0  02 da 0e f2 63 6c 65 61  72 3a 4c 3d b9 0d 02 e4  |....clear:L=....|
000004b0  32 e7 20 4d 3d 30 20 f1  8a 31 35 2c 31 29 22 20  |2. M=0 ..15,1)" |
000004c0  52 65 64 20 6d 6f 76 65  20 22 20 8b f1 8a 31 35  |Red move " ...15|
000004d0  2c 31 29 22 57 68 69 74  65 20 6d 6f 76 65 22 0d  |,1)"White move".|
000004e0  02 ee 0e f2 69 6e 28 30  2c 56 2c 57 29 0d 02 f8  |....in(0,V,W)...|
000004f0  0e f2 69 6e 28 32 2c 58  2c 59 29 0d 03 02 11 f1  |..in(2,X,Y).....|
00000500  8a 31 2c 31 32 29 22 4c  61 73 74 22 0d 03 0c 15  |.1,12)"Last"....|
00000510  e7 a4 67 65 74 28 58 2c  59 29 3c 38 30 20 4c 3d  |..get(X,Y)<80 L=|
00000520  a3 0d 03 16 0e e7 ac 20  4c 20 f2 6e 6f 3a e1 0d  |....... L .no:..|
00000530  03 20 0f 43 3d a4 67 65  74 28 56 2c 57 29 0d 03  |. .C=.get(V,W)..|
00000540  2a 0b 42 3d 43 20 83 34  30 0d 03 34 0f 44 3d a4  |*.B=C .40..4.D=.|
00000550  67 65 74 28 58 2c 59 29  0d 03 3e 0c e3 49 25 3d  |get(X,Y)..>..I%=|
00000560  30 20 b8 37 0d 03 48 1d  45 3d 49 25 3f 63 39 25  |0 .7..H.E=I%?c9%|
00000570  2d 31 3a 46 3d 49 25 3f  28 63 39 25 2b 38 29 2d  |-1:F=I%?(c9%+8)-|
00000580  31 0d 03 52 27 e7 94 28  58 2d 56 29 3c 3e 94 28  |1..R'..(X-V)<>.(|
00000590  59 2d 57 29 20 80 58 2d  56 3c 3e 30 20 80 59 2d  |Y-W) .X-V<>0 .Y-|
000005a0  57 3c 3e 30 20 4c 3d a3  0d 03 5c 1e e7 a4 67 65  |W<>0 L=...\...ge|
000005b0  74 28 56 2b 45 2c 57 2b  46 29 3d 31 36 2b 4e 2a  |t(V+E,W+F)=16+N*|
000005c0  34 30 20 4c 3d a3 0d 03  66 24 e7 42 3d 31 36 20  |40 L=...f$.B=16 |
000005d0  80 a4 67 65 74 28 56 2b  45 2c 57 2b 46 29 3d 32  |..get(V+E,W+F)=2|
000005e0  30 2b 4e 2a 34 30 20 4c  3d a3 0d 03 70 05 ed 0d  |0+N*40 L=...p...|
000005f0  03 7a 11 e7 43 20 81 34  30 3c 3e 4d 20 4c 3d a3  |.z..C .40<>M L=.|
00000600  0d 03 84 0e e7 ac 20 4c  20 f2 6e 6f 3a e1 0d 03  |...... L .no:...|
00000610  8e 1d e7 42 3c 3e 38 20  80 42 3c 3e 32 30 20 80  |...B<>8 .B<>20 .|
00000620  42 3c 3e 32 34 20 f2 6c  69 6e 65 0d 03 98 0e e7  |B<>24 .line.....|
00000630  ac 20 4c 20 f2 6e 6f 3a  e1 0d 03 a2 0e e7 42 3d  |. L .no:......B=|
00000640  34 20 f2 72 6f 6c 6c 0d  03 ac 10 e7 42 3d 32 38  |4 .roll.....B=28|
00000650  20 f2 63 6f 6f 72 64 0d  03 b6 0e e7 42 3d 38 20  | .coord.....B=8 |
00000660  f2 6c 65 61 70 0d 03 c0  10 e7 42 3d 32 30 20 f2  |.leap.....B=20 .|
00000670  61 6d 61 65 62 0d 03 ca  0f e7 42 3d 31 32 20 f2  |amaeb.....B=12 .|
00000680  77 69 74 68 0d 03 d4 0f  e7 42 3d 32 34 20 f2 6b  |with.....B=24 .k|
00000690  69 6e 67 0d 03 de 0e e7  ac 20 4c 20 f2 6e 6f 3a  |ing...... L .no:|
000006a0  e1 0d 03 e8 0e f2 62 65  65 70 28 32 30 30 29 0d  |......beep(200).|
000006b0  03 f2 1c f2 70 75 74 28  56 2c 57 2c 38 30 29 3a  |....put(V,W,80):|
000006c0  f2 70 75 74 28 58 2c 59  2c 43 29 0d 03 fc 27 f2  |.put(X,Y,C)...'.|
000006d0  70 72 69 6e 74 28 a3 2c  43 2c 4d 2c 56 2c 57 29  |print(.,C,M,V,W)|
000006e0  3a f2 70 72 69 6e 74 28  a3 2c 43 2c 4d 2c 58 2c  |:.print(.,C,M,X,|
000006f0  59 29 0d 04 06 05 e1 0d  04 10 05 3a 0d 04 1a 0a  |Y).........:....|
00000700  dd f2 6c 69 6e 65 0d 04  24 1d 45 3d b4 28 58 2d  |..line..$.E=.(X-|
00000710  56 29 3a 46 3d b4 28 59  2d 57 29 3a 47 3d 56 3a  |V):F=.(Y-W):G=V:|
00000720  48 3d 57 0d 04 2e 05 f5  0d 04 38 0f 47 3d 47 2b  |H=W.......8.G=G+|
00000730  45 3a 48 3d 48 2b 46 0d  04 42 15 e7 a4 67 65 74  |E:H=H+F..B...get|
00000740  28 47 2c 48 29 3c 38 30  20 4c 3d a3 0d 04 4c 0d  |(G,H)<80 L=...L.|
00000750  fd 47 3d 58 20 80 48 3d  59 0d 04 56 05 e1 0d 04  |.G=X .H=Y..V....|
00000760  60 05 3a 0d 04 6a 15 dd  f2 69 6e 28 42 2c f8 20  |`.:..j...in(B,. |
00000770  58 25 2c f8 20 59 25 29  0d 04 74 14 ef 32 33 3b  |X%,. Y%)..t..23;|
00000780  31 30 2c 36 34 3b 30 3b  30 3b 30 3b 0d 04 7e 32  |10,64;0;0;0;..~2|
00000790  ef 33 31 2c 31 2c 31 36  2b 42 3a 58 25 3d 28 a4  |.31,1,16+B:X%=(.|
000007a0  69 6e 6b 65 79 28 22 41  61 42 62 43 63 44 64 45  |inkey("AaBbCcDdE|
000007b0  45 46 66 47 67 48 68 22  29 2b 31 29 81 32 0d 04  |EFfGgHh")+1).2..|
000007c0  88 26 ef 33 31 2c 34 2c  31 36 2b 42 3a 59 25 3d  |.&.31,4,16+B:Y%=|
000007d0  39 2d a4 69 6e 6b 65 79  28 22 31 32 33 34 35 36  |9-.inkey("123456|
000007e0  37 38 22 29 0d 04 92 16  ef 32 33 3b 31 30 2c 33  |78").....23;10,3|
000007f0  32 3b 30 3b 30 3b 30 3b  3a e1 0d 04 9c 05 3a 0d  |2;0;0;0;:.....:.|
00000800  04 a6 0f dd a4 69 6e 6b  65 79 28 6b 24 29 0d 04  |.....inkey(k$)..|
00000810  b0 1a f5 4b 25 3d a7 6b  24 2c be 29 3a fd 4b 25  |...K%=.k$,.):.K%|
00000820  3e 30 3a 2a 46 58 32 31  0d 04 ba 11 ef 97 c1 6b  |>0:*FX21.......k|
00000830  24 2c 4b 25 29 3a 3d 4b  25 0d 04 c4 05 3a 0d 04  |$,K%):=K%....:..|
00000840  ce 0a dd f2 72 6f 6c 6c  0d 04 d8 1e e7 94 28 56  |....roll......(V|
00000850  2d 58 29 3d 94 28 57 2d  59 29 20 4c 3d a3 20 8b  |-X)=.(W-Y) L=. .|
00000860  f2 72 6f 6c 6c 61 0d 04  e2 05 e1 0d 04 ec 05 3a  |.rolla.........:|
00000870  0d 04 f6 0b dd f2 72 6f  6c 6c 61 0d 05 00 0c e3  |......rolla.....|
00000880  49 25 3d 30 20 b8 33 0d  05 0a 1d 45 3d 49 25 3f  |I%=0 .3....E=I%?|
00000890  63 39 25 2d 31 3a 46 3d  49 25 3f 28 63 39 25 2b  |c9%-1:F=I%?(c9%+|
000008a0  38 29 2d 31 0d 05 14 4a  e7 42 3d 32 30 20 80 a4  |8)-1...J.B=20 ..|
000008b0  67 65 74 28 58 2b 45 2c  59 2b 46 29 3c 3e 34 2b  |get(X+E,Y+F)<>4+|
000008c0  4e 2a 34 30 20 84 58 2b  45 2a 32 3c 30 20 84 58  |N*40 .X+E*2<0 .X|
000008d0  2b 45 2a 32 3e 39 20 84  59 2b 46 2a 32 3c 30 20  |+E*2>9 .Y+F*2<0 |
000008e0  84 59 2b 46 2a 32 3e 39  20 e5 8d 54 68 45 0d 05  |.Y+F*2>9 ..ThE..|
000008f0  1e 62 e7 a4 67 65 74 28  58 2b 45 2c 59 2b 46 29  |.b..get(X+E,Y+F)|
00000900  81 34 30 3d 4e 20 80 a4  67 65 74 28 58 2b 45 2a  |.40=N ..get(X+E*|
00000910  32 2c 59 2b 46 2a 32 29  81 34 30 3d 4d 20 f2 70  |2,Y+F*2).40=M .p|
00000920  72 69 6e 74 28 b9 2c a4  67 65 74 28 58 2b 45 2c  |rint(.,.get(X+E,|
00000930  59 2b 46 29 2c 4e 2c 58  2b 45 2c 59 2b 46 29 3a  |Y+F),N,X+E,Y+F):|
00000940  f2 70 75 74 28 58 2b 45  2c 59 2b 46 2c 38 30 29  |.put(X+E,Y+F,80)|
00000950  0d 05 28 05 ed 0d 05 32  05 e1 0d 05 3c 05 3a 0d  |..(....2....<.:.|
00000960  05 46 0a dd f2 6c 65 61  70 0d 05 50 15 45 3d b4  |.F...leap..P.E=.|
00000970  28 58 2d 56 29 3a 46 3d  b4 28 59 2d 57 29 0d 05  |(X-V):F=.(Y-W)..|
00000980  5a 0b 47 3d 56 3a 48 3d  57 0d 05 64 05 f5 0d 05  |Z.G=V:H=W..d....|
00000990  6e 0f 47 3d 47 2b 45 3a  48 3d 48 2b 46 0d 05 78  |n.G=G+E:H=H+F..x|
000009a0  1b fd 47 3d 58 20 80 48  3d 59 20 84 a4 67 65 74  |..G=X .H=Y ..get|
000009b0  28 47 2c 48 29 3c 38 30  0d 05 82 1d e7 a4 67 65  |(G,H)<80......ge|
000009c0  74 28 47 2c 48 29 81 34  30 3d 4d 20 4c 3d a3 3a  |t(G,H).40=M L=.:|
000009d0  e5 8d 64 66 45 0d 05 8c  13 e7 47 3d 58 20 80 48  |..dfE.....G=X .H|
000009e0  3d 59 20 e5 8d 64 66 45  0d 05 96 0b 67 3d 47 3a  |=Y ..dfE....g=G:|
000009f0  68 3d 48 0d 05 a0 05 f5  0d 05 aa 18 e7 a4 67 65  |h=H...........ge|
00000a00  74 28 47 2c 48 29 81 34  30 3c 3e 4e 20 4c 3d a3  |t(G,H).40<>N L=.|
00000a10  0d 05 b4 0f 47 3d 47 2b  45 3a 48 3d 48 2b 46 0d  |....G=G+E:H=H+F.|
00000a20  05 be 15 e7 a4 67 65 74  28 47 2c 48 29 3c 38 30  |.....get(G,H)<80|
00000a30  20 4c 3d a3 0d 05 c8 0f  47 3d 47 2b 45 3a 48 3d  | L=.....G=G+E:H=|
00000a40  48 2b 46 0d 05 d2 16 fd  47 3d 58 2b 45 20 80 48  |H+F.....G=X+E .H|
00000a50  3d 59 2b 46 20 84 4c 3d  a3 0d 05 dc 0c e7 4c 20  |=Y+F .L=......L |
00000a60  f2 73 74 65 70 0d 05 e6  05 e1 0d 05 f0 05 3a 0d  |.step.........:.|
00000a70  05 fa 0b dd f2 6c 65 61  70 61 0d 06 04 15 45 3d  |.....leapa....E=|
00000a80  b4 28 58 2d 56 29 3a 46  3d b4 28 59 2d 57 29 0d  |.(X-V):F=.(Y-W).|
00000a90  06 0e 0f 47 3d 56 2b 45  3a 48 3d 57 2b 46 0d 06  |...G=V+E:H=W+F..|
00000aa0  18 1b e7 a4 67 65 74 28  47 2c 48 29 3d 38 2b 4e  |....get(G,H)=8+N|
00000ab0  2a 34 30 20 e5 8d 44 5e  46 0d 06 22 05 f5 0d 06  |*40 ..D^F.."....|
00000ac0  2c 28 e7 a4 67 65 74 28  47 2c 48 29 3c 38 30 20  |,(..get(G,H)<80 |
00000ad0  80 a4 67 65 74 28 47 2c  48 29 3c 3e 38 2b 4e 2a  |..get(G,H)<>8+N*|
00000ae0  34 30 20 4c 3d a3 0d 06  36 0f 47 3d 47 2b 45 3a  |40 L=...6.G=G+E:|
00000af0  48 3d 48 2b 46 0d 06 40  12 fd 47 3d 58 20 80 48  |H=H+F..@..G=X .H|
00000b00  3d 59 20 84 4c 3d a3 0d  06 4a 0a e7 ac 20 4c 20  |=Y .L=...J... L |
00000b10  e1 0d 06 54 0f 47 3d 58  2d 45 3a 48 3d 59 2d 46  |...T.G=X-E:H=Y-F|
00000b20  0d 06 5e 2e f2 70 72 69  6e 74 28 b9 2c a4 67 65  |..^..print(.,.ge|
00000b30  74 28 47 2c 48 29 2c 4e  2c 47 2c 48 29 3a f2 70  |t(G,H),N,G,H):.p|
00000b40  75 74 28 58 2d 45 2c 59  2d 46 2c 38 30 29 0d 06  |ut(X-E,Y-F,80)..|
00000b50  68 05 e1 0d 06 72 05 3a  0d 06 7c 0a dd f2 73 74  |h....r.:..|...st|
00000b60  65 70 0d 06 86 05 f5 0d  06 90 38 e7 a4 67 65 74  |ep........8..get|
00000b70  28 67 2c 68 29 3c 38 30  20 f2 70 72 69 6e 74 28  |(g,h)<80 .print(|
00000b80  b9 2c a4 67 65 74 28 67  2c 68 29 2c 4e 2c 67 2c  |.,.get(g,h),N,g,|
00000b90  68 29 3a f2 70 75 74 28  67 2c 68 2c 38 30 29 0d  |h):.put(g,h,80).|
00000ba0  06 9a 0f 67 3d 67 2b 45  3a 68 3d 68 2b 46 0d 06  |...g=g+E:h=h+F..|
00000bb0  a4 0d fd 67 3d 58 20 80  68 3d 59 0d 06 ae 05 e1  |...g=X .h=Y.....|
00000bc0  0d 06 b8 05 3a 0d 06 c2  0a dd f2 77 69 74 68 0d  |....:......with.|
00000bd0  06 cc 19 45 3d 56 2b b4  28 56 2d 58 29 3a 46 3d  |...E=V+.(V-X):F=|
00000be0  57 2b b4 28 57 2d 59 29  0d 06 d6 3a e7 a4 67 65  |W+.(W-Y)...:..ge|
00000bf0  74 28 45 2c 46 29 81 34  30 3d 4e 20 f2 70 72 69  |t(E,F).40=N .pri|
00000c00  6e 74 28 b9 2c a4 67 65  74 28 45 2c 46 29 2c 4e  |nt(.,.get(E,F),N|
00000c10  2c 45 2c 46 29 3a f2 70  75 74 28 45 2c 46 2c 38  |,E,F):.put(E,F,8|
00000c20  30 29 0d 06 e0 05 e1 0d  06 ea 05 3a 0d 06 f4 0b  |0).........:....|
00000c30  dd f2 63 6f 6f 72 64 0d  06 fe 21 45 3d a4 67 65  |..coord...!E=.ge|
00000c40  74 28 58 2c 6b 59 3f 4d  29 3a 46 3d a4 67 65 74  |t(X,kY?M):F=.get|
00000c50  28 6b 58 3f 4d 2c 59 29  0d 07 08 31 e7 45 20 81  |(kX?M,Y)...1.E .|
00000c60  34 30 3d 4e 20 f2 70 72  69 6e 74 28 b9 2c 45 2c  |40=N .print(.,E,|
00000c70  4e 2c 58 2c 6b 59 3f 4d  29 3a f2 70 75 74 28 58  |N,X,kY?M):.put(X|
00000c80  2c 6b 59 3f 4d 2c 38 30  29 0d 07 12 31 e7 46 20  |,kY?M,80)...1.F |
00000c90  81 34 30 3d 4e 20 f2 70  72 69 6e 74 28 b9 2c 46  |.40=N .print(.,F|
00000ca0  2c 4e 2c 6b 58 3f 4d 2c  59 29 3a f2 70 75 74 28  |,N,kX?M,Y):.put(|
00000cb0  6b 58 3f 4d 2c 59 2c 38  30 29 0d 07 1c 05 e1 0d  |kX?M,Y,80)......|
00000cc0  07 26 05 3a 0d 07 30 0b  dd f2 61 6d 61 65 62 0d  |.&.:..0...amaeb.|
00000cd0  07 3a 21 e7 44 3d 32 34  2b 4e 2a 34 30 20 f2 6b  |.:!.D=24+N*40 .k|
00000ce0  69 6e 67 3a e1 20 8b e7  44 3c 38 30 20 4c 3d a3  |ing:. ..D<80 L=.|
00000cf0  0d 07 44 3f e7 a4 67 65  74 28 58 2c 59 29 3d 38  |..D?..get(X,Y)=8|
00000d00  30 20 80 a4 67 65 74 28  b4 28 56 2d 58 29 2b 58  |0 ..get(.(V-X)+X|
00000d10  2c b4 28 57 2d 59 29 2b  59 29 3d 38 2b 4e 2a 34  |,.(W-Y)+Y)=8+N*4|
00000d20  30 20 f2 6c 65 61 70 61  20 8b f2 6c 69 6e 65 0d  |0 .leapa ..line.|
00000d30  07 4e 0a e7 ac 20 4c 20  e1 0d 07 58 2a e7 a4 67  |.N... L ...X*..g|
00000d40  65 74 28 b4 28 56 2d 58  29 2b 56 2c b4 28 57 2d  |et(.(V-X)+V,.(W-|
00000d50  59 29 2b 57 29 3d 31 32  2b 4e 2a 34 30 20 f2 77  |Y)+W)=12+N*40 .w|
00000d60  69 74 68 0d 07 62 0a f2  72 6f 6c 6c 61 0d 07 6c  |ith..b..rolla..l|
00000d70  21 45 3d a4 67 65 74 28  58 2c 6b 59 3f 4d 29 3a  |!E=.get(X,kY?M):|
00000d80  46 3d a4 67 65 74 28 6b  58 3f 4d 2c 59 29 0d 07  |F=.get(kX?M,Y)..|
00000d90  76 33 e7 45 3d 32 38 2b  4e 2a 34 30 20 f2 70 72  |v3.E=28+N*40 .pr|
00000da0  69 6e 74 28 b9 2c 45 2c  4e 2c 58 2c 6b 59 3f 4d  |int(.,E,N,X,kY?M|
00000db0  29 3a f2 70 75 74 28 58  2c 6b 59 3f 4d 2c 38 30  |):.put(X,kY?M,80|
00000dc0  29 0d 07 80 33 e7 46 3d  32 38 2b 4e 2a 34 30 20  |)...3.F=28+N*40 |
00000dd0  f2 70 72 69 6e 74 28 b9  2c 46 2c 4e 2c 6b 58 3f  |.print(.,F,N,kX?|
00000de0  4d 2c 59 29 3a f2 70 75  74 28 6b 58 3f 4d 2c 59  |M,Y):.put(kX?M,Y|
00000df0  2c 38 30 29 0d 07 8a 05  e1 0d 07 94 05 3a 0d 07  |,80).........:..|
00000e00  9e 0a dd f2 6b 69 6e 67  0d 07 a8 14 e7 43 20 81  |....king.....C .|
00000e10  34 30 3d 44 20 81 34 30  20 4c 3d a3 0d 07 b2 2f  |40=D .40 L=..../|
00000e20  e7 94 28 58 2d 56 29 3d  30 20 80 94 28 59 2d 57  |..(X-V)=0 ..(Y-W|
00000e30  29 3d 30 20 84 94 28 58  2d 56 29 3e 31 20 84 94  |)=0 ..(X-V)>1 ..|
00000e40  28 59 2d 57 29 3e 31 20  4c 3d a3 0d 07 bc 0a e7  |(Y-W)>1 L=......|
00000e50  ac 20 4c 20 e1 0d 07 c6  1b e7 44 3c 38 30 20 f2  |. L ......D<80 .|
00000e60  70 72 69 6e 74 28 b9 2c  44 2c 4e 2c 58 2c 59 29  |print(.,D,N,X,Y)|
00000e70  0d 07 d0 45 e7 44 3d 32  34 2b 4e 2a 34 30 20 6b  |...E.D=24+N*40 k|
00000e80  58 3f 4e 3d 30 3a 6b 59  3f 4e 3d 30 3a f2 70 75  |X?N=0:kY?N=0:.pu|
00000e90  74 28 58 2c 59 2c 38 30  29 20 8b f2 70 75 74 28  |t(X,Y,80) ..put(|
00000ea0  58 2c 59 2c 38 30 29 3a  6b 58 3f 4d 3d 58 3a 6b  |X,Y,80):kX?M=X:k|
00000eb0  59 3f 4d 3d 59 0d 07 da  05 e1 0d 07 e4 05 3a 0d  |Y?M=Y.........:.|
00000ec0  07 ee 08 dd f2 6e 6f 0d  07 f8 14 e7 51 25 20 d4  |.....no.....Q% .|
00000ed0  31 2c 2d 31 35 2c 35 30  2c 31 30 0d 08 02 24 f1  |1,-15,50,10...$.|
00000ee0  8a 39 2c 33 30 29 22 59  6f 75 20 63 61 6e 27 74  |.9,30)"You can't|
00000ef0  20 6d 6f 76 65 20 74 68  65 72 65 20 21 22 3b 0d  | move there !";.|
00000f00  08 0c 05 e1 0d 08 16 05  3a 0d 08 20 16 dd f2 70  |........:.. ...p|
00000f10  72 69 6e 74 28 54 2c 43  2c 4d 2c 58 2c 59 29 0d  |rint(T,C,M,X,Y).|
00000f20  08 2a 18 49 25 3d 63 39  25 2b 26 33 30 2b 28 43  |.*.I%=c9%+&30+(C|
00000f30  20 83 34 30 29 2a 34 0d  08 34 13 47 3d 28 59 20  | .40)*4..4.G=(Y |
00000f40  83 32 29 82 28 58 20 83  32 29 0d 08 3e 13 e7 47  |.2).(X .2)..>..G|
00000f50  20 41 3d 32 2b 4d 20 8b  41 3d 33 2d 4d 0d 08 48  | A=2+M .A=3-M..H|
00000f60  1d 43 3d 43 20 83 34 30  2b 32 32 30 3a 58 3d 58  |.C=C .40+220:X=X|
00000f70  2a 39 36 3a 59 3d 59 2a  39 36 0d 08 52 08 e6 33  |*96:Y=Y*96..R..3|
00000f80  2c 41 0d 08 5c 12 ec 20  58 2b 58 25 2c 59 25 2d  |,A..\.. X+X%,Y%-|
00000f90  59 2b 33 32 0d 08 66 26  ef 35 2c 43 2c 43 2b 31  |Y+32..f&.5,C,C+1|
00000fa0  2c 31 30 2c 38 2c 38 2c  43 2b 32 2c 43 2b 33 2c  |,10,8,8,C+2,C+3,|
00000fb0  34 2c 33 31 2c 31 30 2c  33 30 0d 08 70 0a e7 ac  |4,31,10,30..p...|
00000fc0  20 54 20 e1 0d 08 7a 1e  e7 4d 3d 30 20 f1 22 57  | T ...z..M=0 ."W|
00000fd0  68 69 74 65 20 22 3b 20  8b f1 22 20 52 65 64 20  |hite "; .." Red |
00000fe0  22 3b 0d 08 84 15 f1 22  74 61 6b 65 73 20 22 20  |";....."takes " |
00000ff0  24 49 25 20 89 37 3b 0d  08 8e 19 f2 62 65 65 70  |$I% .7;.....beep|
00001000  28 31 30 30 29 3a f2 77  61 69 74 28 31 30 30 29  |(100):.wait(100)|
00001010  0d 08 98 05 e1 0d 08 a2  05 3a 0d 08 ac 09 dd f2  |.........:......|
00001020  65 6e 64 0d 08 b6 0c f1  8a 31 31 2c 31 29 3b 0d  |end......11,1);.|
00001030  08 c0 6c e7 a4 67 65 74  28 6b 58 3f 31 2c 6b 59  |..l..get(kX?1,kY|
00001040  3f 31 29 3d 38 30 20 f1  22 20 2a 2a 2a 20 52 45  |?1)=80 ." *** RE|
00001050  44 20 20 57 49 4e 20 2a  2a 2a 22 20 8b e7 a4 67  |D  WIN ***" ...g|
00001060  65 74 28 3f 6b 58 2c 3f  6b 59 29 3d 38 30 20 f1  |et(?kX,?kY)=80 .|
00001070  22 2a 2a 2a 20 57 48 49  54 45 20 20 57 49 4e 20  |"*** WHITE  WIN |
00001080  2a 2a 2a 22 20 8b f1 22  2a 2a 2a 20 47 41 4d 45  |***" .."*** GAME|
00001090  20 44 52 41 57 4e 20 2a  2a 2a 22 0d 08 ca 0c e3  | DRAWN ***".....|
000010a0  49 25 3d 30 20 b8 34 0d  08 d4 18 f2 77 61 69 74  |I%=0 .4.....wait|
000010b0  28 33 30 29 3a f2 62 65  65 70 28 31 38 30 29 0d  |(30):.beep(180).|
000010c0  08 de 05 ed 0d 08 e8 2b  f1 8a 32 2c 33 30 29 89  |.......+..2,30).|
000010d0  36 20 22 50 72 65 73 73  20 61 6e 79 20 6b 65 79  |6 "Press any key|
000010e0  20 74 6f 20 72 65 73 74  61 72 74 22 20 89 36 0d  | to restart" .6.|
000010f0  08 f2 07 e7 20 a5 0d 08  fc 05 e1 0d 09 06 05 3a  |.... ..........:|
00001100  0d 09 10 10 dd f2 70 75  74 28 58 2c 59 2c 5a 29  |......put(X,Y,Z)|
00001110  0d 09 1a 11 52 25 3f 28  58 2b 59 2a 31 30 29 3d  |....R%?(X+Y*10)=|
00001120  5a 0d 09 24 05 e1 0d 09  2e 05 3a 0d 09 38 0e dd  |Z..$......:..8..|
00001130  a4 67 65 74 28 58 2c 59  29 0d 09 42 10 3d 52 25  |.get(X,Y)..B.=R%|
00001140  3f 28 58 2b 59 2a 31 30  29 0d 09 4c 05 3a 0d 09  |?(X+Y*10)..L.:..|
00001150  56 0d dd f2 62 65 65 70  28 50 29 0d 09 60 0a e7  |V...beep(P)..`..|
00001160  20 51 25 20 8c 0d 09 6a  13 20 20 20 20 d4 20 31  | Q% ...j.    . 1|
00001170  2c 2d 31 35 2c 50 2c 32  0d 09 74 15 20 20 20 20  |,-15,P,2..t.    |
00001180  d4 20 32 2c 2d 31 35 2c  50 2b 31 2c 32 0d 09 7e  |. 2,-15,P+1,2..~|
00001190  07 20 20 cd 0d 09 88 05  e1 0d 09 92 05 3a 0d 09  |.  ..........:..|
000011a0  9c 0d dd f2 77 61 69 74  28 54 29 0d 09 a6 07 d1  |....wait(T).....|
000011b0  3d 30 0d 09 b0 09 f5 3a  e7 a6 30 0d 09 ba 08 fd  |=0.....:..0.....|
000011c0  91 3e 54 0d 09 c4 05 e1  0d 09 ce 05 3a 0d 09 d8  |.>T.........:...|
000011d0  0b dd f2 63 6c 65 61 72  0d 09 e2 32 f1 8a 32 2c  |...clear...2..2,|
000011e0  31 29 89 33 36 20 8a 31  2c 31 32 29 89 34 20 8a  |1).36 .1,12).4 .|
000011f0  31 2c 31 36 29 89 34 20  8a 31 2c 31 38 29 89 34  |1,16).4 .1,18).4|
00001200  20 8a 32 2c 33 30 29 89  33 36 0d 09 ec 05 e1 0d  | .2,30).36......|
00001210  09 f6 05 3a 0d 0a 00 1f  dc 20 30 2c 31 36 2c 37  |...:..... 0,16,7|
00001220  32 2c 31 30 38 2c 32 37  31 2c 31 35 38 2c 30 2c  |2,108,271,158,0,|
00001230  33 33 35 0d 0a 0a 04 0d  0a 14 11 dd 20 f2 69 6e  |335......... .in|
00001240  69 74 69 61 6c 69 73 65  0d 0a 1e 1b ee 85 eb 30  |itialise.......0|
00001250  3a f6 3a f1 22 20 61 74  20 6c 69 6e 65 20 22 3b  |:.:." at line ";|
00001260  9e 3a e0 0d 0a 28 10 de  20 6d 65 6d 25 20 26 31  |.:...(.. mem% &1|
00001270  39 30 30 0d 0a 32 17 67  65 6e 25 3d 6d 65 6d 25  |900..2.gen%=mem%|
00001280  2b 26 37 30 30 3a c8 a0  20 32 0d 0a 3c 22 2a 43  |+&700:.. 2..<"*C|
00001290  68 61 6e 6e 65 6c 56 6f  69 63 65 20 31 20 53 74  |hannelVoice 1 St|
000012a0  72 69 6e 67 4c 69 62 2d  53 6f 66 74 0d 0a 46 22  |ringLib-Soft..F"|
000012b0  2a 43 68 61 6e 6e 65 6c  56 6f 69 63 65 20 32 20  |*ChannelVoice 2 |
000012c0  53 74 72 69 6e 67 4c 69  62 2d 53 6f 66 74 0d 0a  |StringLib-Soft..|
000012d0  50 0e eb 37 3a 87 3a f7  8d 74 62 4d 0d 0a 5a 0d  |P..7:.:..tbM..Z.|
000012e0  f2 74 69 74 6c 65 28 33  29 0d 0a 64 22 f1 8a 31  |.title(3)..d"..1|
000012f0  2c 37 29 bd 31 34 35 20  bd 31 38 33 20 c4 33 33  |,7).145 .183 .33|
00001300  2c bd 31 36 33 29 20 bd  32 33 35 0d 0a 6e 0d e3  |,.163) .235..n..|
00001310  49 25 3d 38 20 b8 31 30  0d 0a 78 27 f1 8a 31 2c  |I%=8 .10..x'..1,|
00001320  49 25 29 bd 31 34 35 20  bd 31 38 31 20 bd 31 34  |I%).145 .181 .14|
00001330  39 20 89 33 31 20 bd 31  34 35 20 bd 32 33 34 0d  |9 .31 .145 .234.|
00001340  0a 82 05 ed 0d 0a 8c 23  f1 8a 31 2c 31 31 29 bd  |.......#..1,11).|
00001350  31 34 35 20 bd 32 34 35  20 c4 33 33 2c bd 32 34  |145 .245 .33,.24|
00001360  30 29 20 bd 32 35 30 0d  0a 96 27 f1 8a 36 2c 38  |0) .250...'..6,8|
00001370  29 22 54 20 48 20 45 20  20 20 42 20 4f 20 41 20  |)"T H E   B O A |
00001380  52 20 44 20 20 20 47 20  41 20 4d 20 45 22 0d 0a  |R D   G A M E"..|
00001390  a0 2a f1 8a 35 2c 31 30  29 22 46 20 4f 20 52 20  |.*..5,10)"F O R |
000013a0  20 20 54 20 57 20 4f 20  20 20 50 20 4c 20 41 20  |  T W O   P L A |
000013b0  59 20 45 20 52 20 53 22  0d 0a aa 0e e3 49 25 3d  |Y E R S".....I%=|
000013c0  31 33 20 b8 31 34 0d 0a  b4 2a f1 8a 37 2c 49 25  |13 .14...*..7,I%|
000013d0  29 bd 31 34 31 20 bd 31  33 34 22 57 20 52 20 49  |).141 .134"W R I|
000013e0  20 54 20 54 20 45 20 4e  22 89 35 22 42 20 59 22  | T T E N".5"B Y"|
000013f0  0d 0a be 05 ed 0d 0a c8  0e f2 74 69 74 6c 65 28  |..........title(|
00001400  31 36 29 0d 0a d2 1e ef  32 33 2c 32 32 34 2c 34  |16).....23,224,4|
00001410  38 2c 32 38 2c 36 2c 33  2c 31 2c 31 2c 33 2c 31  |8,28,6,3,1,1,3,1|
00001420  35 0d 0a dc 23 ef 32 33  2c 32 32 35 2c 30 2c 30  |5...#.23,225,0,0|
00001430  2c 31 2c 33 2c 31 33 30  2c 31 33 34 2c 32 30 34  |,1,3,130,134,204|
00001440  2c 32 34 38 0d 0a e6 23  ef 32 33 2c 32 32 36 2c  |,248...#.23,226,|
00001450  33 31 2c 35 31 2c 39 37  2c 36 35 2c 31 39 32 2c  |31,51,97,65,192,|
00001460  31 32 38 2c 30 2c 30 0d  0a f0 28 ef 32 33 2c 32  |128,0,0...(.23,2|
00001470  32 37 2c 32 34 30 2c 31  39 32 2c 31 32 38 2c 31  |27,240,192,128,1|
00001480  32 38 2c 31 39 32 2c 39  36 2c 35 36 2c 31 32 0d  |28,192,96,56,12.|
00001490  0a fa 1f ef 32 33 2c 32  32 38 2c 30 2c 31 34 2c  |....23,228,0,14,|
000014a0  31 32 33 2c 39 37 2c 33  2c 33 2c 33 2c 37 0d 0b  |123,97,3,3,3,7..|
000014b0  04 28 ef 32 33 2c 32 32  39 2c 33 30 2c 35 34 2c  |.(.23,229,30,54,|
000014c0  39 36 2c 31 39 32 2c 31  39 32 2c 31 39 32 2c 31  |96,192,192,192,1|
000014d0  32 38 2c 31 32 38 0d 0b  0e 20 ef 32 33 2c 32 33  |28,128... .23,23|
000014e0  30 2c 31 32 2c 31 32 2c  36 2c 33 2c 36 2c 31 32  |0,12,12,6,3,6,12|
000014f0  2c 32 34 2c 32 38 0d 0b  18 26 ef 32 33 2c 32 33  |,24,28...&.23,23|
00001500  31 2c 31 39 32 2c 39 36  2c 34 38 2c 32 34 2c 34  |1,192,96,48,24,4|
00001510  38 2c 39 36 2c 31 39 32  2c 32 32 34 0d 0b 22 23  |8,96,192,224.."#|
00001520  ef 32 33 2c 32 33 32 2c  31 32 38 2c 36 34 2c 39  |.23,232,128,64,9|
00001530  36 2c 34 38 2c 31 36 2c  32 34 2c 38 2c 32 34 0d  |6,48,16,24,8,24.|
00001540  0b 2c 1f ef 32 33 2c 32  33 33 2c 30 2c 30 2c 30  |.,..23,233,0,0,0|
00001550  2c 34 2c 31 34 2c 33 31  2c 33 30 2c 34 38 0d 0b  |,4,14,31,30,48..|
00001560  36 27 ef 32 33 2c 32 33  34 2c 34 38 2c 34 38 2c  |6'.23,234,48,48,|
00001570  39 36 2c 32 32 37 2c 32  33 39 2c 31 32 37 2c 31  |96,227,239,127,1|
00001580  32 37 2c 32 30 0d 0b 40  27 ef 32 33 2c 32 33 35  |27,20..@'.23,235|
00001590  2c 34 38 2c 32 34 2c 32  38 2c 31 34 32 2c 32 33  |,48,24,28,142,23|
000015a0  31 2c 32 35 34 2c 32 35  32 2c 34 30 0d 0b 4a 28  |1,254,252,40..J(|
000015b0  ef 32 33 2c 32 33 36 2c  35 36 2c 31 32 34 2c 32  |.23,236,56,124,2|
000015c0  35 34 2c 36 33 2c 31 32  31 2c 32 34 39 2c 36 33  |54,63,121,249,63|
000015d0  2c 31 32 37 0d 0b 54 29  ef 32 33 2c 32 33 37 2c  |,127..T).23,237,|
000015e0  32 38 2c 36 32 2c 31 32  37 2c 32 35 32 2c 31 35  |28,62,127,252,15|
000015f0  38 2c 31 35 39 2c 32 35  32 2c 32 35 34 0d 0b 5e  |8,159,252,254..^|
00001600  29 ef 32 33 2c 32 33 38  2c 32 35 35 2c 36 30 2c  |).23,238,255,60,|
00001610  35 36 2c 31 31 33 2c 32  35 31 2c 32 35 35 2c 32  |56,113,251,255,2|
00001620  30 34 2c 32 30 34 0d 0b  68 27 ef 32 33 2c 32 33  |04,204..h'.23,23|
00001630  39 2c 32 35 35 2c 36 30  2c 32 38 2c 31 34 30 2c  |9,255,60,28,140,|
00001640  32 32 33 2c 32 35 35 2c  35 31 2c 35 31 0d 0b 72  |223,255,51,51..r|
00001650  1d ef 32 33 2c 32 34 30  2c 30 2c 33 2c 37 2c 31  |..23,240,0,3,7,1|
00001660  35 2c 37 2c 37 2c 37 2c  31 35 0d 0b 7c 28 ef 32  |5,7,7,7,15..|(.2|
00001670  33 2c 32 34 31 2c 30 2c  31 35 36 2c 32 35 34 2c  |3,241,0,156,254,|
00001680  32 35 34 2c 32 35 32 2c  32 35 32 2c 32 32 30 2c  |254,252,252,220,|
00001690  31 34 0d 0b 86 21 ef 32  33 2c 32 34 32 2c 33 30  |14...!.23,242,30|
000016a0  2c 36 32 2c 36 32 2c 36  33 2c 33 31 2c 31 35 2c  |,62,62,63,31,15,|
000016b0  37 2c 33 0d 0b 90 27 ef  32 33 2c 32 34 33 2c 31  |7,3...'.23,243,1|
000016c0  34 2c 36 33 2c 31 32 37  2c 32 35 34 2c 32 32 34  |4,63,127,254,224|
000016d0  2c 31 39 32 2c 31 32 38  2c 30 0d 0b 9a 23 ef 32  |,192,128,0...#.2|
000016e0  33 2c 32 34 34 2c 31 2c  39 39 2c 35 35 2c 33 31  |3,244,1,99,55,31|
000016f0  2c 32 39 2c 35 37 2c 32  35 35 2c 36 33 0d 0b a4  |,29,57,255,63...|
00001700  2b ef 32 33 2c 32 34 35  2c 31 32 38 2c 31 39 38  |+.23,245,128,198|
00001710  2c 32 33 36 2c 32 34 38  2c 31 38 34 2c 31 35 36  |,236,248,184,156|
00001720  2c 32 35 35 2c 32 35 32  0d 0b ae 20 ef 32 33 2c  |,255,252... .23,|
00001730  32 34 36 2c 36 33 2c 32  35 2c 32 38 2c 31 35 2c  |246,63,25,28,15,|
00001740  37 2c 32 2c 36 2c 31 32  0d 0b b8 27 ef 32 33 2c  |7,2,6,12...'.23,|
00001750  32 34 37 2c 32 35 32 2c  31 35 32 2c 34 38 2c 32  |247,252,152,48,2|
00001760  34 30 2c 32 32 34 2c 36  34 2c 39 36 2c 34 38 0d  |40,224,64,96,48.|
00001770  0b c2 22 ef 32 33 2c 32  34 38 2c 33 2c 31 35 2c  |..".23,248,3,15,|
00001780  33 31 2c 35 31 2c 35 31  2c 36 33 2c 36 33 2c 33  |31,51,51,63,63,3|
00001790  31 0d 0b cc 2b ef 32 33  2c 32 34 39 2c 31 39 32  |1...+.23,249,192|
000017a0  2c 32 34 30 2c 32 34 38  2c 32 30 34 2c 32 30 34  |,240,248,204,204|
000017b0  2c 32 35 32 2c 32 35 32  2c 32 34 38 0d 0b d6 21  |,252,252,248...!|
000017c0  ef 32 33 2c 32 35 30 2c  36 30 2c 31 30 38 2c 37  |.23,250,60,108,7|
000017d0  39 2c 37 31 2c 36 2c 36  2c 36 2c 31 34 0d 0b e0  |9,71,6,6,6,14...|
000017e0  26 ef 32 33 2c 32 35 31  2c 36 30 2c 35 34 2c 32  |&.23,251,60,54,2|
000017f0  34 32 2c 32 32 36 2c 39  36 2c 39 36 2c 39 36 2c  |42,226,96,96,96,|
00001800  31 31 32 0d 0b ea 04 0d  0b f4 09 f7 8d 74 76 4d  |112..........tvM|
00001810  0d 0b fe 1f 61 30 25 3d  6d 65 6d 25 2b 26 41 30  |....a0%=mem%+&A0|
00001820  30 3a 63 39 25 3d 6d 65  6d 25 2b 26 39 43 30 0d  |0:c9%=mem%+&9C0.|
00001830  0c 08 22 e3 20 49 25 3d  61 30 25 20 b8 20 61 30  |..". I%=a0% . a0|
00001840  25 2b 26 36 30 20 88 31  36 3a f3 20 24 49 25 3a  |%+&60 .16:. $I%:|
00001850  ed 0d 0c 12 21 52 25 3d  49 25 3a 51 25 3d b9 3a  |....!R%=I%:Q%=.:|
00001860  41 24 3d 22 50 72 65 73  73 20 61 6e 79 20 6b 65  |A$="Press any ke|
00001870  79 22 0d 0c 1c 1b e3 20  49 25 3d 30 20 b8 20 26  |y"..... I%=0 . &|
00001880  31 46 3a f3 20 63 39 25  3f 49 25 3a ed 0d 0c 26  |1F:. c9%?I%:...&|
00001890  3e f2 77 61 69 74 28 31  30 30 29 3a f1 8a 37 2c  |>.wait(100):..7,|
000018a0  32 31 29 bd 31 33 34 22  44 6f 20 79 6f 75 20 77  |21).134"Do you w|
000018b0  61 6e 74 20 73 6f 75 6e  64 3f 20 28 79 2f 6e 29  |ant sound? (y/n)|
000018c0  20 22 3b 3a 51 25 3d a4  6b 65 79 0d 0c 44 3c f2  | ";:Q%=.key..D<.|
000018d0  77 61 69 74 28 31 30 30  29 3a f1 8a 34 2c 32 33  |wait(100):..4,23|
000018e0  29 bd 31 33 33 22 44 6f  20 79 6f 75 20 77 61 6e  |).133"Do you wan|
000018f0  74 20 64 69 72 65 63 74  69 6f 6e 73 20 3f 20 28  |t directions ? (|
00001900  79 2f 6e 29 20 22 3b 0d  0c 4e 11 e7 20 ac a4 6b  |y/n) ";..N.. ..k|
00001910  65 79 20 e5 8d 54 4c 4d  0d 0c 58 14 ef 32 38 2c  |ey ..TLM..X..28,|
00001920  30 2c 32 34 2c 33 39 2c  37 2c 31 32 0d 0c 62 15  |0,24,39,7,12..b.|
00001930  e3 49 25 3d 30 20 b8 31  36 3a f1 bd 31 33 30 3a  |.I%=0 .16:..130:|
00001940  ed 0d 0c 6c 14 ef 32 38  2c 31 2c 32 34 2c 33 38  |...l..28,1,24,38|
00001950  2c 37 2c 31 32 0d 0c 76  e2 c8 99 20 22 4f 53 5f  |,7,12..v... "OS_|
00001960  50 72 65 74 74 79 50 72  69 6e 74 22 2c 22 54 68  |PrettyPrint","Th|
00001970  65 20 6f 62 6a 65 63 74  20 6f 66 20 74 68 69 73  |e object of this|
00001980  20 67 61 6d 65 20 69 73  20 74 6f 20 74 61 6b 65  | game is to take|
00001990  20 79 6f 75 72 20 6f 70  70 6f 6e 65 6e 74 73 20  | your opponents |
000019a0  6b 69 6e 67 2e 20 54 68  65 72 65 20 69 73 20 6e  |king. There is n|
000019b0  6f 20 43 68 65 63 6b 20  75 6e 6c 69 6b 65 20 63  |o Check unlike c|
000019c0  68 65 73 73 2e 20 57 69  74 68 20 74 68 65 20 65  |hess. With the e|
000019d0  78 63 65 70 74 69 6f 6e  20 6f 66 20 74 68 65 20  |xception of the |
000019e0  52 6f 6c 6c 65 72 73 20  61 6e 64 20 74 68 65 20  |Rollers and the |
000019f0  4b 69 6e 67 2c 20 6d 6f  76 65 6d 65 6e 74 20 6f  |King, movement o|
00001a00  66 20 74 68 65 20 70 69  65 63 65 73 20 69 73 20  |f the pieces is |
00001a10  69 6e 20 74 68 65 20 73  74 79 6c 65 20 6f 66 20  |in the style of |
00001a20  61 20 63 68 65 73 73 20  51 75 65 65 6e 2e 22 2b  |a chess Queen."+|
00001a30  bd 31 33 2b bd 31 33 0d  0c 80 e5 c8 99 20 22 4f  |.13+.13...... "O|
00001a40  53 5f 50 72 65 74 74 79  50 72 69 6e 74 22 2c 22  |S_PrettyPrint","|
00001a50  54 68 65 20 52 6f 6c 6c  65 72 73 20 6d 6f 76 65  |The Rollers move|
00001a60  20 6f 6e 6c 79 20 76 65  72 74 69 63 61 6c 6c 79  | only vertically|
00001a70  20 61 6e 64 20 68 6f 72  69 7a 6f 6e 74 61 6c 6c  | and horizontall|
00001a80  79 2c 20 74 61 6b 69 6e  67 20 70 69 65 63 65 73  |y, taking pieces|
00001a90  20 62 79 20 74 72 61 70  70 69 6e 67 20 74 68 65  | by trapping the|
00001aa0  6d 20 61 67 61 69 6e 73  74 20 61 6e 79 20 6f 74  |m against any ot|
00001ab0  68 65 72 20 70 69 65 63  65 20 62 65 6c 6f 6e 67  |her piece belong|
00001ac0  69 6e 67 20 74 6f 20 74  68 65 20 73 61 6d 65 20  |ing to the same |
00001ad0  70 6c 61 79 65 72 20 61  73 20 74 68 65 20 52 6f  |player as the Ro|
00001ae0  6c 6c 65 72 2e 20 54 68  65 20 4b 69 6e 67 20 6d  |ller. The King m|
00001af0  6f 76 65 73 20 61 6e 64  20 74 61 6b 65 73 20 70  |oves and takes p|
00001b00  69 65 63 65 73 20 61 73  20 61 20 63 68 65 73 73  |ieces as a chess|
00001b10  20 4b 69 6e 67 20 64 6f  65 73 2e 22 0d 0c 8a 09  | King does."....|
00001b20  f2 68 6f 6c 64 0d 0c 94  de c8 99 20 22 4f 53 5f  |.hold...... "OS_|
00001b30  50 72 65 74 74 79 50 72  69 6e 74 22 2c 22 54 68  |PrettyPrint","Th|
00001b40  65 20 4c 65 61 70 65 72  73 20 63 61 6e 20 73 74  |e Leapers can st|
00001b50  65 70 20 6f 76 65 72 20  70 69 65 63 65 73 20 74  |ep over pieces t|
00001b60  6f 20 74 61 6b 65 20 74  68 65 6d 20 61 6e 64 20  |o take them and |
00001b70  6d 75 73 74 20 68 61 76  65 20 61 20 63 6c 65 61  |must have a clea|
00001b80  72 20 70 61 74 68 20 74  6f 20 74 68 65 20 70 69  |r path to the pi|
00001b90  65 63 65 20 62 65 69 6e  67 20 74 61 6b 65 6e 2e  |ece being taken.|
00001ba0  20 48 6f 77 65 76 65 72  20 74 68 65 79 20 63 61  | However they ca|
00001bb0  6e 20 74 61 6b 65 20 61  20 6c 69 6e 65 20 6f 66  |n take a line of|
00001bc0  20 70 69 65 63 65 73 20  70 72 6f 76 69 64 65 64  | pieces provided|
00001bd0  20 6f 6e 65 20 67 61 70  20 6f 6e 6c 79 20 65 78  | one gap only ex|
00001be0  69 73 74 73 20 62 65 74  77 65 65 6e 20 65 61 63  |ists between eac|
00001bf0  68 20 6f 66 20 74 68 65  6d 2e 22 2b bd 31 33 2b  |h of them."+.13+|
00001c00  bd 31 33 0d 0c 9e e8 c8  99 20 22 4f 53 5f 50 72  |.13...... "OS_Pr|
00001c10  65 74 74 79 50 72 69 6e  74 22 2c 22 54 68 65 20  |ettyPrint","The |
00001c20  57 69 74 68 64 72 61 77  65 72 20 68 61 73 20 74  |Withdrawer has t|
00001c30  6f 20 6d 6f 76 65 20 64  69 72 65 63 74 6c 79 20  |o move directly |
00001c40  61 77 61 79 20 66 72 6f  6d 20 61 20 70 69 65 63  |away from a piec|
00001c50  65 20 74 6f 20 74 61 6b  65 20 69 74 2e 20 57 68  |e to take it. Wh|
00001c60  65 6e 20 74 68 65 20 43  6f 2d 6f 72 64 69 6e 61  |en the Co-ordina|
00001c70  74 6f 72 20 69 73 20 6d  6f 76 65 64 20 61 6e 79  |tor is moved any|
00001c80  20 6f 66 20 79 6f 75 72  20 6f 70 70 6f 6e 65 6e  | of your opponen|
00001c90  74 73 20 70 69 65 63 65  73 20 70 6c 61 63 65 64  |ts pieces placed|
00001ca0  20 6f 6e 20 74 68 65 20  63 6f 6c 75 6d 6e 20 5f  | on the column _|
00001cb0  20 72 6f 77 20 69 6e 74  65 72 73 65 63 74 69 6f  | row intersectio|
00001cc0  6e 73 20 6f 66 20 74 68  65 20 4b 69 6e 67 20 61  |ns of the King a|
00001cd0  6e 64 20 43 6f 2d 6f 72  64 69 6e 61 74 6f 72 20  |nd Co-ordinator |
00001ce0  61 72 65 20 74 61 6b 65  6e 2e 22 0d 0c a8 09 f2  |are taken.".....|
00001cf0  68 6f 6c 64 0d 0c b2 c9  c8 99 20 22 4f 53 5f 50  |hold...... "OS_P|
00001d00  72 65 74 74 79 50 72 69  6e 74 22 2c 22 41 6d 6f  |rettyPrint","Amo|
00001d10  65 62 61 73 20 63 68 61  6e 67 65 20 74 68 65 69  |ebas change thei|
00001d20  72 20 62 65 68 61 76 69  6f 72 20 74 6f 20 6d 61  |r behavior to ma|
00001d30  74 63 68 20 74 68 65 20  70 69 65 63 65 20 74 68  |tch the piece th|
00001d40  65 79 20 61 72 65 20 64  65 61 6c 69 6e 67 20 77  |ey are dealing w|
00001d50  69 74 68 2e 20 54 68 65  79 20 72 6f 6c 6c 20 52  |ith. They roll R|
00001d60  6f 6c 6c 65 72 73 2c 20  6c 65 61 70 20 4c 65 61  |ollers, leap Lea|
00001d70  70 65 72 73 20 65 74 63  2e 22 2b bd 31 33 2b bd  |pers etc."+.13+.|
00001d80  31 33 2b 22 54 68 65 20  49 6d 6d 6f 62 69 6c 69  |13+"The Immobili|
00001d90  73 65 72 20 69 73 20 74  68 65 20 6f 6e 6c 79 20  |ser is the only |
00001da0  70 69 65 63 65 20 75 6e  61 62 6c 65 20 74 6f 20  |piece unable to |
00001db0  74 61 6b 65 20 6f 74 68  65 72 73 2e 22 0d 0c bc  |take others."...|
00001dc0  7e c8 99 20 22 4f 53 5f  50 72 65 74 74 79 50 72  |~.. "OS_PrettyPr|
00001dd0  69 6e 74 22 2c 22 41 6e  79 20 6f 70 70 6f 6e 65  |int","Any oppone|
00001de0  6e 74 73 20 70 69 65 63  65 20 74 68 61 74 20 63  |nts piece that c|
00001df0  6f 6d 65 73 20 69 6e 74  6f 20 63 6f 6e 74 61 63  |omes into contac|
00001e00  74 20 77 69 74 68 20 69  74 20 69 73 20 68 65 6c  |t with it is hel|
00001e10  64 20 75 6e 74 69 6c 20  74 68 65 20 49 6d 6d 6f  |d until the Immo|
00001e20  62 69 6c 69 73 65 72 20  69 73 20 6d 6f 76 65 64  |biliser is moved|
00001e30  20 6f 72 20 74 61 6b 65  6e 2e 22 0d 0c c6 09 f2  | or taken.".....|
00001e40  68 6f 6c 64 0d 0c d0 19  eb 34 3a 87 3a ef 31 39  |hold.....4:.:.19|
00001e50  2c 30 2c 34 3b 30 3b 3a  f7 8d 64 68 4d 0d 0c da  |,0,4;0;:..dhM...|
00001e60  29 f1 8a 37 2c 33 29 22  54 48 45 20 55 4c 54 49  |)..7,3)"THE ULTI|
00001e70  4d 41 20 50 49 45 43 45  53 22 20 8a 32 32 29 22  |MA PIECES" .22)"|
00001e80  76 61 6c 75 65 22 0d 0c  e4 22 e3 20 49 25 3d 38  |value"...". I%=8|
00001e90  20 b8 20 33 32 20 88 20  34 3a f3 20 42 24 3a 41  | . 32 . 4:. B$:A|
00001ea0  25 3d 49 25 2b 32 31 36  0d 0c ee 4d f1 8a 35 2c  |%=I%+216...M..5,|
00001eb0  49 25 2a 30 2e 37 35 29  bd 41 25 20 bd 28 41 25  |I%*0.75).A% .(A%|
00001ec0  2b 31 29 8a 35 2c 49 25  2a 30 2e 37 35 2b 31 29  |+1).5,I%*0.75+1)|
00001ed0  bd 28 41 25 2b 32 29 bd  28 41 25 2b 33 29 8a 39  |.(A%+2).(A%+3).9|
00001ee0  29 24 28 61 30 25 2b 49  25 2a 34 2d 33 32 29 8a  |)$(a0%+I%*4-32).|
00001ef0  32 37 29 42 24 0d 0c f8  05 ed 0d 0d 02 1c f2 77  |27)B$..........w|
00001f00  61 69 74 28 31 30 30 29  3a f1 8a 31 32 2c 32 39  |ait(100):..12,29|
00001f10  29 41 24 3a e7 a5 0d 0d  0c 05 e1 0d 0d 16 05 3a  |)A$:...........:|
00001f20  0d 0d 20 0f dd f2 74 69  74 6c 65 28 4e 25 29 0d  |.. ...title(N%).|
00001f30  0d 2a 13 f3 24 67 65 6e  25 3a f1 8a 30 2c 4e 25  |.*..$gen%:..0,N%|
00001f40  29 3b 0d 0d 34 11 e3 49  25 3d 30 20 b8 32 32 33  |);..4..I%=0 .223|
00001f50  20 88 32 0d 0d 3e 25 ef  a0 28 22 26 22 2b bd 28  | .2..>%..("&"+.(|
00001f60  49 25 3f 67 65 6e 25 29  2b bd 28 49 25 3f 28 67  |I%?gen%)+.(I%?(g|
00001f70  65 6e 25 2b 31 29 29 29  0d 0d 48 05 ed 0d 0d 52  |en%+1)))..H....R|
00001f80  05 e1 0d 0d 5c 05 3a 0d  0d 66 20 dd f2 68 6f 6c  |....\.:..f ..hol|
00001f90  64 3a f2 77 61 69 74 28  31 30 30 29 3a f2 62 65  |d:.wait(100):.be|
00001fa0  65 70 28 32 30 30 29 0d  0d 70 17 f1 8a 31 32 2c  |ep(200)..p...12,|
00001fb0  31 36 29 bd 31 33 31 20  41 24 3a e7 a5 db 0d 0d  |16).131 A$:.....|
00001fc0  7a 05 e1 0d 0d 84 05 3a  0d 0d 8e 26 dd a4 6b 65  |z......:...&..ke|
00001fd0  79 3a f2 62 65 65 70 28  32 30 30 29 3a 3d a4 69  |y:.beep(200):=.i|
00001fe0  6e 6b 65 79 28 22 59 79  4e 6e 22 29 3c 33 0d 0d  |nkey("YyNn")<3..|
00001ff0  8f 05 3a 0d 0d a2 e6 dc  20 39 33 39 41 32 30 46  |..:..... 939A20F|
00002000  46 32 30 42 35 32 30 32  30 32 30 46 46 32 30 32  |F20B5202020FF202|
00002010  30 32 30 32 30 32 30 41  33 46 46 41 31 32 30 32  |0202020A3FFA1202|
00002020  30 32 30 45 42 42 37 32  30 32 30 32 30 32 30 46  |020EBB720202020F|
00002030  44 42 38 42 35 32 30 32  30 32 30 46 45 41 33 42  |DB8B5202020FEA3B|
00002040  34 30 44 30 41 39 33 39  41 32 30 46 46 32 30 42  |40D0A939A20FF20B|
00002050  35 32 30 32 30 32 30 46  46 32 30 32 30 32 30 32  |5202020FF2020202|
00002060  30 32 30 32 30 46 46 32  30 32 30 32 30 32 30 45  |02020FF20202020E|
00002070  41 42 35 32 30 32 30 32  30 32 30 46 46 32 30 42  |AB520202020FF20B|
00002080  35 32 30 32 30 32 30 46  46 41 43 42 35 30 44 30  |5202020FFACB50D0|
00002090  41 39 33 39 41 32 30 45  46 46 30 41 35 32 30 32  |A939A20EFF0A5202|
000020a0  30 32 30 46 46 46 30 42  30 32 30 32 30 32 30 32  |020FFF0B02020202|
000020b0  30 46 46 32 30 32 30 32  30 32 30 46 41 46 35 32  |0FF20202020FAF52|
000020c0  30 32 30 32 30 32 30 46  46 32 30 42 35 32 30 32  |0202020FF20B5202|
000020d0  30 32 30 46 46 32 30 42  35 0d 0d ac e6 dc 20 39  |020FF20B5..... 9|
000020e0  32 39 41 32 30 41 33 46  46 41 31 46 46 41 33 41  |29A20A3FFA1FFA3A|
000020f0  31 46 46 41 33 42 34 46  46 41 33 42 34 46 46 32  |1FFA3B4FFA3B4FF2|
00002100  30 42 35 32 30 32 30 32  30 46 46 41 33 42 34 46  |0B5202020FFA3B4F|
00002110  46 32 30 32 30 46 46 32  30 42 35 46 46 42 30 42  |F2020FF20B5FFB0B|
00002120  35 41 33 46 46 41 31 30  44 30 41 39 32 39 41 32  |5A3FFA10D0A929A2|
00002130  30 32 30 46 46 32 30 46  46 41 43 32 30 46 46 41  |020FF20FFAC20FFA|
00002140  43 42 31 46 46 41 43 42  31 41 32 41 43 42 35 32  |CB1FFACB1A2ACB52|
00002150  30 32 30 32 30 46 46 41  43 42 31 46 46 32 30 32  |02020FFACB1FF202|
00002160  30 46 46 32 30 42 35 46  46 45 44 42 35 32 30 46  |0FF20B5FFEDB520F|
00002170  46 32 30 30 44 30 41 39  32 39 41 32 30 32 30 46  |F200D0A929A2020F|
00002180  46 32 30 46 46 46 30 42  30 46 46 32 30 42 35 46  |F20FFF0B0FF20B5F|
00002190  46 32 30 42 35 45 30 46  30 41 35 32 30 32 30 32  |F20B5E0F0A520202|
000021a0  30 46 46 46 30 41 35 46  46 46 30 42 30 45 46 46  |0FFF0A5FFF0B0EFF|
000021b0  30 41 35 46 46 41 32 42  35 32 30 46 46 32 30 0d  |0A5FFA2B520FF20.|
000021c0  0d b6 43 dc 20 52 6f 6c  6c 65 72 2c 4c 65 61 70  |..C. Roller,Leap|
000021d0  65 72 2c 57 69 74 68 64  72 61 77 65 72 2c 49 6d  |er,Withdrawer,Im|
000021e0  6d 6f 62 69 6c 69 73 65  72 2c 41 6d 6f 65 62 61  |mobiliser,Amoeba|
000021f0  2c 4b 69 6e 67 2c 43 6f  2d 6f 72 64 69 6e 61 74  |,King,Co-ordinat|
00002200  6f 72 0d 0d c0 15 dc 20  32 2c 31 2c 30 2c 31 2c  |or..... 2,1,0,1,|
00002210  32 2c 30 2c 30 2c 32 0d  0d ca 15 dc 20 31 2c 32  |2,0,0,2..... 1,2|
00002220  2c 31 2c 30 2c 32 2c 32  2c 30 2c 30 0d 0d d4 1b  |,1,0,2,2,0,0....|
00002230  dc 20 32 38 2c 38 2c 32  30 2c 31 32 2c 32 34 2c  |. 28,8,20,12,24,|
00002240  32 30 2c 38 2c 31 36 0d  0d de 1d dc 20 36 38 2c  |20,8,16..... 68,|
00002250  34 38 2c 36 30 2c 36 34  2c 35 32 2c 36 30 2c 34  |48,60,64,52,60,4|
00002260  38 2c 35 36 0d 0d e8 1f  dc 20 31 36 2c 37 32 2c  |8,56..... 16,72,|
00002270  31 30 38 2c 32 37 31 2c  31 35 38 2c 2b 2b 2b 2c  |108,271,158,+++,|
00002280  33 33 35 0d ff                                    |335..|
00002285