Home » Archimedes archive » Acorn User » AU 1993-06.adf » !StarInfo_StarInfo » EightBit/Lives8

EightBit/Lives8

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 » Acorn User » AU 1993-06.adf » !StarInfo_StarInfo
Filename: EightBit/Lives8
Read OK:
File size: 18B6 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM     >Lives8 (Info20)
   20REM     Life for two challenge
   30REM By  Dave Acton
   40REM For 8-bit machines
   50REM (c) BAU June 1993
   60:
   70mode%=5
   80IF mode%=5 THEN xs%=128:xw%=10 ELSE xs%=64:xw%=20
   90MODE mode%
  100VDU 23;8202;0;0;0;19,2,2,0,0,0
  110VDU 23,224,0,3,15,31,31,63,63,63
  120VDU 23,225,0,224,248,252,252,254,254,254
  130VDU 23,226,63,63,31,31,15,3,0,0
  140VDU 23,227,254,254,252,252,248,224,0,0
  150piece$=CHR$224+CHR$225+CHR$8+CHR$8+CHR$10+CHR$226+CHR$227
  160size%=5
  170max_turn%=100
  180time_limit%=3*18000
  190DIM proc$(2),file$(2),player$(2)
  200player$(1)="Best"
  210player$(2)="Simple"
  220proc$(1)="best"
  230proc$(2)="simple"
  240DIM c%(2),board% size%*size%,new% size%*size%,games(2),time_left%(2)
  250to_play%=10
  260FOR i%=1 TO 2
  270 dummy%=EVAL("FN"+proc$(i%)+"(0,0,-1,size%,0,0)")
  280NEXT
  290first%=1
  300last%=2
  310PROCcentre("Life for two",0,7)
  320FOR x%=0 TO size%
  330 MOVE x%*xs%,0
  340 DRAW x%*xs%,64*size%
  350 MOVE 0,x%*64
  360 DRAW xs%*size%,x%*64
  370NEXT
  380FOR game%=1 TO to_play%
  390 PROCcentre(proc$(1)+" vs "+proc$(2),2,6)
  400 PROCgames_won
  410 FOR i%=0 TO size%*size%-1
  420  board%?i%=0
  430 NEXT
  440 PROCshow_board
  450 turn%=1
  460 game_over%=FALSE
  470 foul%=-1
  480 time_left%(1)=time_limit%
  490 time_left%(2)=time_limit%
  500 REPEAT
  510  IF turn%>3 PROClife
  520  IF (FNcount(1)>0 AND FNcount(2)>0) OR turn%<4 THEN PROCplay ELSE game_over%=TRUE
  530  PROCshow_board
  540  IF turn%=max_turn% game_over%=TRUE
  550 UNTIL game_over% OR foul%>-1
  560 IF foul%>-1 THEN PROCfoul ELSE PROCtally
  570 PROCgames_won
  580 temp%=first%
  590 first%=last%
  600 last%=temp%
  610NEXT
  620END
  630:
  640DEF PROCfoul
  650COLOUR 1
  660PRINTTAB(0,18)CHR$7"Foul by "proc$(foul%)SPC10
  670games(3-foul%)=games(3-foul%)+1
  680wait=INKEY(200)
  690PRINTTAB(0,18)SPC30
  700ENDPROC
  710:
  720DEF PROCtally
  730FOR player%=1 TO 2
  740 games(player%)=games(player%)+(1+SGN(FNcount(player%)-FNcount(3-player%)))/2
  750NEXT
  760ENDPROC
  770:
  780DEF PROCplay
  790FOR player%=first% TO last% STEP SGN(last%-first%)
  800 PROCturn(player%,turn%)
  810NEXT
  820turn%=turn%+1
  830ENDPROC
  840:
  850DEF FNcount(player%)
  860LOCAL c%,i%
  870FOR i%=0 TO size%*size%-1
  880 IF board%?i%=player% c%=c%+1
  890NEXT
  900=c%
  910:
  920DEF PROClife
  930LOCAL x%,y%,i%,k%,cc%
  940FOR x%=0 TO size%-1
  950 FOR y%=0 TO size%-1
  960  k%=x%+size%*y%
  970  new%?k%=board%?k%
  980  c%(1)=0
  990  c%(2)=0
 1000  FOR xx%=-1 TO 1
 1010   FOR yy%=-1 TO 1
 1020    cc%=FNcell(x%+xx%,y%+yy%)
 1030    c%(cc%)=c%(cc%)+1
 1040   NEXT
 1050  NEXT
 1060  cc%=FNcell(x%,y%)
 1070  c%(cc%)=c%(cc%)-1
 1080  IF board%?k%=0 AND c%(1)+c%(2)=3 THEN PROCnew_cell
 1090  IF c%(1)+c%(2)<2 OR c%(1)+c%(2)>3 THEN new%?k%=0
 1100 NEXT
 1110NEXT
 1120FOR i%=0 TO size%*size%-1
 1130 board%?i%=new%?i%
 1140NEXT
 1150PROCshow_board
 1160ENDPROC
 1170:
 1180DEF PROCnew_cell
 1190IF c%(1)>c%(2) THEN new%?k%=1 ELSE new%?k%=2
 1200ENDPROC
 1210:
 1220DEF FNcell(x%,y%)
 1230=board%?((x%+size%) MOD size%+size%*((y%+size%) MOD size%))
 1240:
 1250DEF PROCshow_board
 1260LOCAL i%
 1270FOR i%=0 TO size%*size%-1
 1280 PROCshow_square(i%)
 1290NEXT
 1300ENDPROC
 1310:
 1320DEF PROCshow_square(i%)
 1330LOCAL x%,y%
 1340x%=i% MOD size%
 1350y%=i% DIV size%
 1360VDU 5
 1370GCOL 0,board%?i%
 1380MOVE x%*xs%,y%*64+60
 1390PRINT piece$
 1400VDU 4
 1410ENDPROC
 1420:
 1430DEF PROCcentre(t$,y%,c%)
 1440COLOUR c%
 1450PRINTTAB(xw%-LENt$/2,y%)t$
 1460ENDPROC
 1470:
 1480DEF PROCgames_won
 1490COLOUR 3
 1500PRINTTAB(0,5)"Games"
 1510COLOUR 2
 1520FOR player%=1 TO 2
 1530 PRINTTAB(0,6+player%);player$(player%);": ";games(player%);SPC5
 1540NEXT
 1550PRINTTAB(0,10)"Played : ";game%-1;" "
 1560PRINTTAB(0,11)"To play: ";to_play%-(game%-1);" "
 1570ENDPROC
 1580:
 1590DEF PROCturn(player%,turn%)
 1600LOCAL time%
 1610IF foul%>-1 ENDPROC
 1620time%=TIME
 1630where%=EVAL("FN"+proc$(player%)+"(board%,player%,turn%,size%,first%,time_left%(player%))")
 1640time_left%(player%)=time_left%(player%)-(TIME-time%)
 1650IF time_left%(player%)<0 foul%=player%
 1660IF where%<0 OR where%>size%*size%-1 foul%=player% ELSE IF board%?where%<>0 foul%=player%
 1670IF foul%=-1 THEN board%?where%=player%:PROCshow_square(where%)
 1680ENDPROC
 1690:
 1700REM >Procs.Best8
 1710:
 1720DEF FNbest(board%,player%,turn%,size%,first%,left%)
 1730LOCAL best_score%,x%,y%,try_x%,try_y%
 1740IF turn%=-1 DIM best_brd%(size%+1,size%+1),best_brd2%(size%+1,size%+1),best_c%(2),best_t%(2),best_b%(size%,size%):=0
 1750FOR x%=0 TO size%+1
 1760 FOR y%=0 TO size%+1
 1770  best_brd%(x%,y%)=board%?((x%+size%-1) MOD size%+size%*((y%+size%-1) MOD size%))
 1780 NEXT
 1790NEXT
 1800best_score%=-9999
 1810FOR x%=1 TO size%
 1820 FOR y%=1 TO size%
 1830  best_b%(x%,y%)=-10000
 1840 NEXT
 1850NEXT
 1860FOR try_x%=1 TO size%
 1870 FOR try_y%=1 TO size%
 1880  IF best_brd%(try_x%,try_y%)=0 PROCbest_try(try_x%,try_y%)
 1890 NEXT
 1900NEXT
 1910REPEAT
 1920 x%=RND(size%)
 1930 y%=RND(size%)
 1940UNTIL best_b%(x%,y%)=best_score%
 1950=(x%-1)+size%*(y%-1)
 1960:
 1970DEF PROCbest_try(try_x%,try_y%)
 1980LOCAL x%,y%,xx%,yy%,cc%
 1990FOR x%=0 TO size%+1
 2000 FOR y%=0 TO size%+1
 2010  best_brd2%(x%,y%)=best_brd%(x%,y%)
 2020 NEXT
 2030NEXT
 2040best_t%(1)=0
 2050best_t%(2)=0
 2060best_brd2%(try_x%,try_y%)=player%
 2070FOR x%=1 TO size%
 2080 FOR y%=1 TO size%
 2090  best_c%(1)=0
 2100  best_c%(2)=0
 2110  FOR xx%=-1 TO 1
 2120   FOR yy%=-1 TO 1
 2130    cc%=best_brd2%(x%+xx%,y%+yy%)
 2140    best_c%(cc%)=best_c%(cc%)+1
 2150   NEXT
 2160  NEXT
 2170  cc%=best_brd2%(x%,y%)
 2180  best_c%(cc%)=best_c%(cc%)-1
 2190  IF best_brd2%(x%,y%)=0 AND best_c%(1)+best_c%(2)=3 PROCbest_newcell
 2200  IF best_brd2%(x%,y%)<>0 AND (best_c%(1)+best_c%(2)=2 OR best_c%(1)+best_c%(2)=3) THEN cc%=best_brd2%(x%,y%):best_t%(cc%)=best_t%(cc%)+1
 2210 NEXT
 2220NEXT
 2230best_b%(try_x%,try_y%)=best_t%(player%)-best_t%(3-player%)
 2240IF best_b%(try_x%,try_y%)>best_score% best_score%=best_b%(try_x%,try_y%)
 2250ENDPROC
 2260:
 2270DEF PROCbest_newcell
 2280IF best_c%(1)>best_c%(2) THEN best_t%(1)=best_t%(1)+1 ELSE best_t%(2)=best_t%(2)+1
 2290ENDPROC
 2300:
 2310REM >Procs.Simple8
 2320:
 2330DEF FNsimple(board%,player%,turn%,size%,first%,left%)
 2340LOCAL best_score%,x%,y%
 2350IF turn%=-1 DIM simple_c%(2),simple_k%(size%+1,size%+1),simple_brd%(size%+1,size%+1):=0
 2360FOR x%=0 TO size%+1
 2370 FOR y%=0 TO size%+1
 2380  simple_brd%(x%,y%)=board%?((x%+size%-1) MOD size%+size%*((y%+size%-1) MOD size%))
 2390 NEXT
 2400NEXT
 2410FOR x%=0 TO size%+1
 2420 FOR y%=0 TO size%+1
 2430  simple_k%(x%,y%)=0
 2440 NEXT
 2450NEXT
 2460FOR x%=1 TO size%
 2470 FOR y%=1 TO size%
 2480  IF simple_brd%(x%,y%)=0 PROCsimple_try(x%,y%) ELSE simple_k%(x%,y%)=-1000
 2490 NEXT
 2500NEXT
 2510best_score%=-1
 2520FOR x%=1 TO size%
 2530 FOR y%=1 TO size%
 2540  IF simple_brd%(x%,y%)=0 AND simple_k%(x%,y%)>best_score% best_score%=simple_k%(x%,y%)
 2550 NEXT
 2560NEXT
 2570REPEAT
 2580 x%=RND(size%)
 2590 y%=RND(size%)
 2600UNTIL simple_k%(x%,y%)=best_score%
 2610=(x%-1)+size%*(y%-1)
 2620:
 2630DEF PROCsimple_try(x%,y%)
 2640LOCAL xx%,yy%,cc%
 2650simple_c%(1)=0
 2660simple_c%(2)=0
 2670FOR xx%=-1 TO 1
 2680 FOR yy%=-1 TO 1
 2690  cc%=simple_brd%(x%+xx%,y%+yy%)
 2700  simple_c%(cc%)=simple_c%(cc%)+1
 2710 NEXT
 2720NEXT
 2730cc%=simple_brd%(x%,y%)
 2740simple_c%(cc%)=simple_c%(cc%)-1
 2750IF NOT ((simple_c%(1)=1 AND simple_c%(2)=1) OR (simple_c%(player%)=2 AND simple_c%(3-player%)=0)) ENDPROC
 2760FOR xx%=-1 TO 1
 2770 FOR yy%=-1 TO 1
 2780  simple_k%(x%+xx%,y%+yy%)=simple_k%(x%+xx%,y%+yy%)+1
 2790 NEXT
 2800NEXT
 2810simple_k%(x%,y%)=simple_k%(x%,y%)-1
 2820ENDPROC

�     >Lives8 (Info20)
 �     Life for two challenge
� By  Dave Acton
(� For 8-bit machines
2� (c) BAU June 1993
<:
Fmode%=5
P.� mode%=5 � xs%=128:xw%=10 � xs%=64:xw%=20
Z� mode%
d � 23;8202;0;0;0;19,2,2,0,0,0
n"� 23,224,0,3,15,31,31,63,63,63
x*� 23,225,0,224,248,252,252,254,254,254
�!� 23,226,63,63,31,31,15,3,0,0
�(� 23,227,254,254,252,252,248,224,0,0
�(piece$=�224+�225+�8+�8+�10+�226+�227
�size%=5
�max_turn%=100
�time_limit%=3*18000
�"� proc$(2),file$(2),player$(2)
�player$(1)="Best"
�player$(2)="Simple"
�proc$(1)="best"
�proc$(2)="simple"
�F� c%(2),board% size%*size%,new% size%*size%,games(2),time_left%(2)
�to_play%=10
� i%=1 � 2
2 dummy%=�("FN"+proc$(i%)+"(0,0,-1,size%,0,0)")
�
"first%=1
,last%=2
6�centre("Life for two",0,7)
@� x%=0 � size%
J � x%*xs%,0
T � x%*xs%,64*size%
^ � 0,x%*64
h � xs%*size%,x%*64
r�
|� game%=1 � to_play%
�* �centre(proc$(1)+" vs "+proc$(2),2,6)
� �games_won
� � i%=0 � size%*size%-1
�  board%?i%=0
� �
� �show_board
� turn%=1
� game_over%=�
�
 foul%=-1
� time_left%(1)=time_limit%
� time_left%(2)=time_limit%
� �
�  � turn%>3 �life
D  � (�count(1)>0 � �count(2)>0) � turn%<4 � �play � game_over%=�
  �show_board
$  � turn%=max_turn% game_over%=�
& � game_over% � foul%>-1
0  � foul%>-1 � �foul � �tally
: �games_won
D temp%=first%
N first%=last%
X last%=temp%
b�
l�
v:
�� �foul
�� 1
�&�0,18)�7"Foul by "proc$(foul%)�10
�#games(3-foul%)=games(3-foul%)+1
�wait=�(200)
��0,18)�30
��
�:
�� �tally
�� player%=1 � 2
�M games(player%)=games(player%)+(1+�(�count(player%)-�count(3-player%)))/2
��
��
:
� �play
.� player%=first% � last% � �(last%-first%)
  �turn(player%,turn%)
*�
4turn%=turn%+1
>�
H:
R� �count(player%)
\� c%,i%
f� i%=0 � size%*size%-1
p  � board%?i%=player% c%=c%+1
z�
�=c%
�:
�� �life
�� x%,y%,i%,k%,cc%
�� x%=0 � size%-1
� � y%=0 � size%-1
�  k%=x%+size%*y%
�  new%?k%=board%?k%
�
  c%(1)=0
�
  c%(2)=0
�  � xx%=-1 � 1
�   � yy%=-1 � 1
�     cc%=�cell(x%+xx%,y%+yy%)
    c%(cc%)=c%(cc%)+1
   �
  �
$  cc%=�cell(x%,y%)
.  c%(cc%)=c%(cc%)-1
8/  � board%?k%=0 � c%(1)+c%(2)=3 � �new_cell
B1  � c%(1)+c%(2)<2 � c%(1)+c%(2)>3 � new%?k%=0
L �
V�
`� i%=0 � size%*size%-1
j board%?i%=new%?i%
t�
~�show_board
��
�:
�� �new_cell
�)� c%(1)>c%(2) � new%?k%=1 � new%?k%=2
��
�:
�� �cell(x%,y%)
�;=board%?((x%+size%) � size%+size%*((y%+size%) � size%))
�:
�� �show_board
�� i%
�� i%=0 � size%*size%-1
 �show_square(i%)

�
�
:
(� �show_square(i%)
2� x%,y%
<x%=i% � size%
Fy%=i% � size%
P� 5
Z� 0,board%?i%
d� x%*xs%,y%*64+60
n� piece$
x� 4
��
�:
�� �centre(t$,y%,c%)
�� c%
��xw%-�t$/2,y%)t$
��
�:
�� �games_won
�� 3
��0,5)"Games"
�� 2
�� player%=1 � 2
�; �0,6+player%);player$(player%);": ";games(player%);�5
�
"�0,10)"Played : ";game%-1;" "
-�0,11)"To play: ";to_play%-(game%-1);" "
"�
,:
6� �turn(player%,turn%)
@� time%
J� foul%>-1 �
Ttime%=�
^[where%=�("FN"+proc$(player%)+"(board%,player%,turn%,size%,first%,time_left%(player%))")
h5time_left%(player%)=time_left%(player%)-(�-time%)
r)� time_left%(player%)<0 foul%=player%
|V� where%<0 � where%>size%*size%-1 foul%=player% � � board%?where%<>0 foul%=player%
�;� foul%=-1 � board%?where%=player%:�show_square(where%)
��
�:
�� >Procs.Best8
�:
�4� �best(board%,player%,turn%,size%,first%,left%)
�%� best_score%,x%,y%,try_x%,try_y%
�u� turn%=-1 � best_brd%(size%+1,size%+1),best_brd2%(size%+1,size%+1),best_c%(2),best_t%(2),best_b%(size%,size%):=0
�� x%=0 � size%+1
� � y%=0 � size%+1
�Q  best_brd%(x%,y%)=board%?((x%+size%-1) � size%+size%*((y%+size%-1) � size%))
� �
��
best_score%=-9999
� x%=1 � size%
 � y%=1 � size%
&  best_b%(x%,y%)=-10000
0 �
:�
D� try_x%=1 � size%
N � try_y%=1 � size%
X;  � best_brd%(try_x%,try_y%)=0 �best_try(try_x%,try_y%)
b �
l�
v�
� x%=�(size%)
� y%=�(size%)
� � best_b%(x%,y%)=best_score%
�=(x%-1)+size%*(y%-1)
�:
�� �best_try(try_x%,try_y%)
�� x%,y%,xx%,yy%,cc%
�� x%=0 � size%+1
� � y%=0 � size%+1
�(  best_brd2%(x%,y%)=best_brd%(x%,y%)
� �
��
�best_t%(1)=0
best_t%(2)=0
%best_brd2%(try_x%,try_y%)=player%
� x%=1 � size%
  � y%=1 � size%
*  best_c%(1)=0
4  best_c%(2)=0
>  � xx%=-1 � 1
H   � yy%=-1 � 1
R%    cc%=best_brd2%(x%+xx%,y%+yy%)
\#    best_c%(cc%)=best_c%(cc%)+1
f   �
p  �
z  cc%=best_brd2%(x%,y%)
�!  best_c%(cc%)=best_c%(cc%)-1
�C  � best_brd2%(x%,y%)=0 � best_c%(1)+best_c%(2)=3 �best_newcell
��  � best_brd2%(x%,y%)<>0 � (best_c%(1)+best_c%(2)=2 � best_c%(1)+best_c%(2)=3) � cc%=best_brd2%(x%,y%):best_t%(cc%)=best_t%(cc%)+1
� �
��
�>best_b%(try_x%,try_y%)=best_t%(player%)-best_t%(3-player%)
�K� best_b%(try_x%,try_y%)>best_score% best_score%=best_b%(try_x%,try_y%)
��
�:
�� �best_newcell
�O� best_c%(1)>best_c%(2) � best_t%(1)=best_t%(1)+1 � best_t%(2)=best_t%(2)+1
��
�:
	� >Procs.Simple8
	:
	6� �simple(board%,player%,turn%,size%,first%,left%)
	$� best_score%,x%,y%
	.X� turn%=-1 � simple_c%(2),simple_k%(size%+1,size%+1),simple_brd%(size%+1,size%+1):=0
	8� x%=0 � size%+1
	B � y%=0 � size%+1
	LS  simple_brd%(x%,y%)=board%?((x%+size%-1) � size%+size%*((y%+size%-1) � size%))
	V �
	`�
	j� x%=0 � size%+1
	t � y%=0 � size%+1
	~  simple_k%(x%,y%)=0
	� �
	��
	�� x%=1 � size%
	� � y%=1 � size%
	�H  � simple_brd%(x%,y%)=0 �simple_try(x%,y%) � simple_k%(x%,y%)=-1000
	� �
	��
	�best_score%=-1
	�� x%=1 � size%
	� � y%=1 � size%
	�X  � simple_brd%(x%,y%)=0 � simple_k%(x%,y%)>best_score% best_score%=simple_k%(x%,y%)
	� �
�

�
 x%=�(size%)
 y%=�(size%)
("� simple_k%(x%,y%)=best_score%
2=(x%-1)+size%*(y%-1)
<:
F� �simple_try(x%,y%)
P� xx%,yy%,cc%
Zsimple_c%(1)=0
dsimple_c%(2)=0
n� xx%=-1 � 1
x � yy%=-1 � 1
�$  cc%=simple_brd%(x%+xx%,y%+yy%)
�%  simple_c%(cc%)=simple_c%(cc%)+1
� �
��
�cc%=simple_brd%(x%,y%)
�#simple_c%(cc%)=simple_c%(cc%)-1
�_� � ((simple_c%(1)=1 � simple_c%(2)=1) � (simple_c%(player%)=2 � simple_c%(3-player%)=0)) �
�� xx%=-1 � 1
� � yy%=-1 � 1
�9  simple_k%(x%+xx%,y%+yy%)=simple_k%(x%+xx%,y%+yy%)+1
� �
��
�'simple_k%(x%,y%)=simple_k%(x%,y%)-1
�
�
00000000  0d 00 0a 1a f4 20 20 20  20 20 3e 4c 69 76 65 73  |.....     >Lives|
00000010  38 20 28 49 6e 66 6f 32  30 29 0d 00 14 20 f4 20  |8 (Info20)... . |
00000020  20 20 20 20 4c 69 66 65  20 66 6f 72 20 74 77 6f  |    Life for two|
00000030  20 63 68 61 6c 6c 65 6e  67 65 0d 00 1e 14 f4 20  | challenge..... |
00000040  42 79 20 20 44 61 76 65  20 41 63 74 6f 6e 0d 00  |By  Dave Acton..|
00000050  28 18 f4 20 46 6f 72 20  38 2d 62 69 74 20 6d 61  |(.. For 8-bit ma|
00000060  63 68 69 6e 65 73 0d 00  32 17 f4 20 28 63 29 20  |chines..2.. (c) |
00000070  42 41 55 20 4a 75 6e 65  20 31 39 39 33 0d 00 3c  |BAU June 1993..<|
00000080  05 3a 0d 00 46 0b 6d 6f  64 65 25 3d 35 0d 00 50  |.:..F.mode%=5..P|
00000090  2e e7 20 6d 6f 64 65 25  3d 35 20 8c 20 78 73 25  |.. mode%=5 . xs%|
000000a0  3d 31 32 38 3a 78 77 25  3d 31 30 20 8b 20 78 73  |=128:xw%=10 . xs|
000000b0  25 3d 36 34 3a 78 77 25  3d 32 30 0d 00 5a 0b eb  |%=64:xw%=20..Z..|
000000c0  20 6d 6f 64 65 25 0d 00  64 20 ef 20 32 33 3b 38  | mode%..d . 23;8|
000000d0  32 30 32 3b 30 3b 30 3b  30 3b 31 39 2c 32 2c 32  |202;0;0;0;19,2,2|
000000e0  2c 30 2c 30 2c 30 0d 00  6e 22 ef 20 32 33 2c 32  |,0,0,0..n". 23,2|
000000f0  32 34 2c 30 2c 33 2c 31  35 2c 33 31 2c 33 31 2c  |24,0,3,15,31,31,|
00000100  36 33 2c 36 33 2c 36 33  0d 00 78 2a ef 20 32 33  |63,63,63..x*. 23|
00000110  2c 32 32 35 2c 30 2c 32  32 34 2c 32 34 38 2c 32  |,225,0,224,248,2|
00000120  35 32 2c 32 35 32 2c 32  35 34 2c 32 35 34 2c 32  |52,252,254,254,2|
00000130  35 34 0d 00 82 21 ef 20  32 33 2c 32 32 36 2c 36  |54...!. 23,226,6|
00000140  33 2c 36 33 2c 33 31 2c  33 31 2c 31 35 2c 33 2c  |3,63,31,31,15,3,|
00000150  30 2c 30 0d 00 8c 28 ef  20 32 33 2c 32 32 37 2c  |0,0...(. 23,227,|
00000160  32 35 34 2c 32 35 34 2c  32 35 32 2c 32 35 32 2c  |254,254,252,252,|
00000170  32 34 38 2c 32 32 34 2c  30 2c 30 0d 00 96 28 70  |248,224,0,0...(p|
00000180  69 65 63 65 24 3d bd 32  32 34 2b bd 32 32 35 2b  |iece$=.224+.225+|
00000190  bd 38 2b bd 38 2b bd 31  30 2b bd 32 32 36 2b bd  |.8+.8+.10+.226+.|
000001a0  32 32 37 0d 00 a0 0b 73  69 7a 65 25 3d 35 0d 00  |227....size%=5..|
000001b0  aa 11 6d 61 78 5f 74 75  72 6e 25 3d 31 30 30 0d  |..max_turn%=100.|
000001c0  00 b4 17 74 69 6d 65 5f  6c 69 6d 69 74 25 3d 33  |...time_limit%=3|
000001d0  2a 31 38 30 30 30 0d 00  be 22 de 20 70 72 6f 63  |*18000...". proc|
000001e0  24 28 32 29 2c 66 69 6c  65 24 28 32 29 2c 70 6c  |$(2),file$(2),pl|
000001f0  61 79 65 72 24 28 32 29  0d 00 c8 15 70 6c 61 79  |ayer$(2)....play|
00000200  65 72 24 28 31 29 3d 22  42 65 73 74 22 0d 00 d2  |er$(1)="Best"...|
00000210  17 70 6c 61 79 65 72 24  28 32 29 3d 22 53 69 6d  |.player$(2)="Sim|
00000220  70 6c 65 22 0d 00 dc 13  70 72 6f 63 24 28 31 29  |ple"....proc$(1)|
00000230  3d 22 62 65 73 74 22 0d  00 e6 15 70 72 6f 63 24  |="best"....proc$|
00000240  28 32 29 3d 22 73 69 6d  70 6c 65 22 0d 00 f0 46  |(2)="simple"...F|
00000250  de 20 63 25 28 32 29 2c  62 6f 61 72 64 25 20 73  |. c%(2),board% s|
00000260  69 7a 65 25 2a 73 69 7a  65 25 2c 6e 65 77 25 20  |ize%*size%,new% |
00000270  73 69 7a 65 25 2a 73 69  7a 65 25 2c 67 61 6d 65  |size%*size%,game|
00000280  73 28 32 29 2c 74 69 6d  65 5f 6c 65 66 74 25 28  |s(2),time_left%(|
00000290  32 29 0d 00 fa 0f 74 6f  5f 70 6c 61 79 25 3d 31  |2)....to_play%=1|
000002a0  30 0d 01 04 0e e3 20 69  25 3d 31 20 b8 20 32 0d  |0..... i%=1 . 2.|
000002b0  01 0e 32 20 64 75 6d 6d  79 25 3d a0 28 22 46 4e  |..2 dummy%=.("FN|
000002c0  22 2b 70 72 6f 63 24 28  69 25 29 2b 22 28 30 2c  |"+proc$(i%)+"(0,|
000002d0  30 2c 2d 31 2c 73 69 7a  65 25 2c 30 2c 30 29 22  |0,-1,size%,0,0)"|
000002e0  29 0d 01 18 05 ed 0d 01  22 0c 66 69 72 73 74 25  |).......".first%|
000002f0  3d 31 0d 01 2c 0b 6c 61  73 74 25 3d 32 0d 01 36  |=1..,.last%=2..6|
00000300  1f f2 63 65 6e 74 72 65  28 22 4c 69 66 65 20 66  |..centre("Life f|
00000310  6f 72 20 74 77 6f 22 2c  30 2c 37 29 0d 01 40 12  |or two",0,7)..@.|
00000320  e3 20 78 25 3d 30 20 b8  20 73 69 7a 65 25 0d 01  |. x%=0 . size%..|
00000330  4a 0f 20 ec 20 78 25 2a  78 73 25 2c 30 0d 01 54  |J. . x%*xs%,0..T|
00000340  16 20 df 20 78 25 2a 78  73 25 2c 36 34 2a 73 69  |. . x%*xs%,64*si|
00000350  7a 65 25 0d 01 5e 0e 20  ec 20 30 2c 78 25 2a 36  |ze%..^. . 0,x%*6|
00000360  34 0d 01 68 16 20 df 20  78 73 25 2a 73 69 7a 65  |4..h. . xs%*size|
00000370  25 2c 78 25 2a 36 34 0d  01 72 05 ed 0d 01 7c 18  |%,x%*64..r....|.|
00000380  e3 20 67 61 6d 65 25 3d  31 20 b8 20 74 6f 5f 70  |. game%=1 . to_p|
00000390  6c 61 79 25 0d 01 86 2a  20 f2 63 65 6e 74 72 65  |lay%...* .centre|
000003a0  28 70 72 6f 63 24 28 31  29 2b 22 20 76 73 20 22  |(proc$(1)+" vs "|
000003b0  2b 70 72 6f 63 24 28 32  29 2c 32 2c 36 29 0d 01  |+proc$(2),2,6)..|
000003c0  90 0f 20 f2 67 61 6d 65  73 5f 77 6f 6e 0d 01 9a  |.. .games_won...|
000003d0  1b 20 e3 20 69 25 3d 30  20 b8 20 73 69 7a 65 25  |. . i%=0 . size%|
000003e0  2a 73 69 7a 65 25 2d 31  0d 01 a4 11 20 20 62 6f  |*size%-1....  bo|
000003f0  61 72 64 25 3f 69 25 3d  30 0d 01 ae 06 20 ed 0d  |ard%?i%=0.... ..|
00000400  01 b8 10 20 f2 73 68 6f  77 5f 62 6f 61 72 64 0d  |... .show_board.|
00000410  01 c2 0c 20 74 75 72 6e  25 3d 31 0d 01 cc 11 20  |... turn%=1.... |
00000420  67 61 6d 65 5f 6f 76 65  72 25 3d a3 0d 01 d6 0d  |game_over%=.....|
00000430  20 66 6f 75 6c 25 3d 2d  31 0d 01 e0 1e 20 74 69  | foul%=-1.... ti|
00000440  6d 65 5f 6c 65 66 74 25  28 31 29 3d 74 69 6d 65  |me_left%(1)=time|
00000450  5f 6c 69 6d 69 74 25 0d  01 ea 1e 20 74 69 6d 65  |_limit%.... time|
00000460  5f 6c 65 66 74 25 28 32  29 3d 74 69 6d 65 5f 6c  |_left%(2)=time_l|
00000470  69 6d 69 74 25 0d 01 f4  06 20 f5 0d 01 fe 15 20  |imit%.... ..... |
00000480  20 e7 20 74 75 72 6e 25  3e 33 20 f2 6c 69 66 65  | . turn%>3 .life|
00000490  0d 02 08 44 20 20 e7 20  28 a4 63 6f 75 6e 74 28  |...D  . (.count(|
000004a0  31 29 3e 30 20 80 20 a4  63 6f 75 6e 74 28 32 29  |1)>0 . .count(2)|
000004b0  3e 30 29 20 84 20 74 75  72 6e 25 3c 34 20 8c 20  |>0) . turn%<4 . |
000004c0  f2 70 6c 61 79 20 8b 20  67 61 6d 65 5f 6f 76 65  |.play . game_ove|
000004d0  72 25 3d b9 0d 02 12 11  20 20 f2 73 68 6f 77 5f  |r%=.....  .show_|
000004e0  62 6f 61 72 64 0d 02 1c  24 20 20 e7 20 74 75 72  |board...$  . tur|
000004f0  6e 25 3d 6d 61 78 5f 74  75 72 6e 25 20 67 61 6d  |n%=max_turn% gam|
00000500  65 5f 6f 76 65 72 25 3d  b9 0d 02 26 1c 20 fd 20  |e_over%=...&. . |
00000510  67 61 6d 65 5f 6f 76 65  72 25 20 84 20 66 6f 75  |game_over% . fou|
00000520  6c 25 3e 2d 31 0d 02 30  20 20 e7 20 66 6f 75 6c  |l%>-1..0  . foul|
00000530  25 3e 2d 31 20 8c 20 f2  66 6f 75 6c 20 8b 20 f2  |%>-1 . .foul . .|
00000540  74 61 6c 6c 79 0d 02 3a  0f 20 f2 67 61 6d 65 73  |tally..:. .games|
00000550  5f 77 6f 6e 0d 02 44 11  20 74 65 6d 70 25 3d 66  |_won..D. temp%=f|
00000560  69 72 73 74 25 0d 02 4e  11 20 66 69 72 73 74 25  |irst%..N. first%|
00000570  3d 6c 61 73 74 25 0d 02  58 10 20 6c 61 73 74 25  |=last%..X. last%|
00000580  3d 74 65 6d 70 25 0d 02  62 05 ed 0d 02 6c 05 e0  |=temp%..b....l..|
00000590  0d 02 76 05 3a 0d 02 80  0b dd 20 f2 66 6f 75 6c  |..v.:..... .foul|
000005a0  0d 02 8a 07 fb 20 31 0d  02 94 26 f1 8a 30 2c 31  |..... 1...&..0,1|
000005b0  38 29 bd 37 22 46 6f 75  6c 20 62 79 20 22 70 72  |8).7"Foul by "pr|
000005c0  6f 63 24 28 66 6f 75 6c  25 29 89 31 30 0d 02 9e  |oc$(foul%).10...|
000005d0  23 67 61 6d 65 73 28 33  2d 66 6f 75 6c 25 29 3d  |#games(3-foul%)=|
000005e0  67 61 6d 65 73 28 33 2d  66 6f 75 6c 25 29 2b 31  |games(3-foul%)+1|
000005f0  0d 02 a8 0f 77 61 69 74  3d a6 28 32 30 30 29 0d  |....wait=.(200).|
00000600  02 b2 0e f1 8a 30 2c 31  38 29 89 33 30 0d 02 bc  |.....0,18).30...|
00000610  05 e1 0d 02 c6 05 3a 0d  02 d0 0c dd 20 f2 74 61  |......:..... .ta|
00000620  6c 6c 79 0d 02 da 13 e3  20 70 6c 61 79 65 72 25  |lly..... player%|
00000630  3d 31 20 b8 20 32 0d 02  e4 4d 20 67 61 6d 65 73  |=1 . 2...M games|
00000640  28 70 6c 61 79 65 72 25  29 3d 67 61 6d 65 73 28  |(player%)=games(|
00000650  70 6c 61 79 65 72 25 29  2b 28 31 2b b4 28 a4 63  |player%)+(1+.(.c|
00000660  6f 75 6e 74 28 70 6c 61  79 65 72 25 29 2d a4 63  |ount(player%)-.c|
00000670  6f 75 6e 74 28 33 2d 70  6c 61 79 65 72 25 29 29  |ount(3-player%))|
00000680  29 2f 32 0d 02 ee 05 ed  0d 02 f8 05 e1 0d 03 02  |)/2.............|
00000690  05 3a 0d 03 0c 0b dd 20  f2 70 6c 61 79 0d 03 16  |.:..... .play...|
000006a0  2e e3 20 70 6c 61 79 65  72 25 3d 66 69 72 73 74  |.. player%=first|
000006b0  25 20 b8 20 6c 61 73 74  25 20 88 20 b4 28 6c 61  |% . last% . .(la|
000006c0  73 74 25 2d 66 69 72 73  74 25 29 0d 03 20 19 20  |st%-first%).. . |
000006d0  f2 74 75 72 6e 28 70 6c  61 79 65 72 25 2c 74 75  |.turn(player%,tu|
000006e0  72 6e 25 29 0d 03 2a 05  ed 0d 03 34 11 74 75 72  |rn%)..*....4.tur|
000006f0  6e 25 3d 74 75 72 6e 25  2b 31 0d 03 3e 05 e1 0d  |n%=turn%+1..>...|
00000700  03 48 05 3a 0d 03 52 15  dd 20 a4 63 6f 75 6e 74  |.H.:..R.. .count|
00000710  28 70 6c 61 79 65 72 25  29 0d 03 5c 0b ea 20 63  |(player%)..\.. c|
00000720  25 2c 69 25 0d 03 66 1a  e3 20 69 25 3d 30 20 b8  |%,i%..f.. i%=0 .|
00000730  20 73 69 7a 65 25 2a 73  69 7a 65 25 2d 31 0d 03  | size%*size%-1..|
00000740  70 20 20 e7 20 62 6f 61  72 64 25 3f 69 25 3d 70  |p  . board%?i%=p|
00000750  6c 61 79 65 72 25 20 63  25 3d 63 25 2b 31 0d 03  |layer% c%=c%+1..|
00000760  7a 05 ed 0d 03 84 07 3d  63 25 0d 03 8e 05 3a 0d  |z......=c%....:.|
00000770  03 98 0b dd 20 f2 6c 69  66 65 0d 03 a2 15 ea 20  |.... .life..... |
00000780  78 25 2c 79 25 2c 69 25  2c 6b 25 2c 63 63 25 0d  |x%,y%,i%,k%,cc%.|
00000790  03 ac 14 e3 20 78 25 3d  30 20 b8 20 73 69 7a 65  |.... x%=0 . size|
000007a0  25 2d 31 0d 03 b6 15 20  e3 20 79 25 3d 30 20 b8  |%-1.... . y%=0 .|
000007b0  20 73 69 7a 65 25 2d 31  0d 03 c0 14 20 20 6b 25  | size%-1....  k%|
000007c0  3d 78 25 2b 73 69 7a 65  25 2a 79 25 0d 03 ca 17  |=x%+size%*y%....|
000007d0  20 20 6e 65 77 25 3f 6b  25 3d 62 6f 61 72 64 25  |  new%?k%=board%|
000007e0  3f 6b 25 0d 03 d4 0d 20  20 63 25 28 31 29 3d 30  |?k%....  c%(1)=0|
000007f0  0d 03 de 0d 20 20 63 25  28 32 29 3d 30 0d 03 e8  |....  c%(2)=0...|
00000800  12 20 20 e3 20 78 78 25  3d 2d 31 20 b8 20 31 0d  |.  . xx%=-1 . 1.|
00000810  03 f2 13 20 20 20 e3 20  79 79 25 3d 2d 31 20 b8  |...   . yy%=-1 .|
00000820  20 31 0d 03 fc 20 20 20  20 20 63 63 25 3d a4 63  | 1...     cc%=.c|
00000830  65 6c 6c 28 78 25 2b 78  78 25 2c 79 25 2b 79 79  |ell(x%+xx%,y%+yy|
00000840  25 29 0d 04 06 19 20 20  20 20 63 25 28 63 63 25  |%)....    c%(cc%|
00000850  29 3d 63 25 28 63 63 25  29 2b 31 0d 04 10 08 20  |)=c%(cc%)+1.... |
00000860  20 20 ed 0d 04 1a 07 20  20 ed 0d 04 24 16 20 20  |  .....  ...$.  |
00000870  63 63 25 3d a4 63 65 6c  6c 28 78 25 2c 79 25 29  |cc%=.cell(x%,y%)|
00000880  0d 04 2e 17 20 20 63 25  28 63 63 25 29 3d 63 25  |....  c%(cc%)=c%|
00000890  28 63 63 25 29 2d 31 0d  04 38 2f 20 20 e7 20 62  |(cc%)-1..8/  . b|
000008a0  6f 61 72 64 25 3f 6b 25  3d 30 20 80 20 63 25 28  |oard%?k%=0 . c%(|
000008b0  31 29 2b 63 25 28 32 29  3d 33 20 8c 20 f2 6e 65  |1)+c%(2)=3 . .ne|
000008c0  77 5f 63 65 6c 6c 0d 04  42 31 20 20 e7 20 63 25  |w_cell..B1  . c%|
000008d0  28 31 29 2b 63 25 28 32  29 3c 32 20 84 20 63 25  |(1)+c%(2)<2 . c%|
000008e0  28 31 29 2b 63 25 28 32  29 3e 33 20 8c 20 6e 65  |(1)+c%(2)>3 . ne|
000008f0  77 25 3f 6b 25 3d 30 0d  04 4c 06 20 ed 0d 04 56  |w%?k%=0..L. ...V|
00000900  05 ed 0d 04 60 1a e3 20  69 25 3d 30 20 b8 20 73  |....`.. i%=0 . s|
00000910  69 7a 65 25 2a 73 69 7a  65 25 2d 31 0d 04 6a 16  |ize%*size%-1..j.|
00000920  20 62 6f 61 72 64 25 3f  69 25 3d 6e 65 77 25 3f  | board%?i%=new%?|
00000930  69 25 0d 04 74 05 ed 0d  04 7e 0f f2 73 68 6f 77  |i%..t....~..show|
00000940  5f 62 6f 61 72 64 0d 04  88 05 e1 0d 04 92 05 3a  |_board.........:|
00000950  0d 04 9c 0f dd 20 f2 6e  65 77 5f 63 65 6c 6c 0d  |..... .new_cell.|
00000960  04 a6 29 e7 20 63 25 28  31 29 3e 63 25 28 32 29  |..). c%(1)>c%(2)|
00000970  20 8c 20 6e 65 77 25 3f  6b 25 3d 31 20 8b 20 6e  | . new%?k%=1 . n|
00000980  65 77 25 3f 6b 25 3d 32  0d 04 b0 05 e1 0d 04 ba  |ew%?k%=2........|
00000990  05 3a 0d 04 c4 12 dd 20  a4 63 65 6c 6c 28 78 25  |.:..... .cell(x%|
000009a0  2c 79 25 29 0d 04 ce 3b  3d 62 6f 61 72 64 25 3f  |,y%)...;=board%?|
000009b0  28 28 78 25 2b 73 69 7a  65 25 29 20 83 20 73 69  |((x%+size%) . si|
000009c0  7a 65 25 2b 73 69 7a 65  25 2a 28 28 79 25 2b 73  |ze%+size%*((y%+s|
000009d0  69 7a 65 25 29 20 83 20  73 69 7a 65 25 29 29 0d  |ize%) . size%)).|
000009e0  04 d8 05 3a 0d 04 e2 11  dd 20 f2 73 68 6f 77 5f  |...:..... .show_|
000009f0  62 6f 61 72 64 0d 04 ec  08 ea 20 69 25 0d 04 f6  |board..... i%...|
00000a00  1a e3 20 69 25 3d 30 20  b8 20 73 69 7a 65 25 2a  |.. i%=0 . size%*|
00000a10  73 69 7a 65 25 2d 31 0d  05 00 15 20 f2 73 68 6f  |size%-1.... .sho|
00000a20  77 5f 73 71 75 61 72 65  28 69 25 29 0d 05 0a 05  |w_square(i%)....|
00000a30  ed 0d 05 14 05 e1 0d 05  1e 05 3a 0d 05 28 16 dd  |..........:..(..|
00000a40  20 f2 73 68 6f 77 5f 73  71 75 61 72 65 28 69 25  | .show_square(i%|
00000a50  29 0d 05 32 0b ea 20 78  25 2c 79 25 0d 05 3c 11  |)..2.. x%,y%..<.|
00000a60  78 25 3d 69 25 20 83 20  73 69 7a 65 25 0d 05 46  |x%=i% . size%..F|
00000a70  11 79 25 3d 69 25 20 81  20 73 69 7a 65 25 0d 05  |.y%=i% . size%..|
00000a80  50 07 ef 20 35 0d 05 5a  11 e6 20 30 2c 62 6f 61  |P.. 5..Z.. 0,boa|
00000a90  72 64 25 3f 69 25 0d 05  64 15 ec 20 78 25 2a 78  |rd%?i%..d.. x%*x|
00000aa0  73 25 2c 79 25 2a 36 34  2b 36 30 0d 05 6e 0c f1  |s%,y%*64+60..n..|
00000ab0  20 70 69 65 63 65 24 0d  05 78 07 ef 20 34 0d 05  | piece$..x.. 4..|
00000ac0  82 05 e1 0d 05 8c 05 3a  0d 05 96 17 dd 20 f2 63  |.......:..... .c|
00000ad0  65 6e 74 72 65 28 74 24  2c 79 25 2c 63 25 29 0d  |entre(t$,y%,c%).|
00000ae0  05 a0 08 fb 20 63 25 0d  05 aa 15 f1 8a 78 77 25  |.... c%......xw%|
00000af0  2d a9 74 24 2f 32 2c 79  25 29 74 24 0d 05 b4 05  |-.t$/2,y%)t$....|
00000b00  e1 0d 05 be 05 3a 0d 05  c8 10 dd 20 f2 67 61 6d  |.....:..... .gam|
00000b10  65 73 5f 77 6f 6e 0d 05  d2 07 fb 20 33 0d 05 dc  |es_won..... 3...|
00000b20  11 f1 8a 30 2c 35 29 22  47 61 6d 65 73 22 0d 05  |...0,5)"Games"..|
00000b30  e6 07 fb 20 32 0d 05 f0  13 e3 20 70 6c 61 79 65  |... 2..... playe|
00000b40  72 25 3d 31 20 b8 20 32  0d 05 fa 3b 20 f1 8a 30  |r%=1 . 2...; ..0|
00000b50  2c 36 2b 70 6c 61 79 65  72 25 29 3b 70 6c 61 79  |,6+player%);play|
00000b60  65 72 24 28 70 6c 61 79  65 72 25 29 3b 22 3a 20  |er$(player%);": |
00000b70  22 3b 67 61 6d 65 73 28  70 6c 61 79 65 72 25 29  |";games(player%)|
00000b80  3b 89 35 0d 06 04 05 ed  0d 06 0e 22 f1 8a 30 2c  |;.5........"..0,|
00000b90  31 30 29 22 50 6c 61 79  65 64 20 3a 20 22 3b 67  |10)"Played : ";g|
00000ba0  61 6d 65 25 2d 31 3b 22  20 22 0d 06 18 2d f1 8a  |ame%-1;" "...-..|
00000bb0  30 2c 31 31 29 22 54 6f  20 70 6c 61 79 3a 20 22  |0,11)"To play: "|
00000bc0  3b 74 6f 5f 70 6c 61 79  25 2d 28 67 61 6d 65 25  |;to_play%-(game%|
00000bd0  2d 31 29 3b 22 20 22 0d  06 22 05 e1 0d 06 2c 05  |-1);" ".."....,.|
00000be0  3a 0d 06 36 1a dd 20 f2  74 75 72 6e 28 70 6c 61  |:..6.. .turn(pla|
00000bf0  79 65 72 25 2c 74 75 72  6e 25 29 0d 06 40 0b ea  |yer%,turn%)..@..|
00000c00  20 74 69 6d 65 25 0d 06  4a 10 e7 20 66 6f 75 6c  | time%..J.. foul|
00000c10  25 3e 2d 31 20 e1 0d 06  54 0b 74 69 6d 65 25 3d  |%>-1 ...T.time%=|
00000c20  91 0d 06 5e 5b 77 68 65  72 65 25 3d a0 28 22 46  |...^[where%=.("F|
00000c30  4e 22 2b 70 72 6f 63 24  28 70 6c 61 79 65 72 25  |N"+proc$(player%|
00000c40  29 2b 22 28 62 6f 61 72  64 25 2c 70 6c 61 79 65  |)+"(board%,playe|
00000c50  72 25 2c 74 75 72 6e 25  2c 73 69 7a 65 25 2c 66  |r%,turn%,size%,f|
00000c60  69 72 73 74 25 2c 74 69  6d 65 5f 6c 65 66 74 25  |irst%,time_left%|
00000c70  28 70 6c 61 79 65 72 25  29 29 22 29 0d 06 68 35  |(player%))")..h5|
00000c80  74 69 6d 65 5f 6c 65 66  74 25 28 70 6c 61 79 65  |time_left%(playe|
00000c90  72 25 29 3d 74 69 6d 65  5f 6c 65 66 74 25 28 70  |r%)=time_left%(p|
00000ca0  6c 61 79 65 72 25 29 2d  28 91 2d 74 69 6d 65 25  |layer%)-(.-time%|
00000cb0  29 0d 06 72 29 e7 20 74  69 6d 65 5f 6c 65 66 74  |)..r). time_left|
00000cc0  25 28 70 6c 61 79 65 72  25 29 3c 30 20 66 6f 75  |%(player%)<0 fou|
00000cd0  6c 25 3d 70 6c 61 79 65  72 25 0d 06 7c 56 e7 20  |l%=player%..|V. |
00000ce0  77 68 65 72 65 25 3c 30  20 84 20 77 68 65 72 65  |where%<0 . where|
00000cf0  25 3e 73 69 7a 65 25 2a  73 69 7a 65 25 2d 31 20  |%>size%*size%-1 |
00000d00  66 6f 75 6c 25 3d 70 6c  61 79 65 72 25 20 8b 20  |foul%=player% . |
00000d10  e7 20 62 6f 61 72 64 25  3f 77 68 65 72 65 25 3c  |. board%?where%<|
00000d20  3e 30 20 66 6f 75 6c 25  3d 70 6c 61 79 65 72 25  |>0 foul%=player%|
00000d30  0d 06 86 3b e7 20 66 6f  75 6c 25 3d 2d 31 20 8c  |...;. foul%=-1 .|
00000d40  20 62 6f 61 72 64 25 3f  77 68 65 72 65 25 3d 70  | board%?where%=p|
00000d50  6c 61 79 65 72 25 3a f2  73 68 6f 77 5f 73 71 75  |layer%:.show_squ|
00000d60  61 72 65 28 77 68 65 72  65 25 29 0d 06 90 05 e1  |are(where%).....|
00000d70  0d 06 9a 05 3a 0d 06 a4  12 f4 20 3e 50 72 6f 63  |....:..... >Proc|
00000d80  73 2e 42 65 73 74 38 0d  06 ae 05 3a 0d 06 b8 34  |s.Best8....:...4|
00000d90  dd 20 a4 62 65 73 74 28  62 6f 61 72 64 25 2c 70  |. .best(board%,p|
00000da0  6c 61 79 65 72 25 2c 74  75 72 6e 25 2c 73 69 7a  |layer%,turn%,siz|
00000db0  65 25 2c 66 69 72 73 74  25 2c 6c 65 66 74 25 29  |e%,first%,left%)|
00000dc0  0d 06 c2 25 ea 20 62 65  73 74 5f 73 63 6f 72 65  |...%. best_score|
00000dd0  25 2c 78 25 2c 79 25 2c  74 72 79 5f 78 25 2c 74  |%,x%,y%,try_x%,t|
00000de0  72 79 5f 79 25 0d 06 cc  75 e7 20 74 75 72 6e 25  |ry_y%...u. turn%|
00000df0  3d 2d 31 20 de 20 62 65  73 74 5f 62 72 64 25 28  |=-1 . best_brd%(|
00000e00  73 69 7a 65 25 2b 31 2c  73 69 7a 65 25 2b 31 29  |size%+1,size%+1)|
00000e10  2c 62 65 73 74 5f 62 72  64 32 25 28 73 69 7a 65  |,best_brd2%(size|
00000e20  25 2b 31 2c 73 69 7a 65  25 2b 31 29 2c 62 65 73  |%+1,size%+1),bes|
00000e30  74 5f 63 25 28 32 29 2c  62 65 73 74 5f 74 25 28  |t_c%(2),best_t%(|
00000e40  32 29 2c 62 65 73 74 5f  62 25 28 73 69 7a 65 25  |2),best_b%(size%|
00000e50  2c 73 69 7a 65 25 29 3a  3d 30 0d 06 d6 14 e3 20  |,size%):=0..... |
00000e60  78 25 3d 30 20 b8 20 73  69 7a 65 25 2b 31 0d 06  |x%=0 . size%+1..|
00000e70  e0 15 20 e3 20 79 25 3d  30 20 b8 20 73 69 7a 65  |.. . y%=0 . size|
00000e80  25 2b 31 0d 06 ea 51 20  20 62 65 73 74 5f 62 72  |%+1...Q  best_br|
00000e90  64 25 28 78 25 2c 79 25  29 3d 62 6f 61 72 64 25  |d%(x%,y%)=board%|
00000ea0  3f 28 28 78 25 2b 73 69  7a 65 25 2d 31 29 20 83  |?((x%+size%-1) .|
00000eb0  20 73 69 7a 65 25 2b 73  69 7a 65 25 2a 28 28 79  | size%+size%*((y|
00000ec0  25 2b 73 69 7a 65 25 2d  31 29 20 83 20 73 69 7a  |%+size%-1) . siz|
00000ed0  65 25 29 29 0d 06 f4 06  20 ed 0d 06 fe 05 ed 0d  |e%)).... .......|
00000ee0  07 08 15 62 65 73 74 5f  73 63 6f 72 65 25 3d 2d  |...best_score%=-|
00000ef0  39 39 39 39 0d 07 12 12  e3 20 78 25 3d 31 20 b8  |9999..... x%=1 .|
00000f00  20 73 69 7a 65 25 0d 07  1c 13 20 e3 20 79 25 3d  | size%.... . y%=|
00000f10  31 20 b8 20 73 69 7a 65  25 0d 07 26 1b 20 20 62  |1 . size%..&.  b|
00000f20  65 73 74 5f 62 25 28 78  25 2c 79 25 29 3d 2d 31  |est_b%(x%,y%)=-1|
00000f30  30 30 30 30 0d 07 30 06  20 ed 0d 07 3a 05 ed 0d  |0000..0. ...:...|
00000f40  07 44 16 e3 20 74 72 79  5f 78 25 3d 31 20 b8 20  |.D.. try_x%=1 . |
00000f50  73 69 7a 65 25 0d 07 4e  17 20 e3 20 74 72 79 5f  |size%..N. . try_|
00000f60  79 25 3d 31 20 b8 20 73  69 7a 65 25 0d 07 58 3b  |y%=1 . size%..X;|
00000f70  20 20 e7 20 62 65 73 74  5f 62 72 64 25 28 74 72  |  . best_brd%(tr|
00000f80  79 5f 78 25 2c 74 72 79  5f 79 25 29 3d 30 20 f2  |y_x%,try_y%)=0 .|
00000f90  62 65 73 74 5f 74 72 79  28 74 72 79 5f 78 25 2c  |best_try(try_x%,|
00000fa0  74 72 79 5f 79 25 29 0d  07 62 06 20 ed 0d 07 6c  |try_y%)..b. ...l|
00000fb0  05 ed 0d 07 76 05 f5 0d  07 80 10 20 78 25 3d b3  |....v...... x%=.|
00000fc0  28 73 69 7a 65 25 29 0d  07 8a 10 20 79 25 3d b3  |(size%).... y%=.|
00000fd0  28 73 69 7a 65 25 29 0d  07 94 20 fd 20 62 65 73  |(size%)... . bes|
00000fe0  74 5f 62 25 28 78 25 2c  79 25 29 3d 62 65 73 74  |t_b%(x%,y%)=best|
00000ff0  5f 73 63 6f 72 65 25 0d  07 9e 18 3d 28 78 25 2d  |_score%....=(x%-|
00001000  31 29 2b 73 69 7a 65 25  2a 28 79 25 2d 31 29 0d  |1)+size%*(y%-1).|
00001010  07 a8 05 3a 0d 07 b2 1e  dd 20 f2 62 65 73 74 5f  |...:..... .best_|
00001020  74 72 79 28 74 72 79 5f  78 25 2c 74 72 79 5f 79  |try(try_x%,try_y|
00001030  25 29 0d 07 bc 17 ea 20  78 25 2c 79 25 2c 78 78  |%)..... x%,y%,xx|
00001040  25 2c 79 79 25 2c 63 63  25 0d 07 c6 14 e3 20 78  |%,yy%,cc%..... x|
00001050  25 3d 30 20 b8 20 73 69  7a 65 25 2b 31 0d 07 d0  |%=0 . size%+1...|
00001060  15 20 e3 20 79 25 3d 30  20 b8 20 73 69 7a 65 25  |. . y%=0 . size%|
00001070  2b 31 0d 07 da 28 20 20  62 65 73 74 5f 62 72 64  |+1...(  best_brd|
00001080  32 25 28 78 25 2c 79 25  29 3d 62 65 73 74 5f 62  |2%(x%,y%)=best_b|
00001090  72 64 25 28 78 25 2c 79  25 29 0d 07 e4 06 20 ed  |rd%(x%,y%).... .|
000010a0  0d 07 ee 05 ed 0d 07 f8  10 62 65 73 74 5f 74 25  |.........best_t%|
000010b0  28 31 29 3d 30 0d 08 02  10 62 65 73 74 5f 74 25  |(1)=0....best_t%|
000010c0  28 32 29 3d 30 0d 08 0c  25 62 65 73 74 5f 62 72  |(2)=0...%best_br|
000010d0  64 32 25 28 74 72 79 5f  78 25 2c 74 72 79 5f 79  |d2%(try_x%,try_y|
000010e0  25 29 3d 70 6c 61 79 65  72 25 0d 08 16 12 e3 20  |%)=player%..... |
000010f0  78 25 3d 31 20 b8 20 73  69 7a 65 25 0d 08 20 13  |x%=1 . size%.. .|
00001100  20 e3 20 79 25 3d 31 20  b8 20 73 69 7a 65 25 0d  | . y%=1 . size%.|
00001110  08 2a 12 20 20 62 65 73  74 5f 63 25 28 31 29 3d  |.*.  best_c%(1)=|
00001120  30 0d 08 34 12 20 20 62  65 73 74 5f 63 25 28 32  |0..4.  best_c%(2|
00001130  29 3d 30 0d 08 3e 12 20  20 e3 20 78 78 25 3d 2d  |)=0..>.  . xx%=-|
00001140  31 20 b8 20 31 0d 08 48  13 20 20 20 e3 20 79 79  |1 . 1..H.   . yy|
00001150  25 3d 2d 31 20 b8 20 31  0d 08 52 25 20 20 20 20  |%=-1 . 1..R%    |
00001160  63 63 25 3d 62 65 73 74  5f 62 72 64 32 25 28 78  |cc%=best_brd2%(x|
00001170  25 2b 78 78 25 2c 79 25  2b 79 79 25 29 0d 08 5c  |%+xx%,y%+yy%)..\|
00001180  23 20 20 20 20 62 65 73  74 5f 63 25 28 63 63 25  |#    best_c%(cc%|
00001190  29 3d 62 65 73 74 5f 63  25 28 63 63 25 29 2b 31  |)=best_c%(cc%)+1|
000011a0  0d 08 66 08 20 20 20 ed  0d 08 70 07 20 20 ed 0d  |..f.   ...p.  ..|
000011b0  08 7a 1b 20 20 63 63 25  3d 62 65 73 74 5f 62 72  |.z.  cc%=best_br|
000011c0  64 32 25 28 78 25 2c 79  25 29 0d 08 84 21 20 20  |d2%(x%,y%)...!  |
000011d0  62 65 73 74 5f 63 25 28  63 63 25 29 3d 62 65 73  |best_c%(cc%)=bes|
000011e0  74 5f 63 25 28 63 63 25  29 2d 31 0d 08 8e 43 20  |t_c%(cc%)-1...C |
000011f0  20 e7 20 62 65 73 74 5f  62 72 64 32 25 28 78 25  | . best_brd2%(x%|
00001200  2c 79 25 29 3d 30 20 80  20 62 65 73 74 5f 63 25  |,y%)=0 . best_c%|
00001210  28 31 29 2b 62 65 73 74  5f 63 25 28 32 29 3d 33  |(1)+best_c%(2)=3|
00001220  20 f2 62 65 73 74 5f 6e  65 77 63 65 6c 6c 0d 08  | .best_newcell..|
00001230  98 86 20 20 e7 20 62 65  73 74 5f 62 72 64 32 25  |..  . best_brd2%|
00001240  28 78 25 2c 79 25 29 3c  3e 30 20 80 20 28 62 65  |(x%,y%)<>0 . (be|
00001250  73 74 5f 63 25 28 31 29  2b 62 65 73 74 5f 63 25  |st_c%(1)+best_c%|
00001260  28 32 29 3d 32 20 84 20  62 65 73 74 5f 63 25 28  |(2)=2 . best_c%(|
00001270  31 29 2b 62 65 73 74 5f  63 25 28 32 29 3d 33 29  |1)+best_c%(2)=3)|
00001280  20 8c 20 63 63 25 3d 62  65 73 74 5f 62 72 64 32  | . cc%=best_brd2|
00001290  25 28 78 25 2c 79 25 29  3a 62 65 73 74 5f 74 25  |%(x%,y%):best_t%|
000012a0  28 63 63 25 29 3d 62 65  73 74 5f 74 25 28 63 63  |(cc%)=best_t%(cc|
000012b0  25 29 2b 31 0d 08 a2 06  20 ed 0d 08 ac 05 ed 0d  |%)+1.... .......|
000012c0  08 b6 3e 62 65 73 74 5f  62 25 28 74 72 79 5f 78  |..>best_b%(try_x|
000012d0  25 2c 74 72 79 5f 79 25  29 3d 62 65 73 74 5f 74  |%,try_y%)=best_t|
000012e0  25 28 70 6c 61 79 65 72  25 29 2d 62 65 73 74 5f  |%(player%)-best_|
000012f0  74 25 28 33 2d 70 6c 61  79 65 72 25 29 0d 08 c0  |t%(3-player%)...|
00001300  4b e7 20 62 65 73 74 5f  62 25 28 74 72 79 5f 78  |K. best_b%(try_x|
00001310  25 2c 74 72 79 5f 79 25  29 3e 62 65 73 74 5f 73  |%,try_y%)>best_s|
00001320  63 6f 72 65 25 20 62 65  73 74 5f 73 63 6f 72 65  |core% best_score|
00001330  25 3d 62 65 73 74 5f 62  25 28 74 72 79 5f 78 25  |%=best_b%(try_x%|
00001340  2c 74 72 79 5f 79 25 29  0d 08 ca 05 e1 0d 08 d4  |,try_y%)........|
00001350  05 3a 0d 08 de 13 dd 20  f2 62 65 73 74 5f 6e 65  |.:..... .best_ne|
00001360  77 63 65 6c 6c 0d 08 e8  4f e7 20 62 65 73 74 5f  |wcell...O. best_|
00001370  63 25 28 31 29 3e 62 65  73 74 5f 63 25 28 32 29  |c%(1)>best_c%(2)|
00001380  20 8c 20 62 65 73 74 5f  74 25 28 31 29 3d 62 65  | . best_t%(1)=be|
00001390  73 74 5f 74 25 28 31 29  2b 31 20 8b 20 62 65 73  |st_t%(1)+1 . bes|
000013a0  74 5f 74 25 28 32 29 3d  62 65 73 74 5f 74 25 28  |t_t%(2)=best_t%(|
000013b0  32 29 2b 31 0d 08 f2 05  e1 0d 08 fc 05 3a 0d 09  |2)+1.........:..|
000013c0  06 14 f4 20 3e 50 72 6f  63 73 2e 53 69 6d 70 6c  |... >Procs.Simpl|
000013d0  65 38 0d 09 10 05 3a 0d  09 1a 36 dd 20 a4 73 69  |e8....:...6. .si|
000013e0  6d 70 6c 65 28 62 6f 61  72 64 25 2c 70 6c 61 79  |mple(board%,play|
000013f0  65 72 25 2c 74 75 72 6e  25 2c 73 69 7a 65 25 2c  |er%,turn%,size%,|
00001400  66 69 72 73 74 25 2c 6c  65 66 74 25 29 0d 09 24  |first%,left%)..$|
00001410  17 ea 20 62 65 73 74 5f  73 63 6f 72 65 25 2c 78  |.. best_score%,x|
00001420  25 2c 79 25 0d 09 2e 58  e7 20 74 75 72 6e 25 3d  |%,y%...X. turn%=|
00001430  2d 31 20 de 20 73 69 6d  70 6c 65 5f 63 25 28 32  |-1 . simple_c%(2|
00001440  29 2c 73 69 6d 70 6c 65  5f 6b 25 28 73 69 7a 65  |),simple_k%(size|
00001450  25 2b 31 2c 73 69 7a 65  25 2b 31 29 2c 73 69 6d  |%+1,size%+1),sim|
00001460  70 6c 65 5f 62 72 64 25  28 73 69 7a 65 25 2b 31  |ple_brd%(size%+1|
00001470  2c 73 69 7a 65 25 2b 31  29 3a 3d 30 0d 09 38 14  |,size%+1):=0..8.|
00001480  e3 20 78 25 3d 30 20 b8  20 73 69 7a 65 25 2b 31  |. x%=0 . size%+1|
00001490  0d 09 42 15 20 e3 20 79  25 3d 30 20 b8 20 73 69  |..B. . y%=0 . si|
000014a0  7a 65 25 2b 31 0d 09 4c  53 20 20 73 69 6d 70 6c  |ze%+1..LS  simpl|
000014b0  65 5f 62 72 64 25 28 78  25 2c 79 25 29 3d 62 6f  |e_brd%(x%,y%)=bo|
000014c0  61 72 64 25 3f 28 28 78  25 2b 73 69 7a 65 25 2d  |ard%?((x%+size%-|
000014d0  31 29 20 83 20 73 69 7a  65 25 2b 73 69 7a 65 25  |1) . size%+size%|
000014e0  2a 28 28 79 25 2b 73 69  7a 65 25 2d 31 29 20 83  |*((y%+size%-1) .|
000014f0  20 73 69 7a 65 25 29 29  0d 09 56 06 20 ed 0d 09  | size%))..V. ...|
00001500  60 05 ed 0d 09 6a 14 e3  20 78 25 3d 30 20 b8 20  |`....j.. x%=0 . |
00001510  73 69 7a 65 25 2b 31 0d  09 74 15 20 e3 20 79 25  |size%+1..t. . y%|
00001520  3d 30 20 b8 20 73 69 7a  65 25 2b 31 0d 09 7e 18  |=0 . size%+1..~.|
00001530  20 20 73 69 6d 70 6c 65  5f 6b 25 28 78 25 2c 79  |  simple_k%(x%,y|
00001540  25 29 3d 30 0d 09 88 06  20 ed 0d 09 92 05 ed 0d  |%)=0.... .......|
00001550  09 9c 12 e3 20 78 25 3d  31 20 b8 20 73 69 7a 65  |.... x%=1 . size|
00001560  25 0d 09 a6 13 20 e3 20  79 25 3d 31 20 b8 20 73  |%.... . y%=1 . s|
00001570  69 7a 65 25 0d 09 b0 48  20 20 e7 20 73 69 6d 70  |ize%...H  . simp|
00001580  6c 65 5f 62 72 64 25 28  78 25 2c 79 25 29 3d 30  |le_brd%(x%,y%)=0|
00001590  20 f2 73 69 6d 70 6c 65  5f 74 72 79 28 78 25 2c  | .simple_try(x%,|
000015a0  79 25 29 20 8b 20 73 69  6d 70 6c 65 5f 6b 25 28  |y%) . simple_k%(|
000015b0  78 25 2c 79 25 29 3d 2d  31 30 30 30 0d 09 ba 06  |x%,y%)=-1000....|
000015c0  20 ed 0d 09 c4 05 ed 0d  09 ce 12 62 65 73 74 5f  | ..........best_|
000015d0  73 63 6f 72 65 25 3d 2d  31 0d 09 d8 12 e3 20 78  |score%=-1..... x|
000015e0  25 3d 31 20 b8 20 73 69  7a 65 25 0d 09 e2 13 20  |%=1 . size%.... |
000015f0  e3 20 79 25 3d 31 20 b8  20 73 69 7a 65 25 0d 09  |. y%=1 . size%..|
00001600  ec 58 20 20 e7 20 73 69  6d 70 6c 65 5f 62 72 64  |.X  . simple_brd|
00001610  25 28 78 25 2c 79 25 29  3d 30 20 80 20 73 69 6d  |%(x%,y%)=0 . sim|
00001620  70 6c 65 5f 6b 25 28 78  25 2c 79 25 29 3e 62 65  |ple_k%(x%,y%)>be|
00001630  73 74 5f 73 63 6f 72 65  25 20 62 65 73 74 5f 73  |st_score% best_s|
00001640  63 6f 72 65 25 3d 73 69  6d 70 6c 65 5f 6b 25 28  |core%=simple_k%(|
00001650  78 25 2c 79 25 29 0d 09  f6 06 20 ed 0d 0a 00 05  |x%,y%).... .....|
00001660  ed 0d 0a 0a 05 f5 0d 0a  14 10 20 78 25 3d b3 28  |.......... x%=.(|
00001670  73 69 7a 65 25 29 0d 0a  1e 10 20 79 25 3d b3 28  |size%).... y%=.(|
00001680  73 69 7a 65 25 29 0d 0a  28 22 fd 20 73 69 6d 70  |size%)..(". simp|
00001690  6c 65 5f 6b 25 28 78 25  2c 79 25 29 3d 62 65 73  |le_k%(x%,y%)=bes|
000016a0  74 5f 73 63 6f 72 65 25  0d 0a 32 18 3d 28 78 25  |t_score%..2.=(x%|
000016b0  2d 31 29 2b 73 69 7a 65  25 2a 28 79 25 2d 31 29  |-1)+size%*(y%-1)|
000016c0  0d 0a 3c 05 3a 0d 0a 46  18 dd 20 f2 73 69 6d 70  |..<.:..F.. .simp|
000016d0  6c 65 5f 74 72 79 28 78  25 2c 79 25 29 0d 0a 50  |le_try(x%,y%)..P|
000016e0  11 ea 20 78 78 25 2c 79  79 25 2c 63 63 25 0d 0a  |.. xx%,yy%,cc%..|
000016f0  5a 12 73 69 6d 70 6c 65  5f 63 25 28 31 29 3d 30  |Z.simple_c%(1)=0|
00001700  0d 0a 64 12 73 69 6d 70  6c 65 5f 63 25 28 32 29  |..d.simple_c%(2)|
00001710  3d 30 0d 0a 6e 10 e3 20  78 78 25 3d 2d 31 20 b8  |=0..n.. xx%=-1 .|
00001720  20 31 0d 0a 78 11 20 e3  20 79 79 25 3d 2d 31 20  | 1..x. . yy%=-1 |
00001730  b8 20 31 0d 0a 82 24 20  20 63 63 25 3d 73 69 6d  |. 1...$  cc%=sim|
00001740  70 6c 65 5f 62 72 64 25  28 78 25 2b 78 78 25 2c  |ple_brd%(x%+xx%,|
00001750  79 25 2b 79 79 25 29 0d  0a 8c 25 20 20 73 69 6d  |y%+yy%)...%  sim|
00001760  70 6c 65 5f 63 25 28 63  63 25 29 3d 73 69 6d 70  |ple_c%(cc%)=simp|
00001770  6c 65 5f 63 25 28 63 63  25 29 2b 31 0d 0a 96 06  |le_c%(cc%)+1....|
00001780  20 ed 0d 0a a0 05 ed 0d  0a aa 1a 63 63 25 3d 73  | ..........cc%=s|
00001790  69 6d 70 6c 65 5f 62 72  64 25 28 78 25 2c 79 25  |imple_brd%(x%,y%|
000017a0  29 0d 0a b4 23 73 69 6d  70 6c 65 5f 63 25 28 63  |)...#simple_c%(c|
000017b0  63 25 29 3d 73 69 6d 70  6c 65 5f 63 25 28 63 63  |c%)=simple_c%(cc|
000017c0  25 29 2d 31 0d 0a be 5f  e7 20 ac 20 28 28 73 69  |%)-1..._. . ((si|
000017d0  6d 70 6c 65 5f 63 25 28  31 29 3d 31 20 80 20 73  |mple_c%(1)=1 . s|
000017e0  69 6d 70 6c 65 5f 63 25  28 32 29 3d 31 29 20 84  |imple_c%(2)=1) .|
000017f0  20 28 73 69 6d 70 6c 65  5f 63 25 28 70 6c 61 79  | (simple_c%(play|
00001800  65 72 25 29 3d 32 20 80  20 73 69 6d 70 6c 65 5f  |er%)=2 . simple_|
00001810  63 25 28 33 2d 70 6c 61  79 65 72 25 29 3d 30 29  |c%(3-player%)=0)|
00001820  29 20 e1 0d 0a c8 10 e3  20 78 78 25 3d 2d 31 20  |) ...... xx%=-1 |
00001830  b8 20 31 0d 0a d2 11 20  e3 20 79 79 25 3d 2d 31  |. 1.... . yy%=-1|
00001840  20 b8 20 31 0d 0a dc 39  20 20 73 69 6d 70 6c 65  | . 1...9  simple|
00001850  5f 6b 25 28 78 25 2b 78  78 25 2c 79 25 2b 79 79  |_k%(x%+xx%,y%+yy|
00001860  25 29 3d 73 69 6d 70 6c  65 5f 6b 25 28 78 25 2b  |%)=simple_k%(x%+|
00001870  78 78 25 2c 79 25 2b 79  79 25 29 2b 31 0d 0a e6  |xx%,y%+yy%)+1...|
00001880  06 20 ed 0d 0a f0 05 ed  0d 0a fa 27 73 69 6d 70  |. .........'simp|
00001890  6c 65 5f 6b 25 28 78 25  2c 79 25 29 3d 73 69 6d  |le_k%(x%,y%)=sim|
000018a0  70 6c 65 5f 6b 25 28 78  25 2c 79 25 29 2d 31 0d  |ple_k%(x%,y%)-1.|
000018b0  0b 04 05 e1 0d ff                                 |......|
000018b6