Home » Personal collection » Acorn tapes » Commercial_Releases » boxed_acornsoft_tape10a_acorn_introductory_cassette.wav » GOMOKU

GOMOKU

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 » Personal collection » Acorn tapes » Commercial_Releases » boxed_acornsoft_tape10a_acorn_introductory_cassette.wav
Filename: GOMOKU
Read OK:
File size: 199F bytes
Load address: FFFF0E00
Exec address: FFFF8023
Duplicates

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

File contents
   10REM GOMOKU
   20REM Electron Introductory Cassette
   30REM Authors J.C. and L.H.
   40 
   50ONERRORRUN
   60IFM%=1234THEN70ELSEIFM%=5678THEN80ELSEMODE5:VDU19,3,4;0;:COLOUR2:PRINTTAB(0,5)"Does your cassette"''"recorder have motor"''"control (Y/N)?";:IF(GETAND&DF)=ASC"Y"THENM%=5678:GOTO80ELSEM%=1234
   70SOUND1,-15,121,60:MODE5:VDU19,3,4;0;:COLOUR1:PRINTTAB(8,9)"STOP";:COLOUR3:PRINTTAB(6,13)"the tape":COLOUR2:PRINTTAB(4,25)"Press SPACE"TAB(4,27)"to continue":REPEATUNTILGET=32:SOUND&11,0,0,0
   80ONERRORCLEAR:GOTO90
   90DIM MAP 255,BLOCK 8
  100osword=&FFF1
  110PROCINITDBL
  120MODE4:PROCOFF:PROCDBL("Gomoku",12):N%=INKEY500
  130 
  140ONERRORGOTO2220   
  150CX%=1:CY%=1:SIZ%=40
  160@%=3:HW%=0:CW%=0:BOARDC%=7:MYC%=7:ITSC%=7
  170PROCBLOB:MODE6:PROCINFO:MODE5:PROCBOARD(40,150):PROCPALETTE   
  180DIM M%(19,19),T%27*27,S%81,COORDS%12
  190FORI%=1TO81:S%?I%=0:NEXT
  200PROCOFF
  210IFHW%>0ORCW%>0:CLS:PRINT"Change the"'"colours (Y/N)?":A=GET:IF A=89:PROCPALETTE         
  220CLS:PRINT"Shall I start (Y/N)?":A=GET:CLS     
  230S%?20=1:S%?10=40:S%?12=30:S%?13=47:S%?27=15:S%?28=20
  240S%?29=10:S%?30=40:S%?31=50:S%?32=30:S%?24=1:S%?36=39
  250S%?37=65:S%?38=40:S%?39=70:S%?40=100:S%?41=60:S%?42=30
  260S%?43=30:S%?44=30:S%?62=41:S%?72=31:S%?73=11:S%?74=41
  270S%?78=51:S%?80=90:S%?26=21:S%?79=40:S%?60=21:S%?61=11
  280S%?54=1
  290FORI%=1TO27
  300IFI%<=19 FORJ%=1TO19:M%(I%,J%)=0:NEXT
  310FORJ%=1TO27*27 STEP 27:T%?(I%+J%)=0:NEXT
  320NEXT
  330C%=-1:W%=19-RND(10):N%=14:O%=14:X%=19-RND(10)
  340IFA=89THEN510
  350PROCIN:Z%=CX%:Y%=CY%
  360Y%=Y%+4:Z%=Z%+4:IFY%<5ORZ%<5ORY%>23ORZ%>23THEN350
  370IFT%?(Y%*27+Z%)>0THEN350
  380PROCDO(Z%-4,Y%-4,225,2)
  390T%?(Y%*27+Z%)=2:I%=Y%:J%=Z%
  400PRINTCHR$30;"  Thinking...":GOSUB660 
  410IFC%<>-1THEN590
  420I%=W%:J%=X%
  430GOSUB660
  440Q%=-1
  450FORI%=5TO23
  460FORJ%=5TO23::IFT%?(I%*27+J%)>0THEN490
  470A%=M%(I%-4,J%-4):IFA%<Q% THEN490
  480W%=I%:X%=J%:Q%=A%
  490NEXT,
  500CLS
  510FORI%=1TO3
  520PROCDO(X%-4,W%-4,225,0)
  530T=TIME:REPEATUNTIL TIME>T+30
  540PROCDO(X%-4,W%-4,225,1)
  550T=TIME:REPEATUNTIL TIME>T+30
  560NEXT
  570T%?(W%*27+X%)=1:IFM%(W%-4,X%-4)<100THEN350
  580PROCFINDWIN(X%-4,W%-4,1):CLS:PRINT"I win":CW%=CW%+1       
  590IFC%=0:PROCFINDWIN(Z%-4,Y%-4,2):CLS:PRINT"You win":HW%=HW%+1      
  600PRINT"Another game (Y/N) ?"
  610VDU28,14,24,19,2:PRINT'"Me  ";CW%''"You ";HW% 
  620*FX15
  630*FX12
  640A=GET:IF A<>89 THEN 2220 ELSE FORI%=1TO27:FORJ%=1TO27:IF T%?(I%*27+J%)>0 THEN PROCDO(J%-4,I%-4,225,0)
  650NEXT,:CLS:VDU28,0,31,19,29:GOTO190  
  660K%=1:L%=-1     
  670IFI%<N% IFI%>5 N%=I%
  680IF I%>O% IF I%<23 O%=I%
  690U%=I%:V%=J%:D%=0
  700D%=D%+1:P%=81
  710IFU%>23ORV%>23ORU%<5ORV%<5THEN1000
  720E%=U%-4:G%=V%-4:A%=M%(E%,G%):Q%=T%?(27*(U%+K%)+V%+L%)
  730R%=27*T%?(27*(U%-K%)+V%-L%)+9*T%?(27*(U%-2*K%)+V%-2*L%)+3*T%?(27*(U%-3*K%)+V%-3*L%)+T%?(27*(U%-4*K%)+V%-4*L%)
  740B%=Q%*27+T%?(27*(U%+2*K%)+V%+2*L%)*9+T%?(27*(U%+3*K%)+V%+3*L%)*3
  750IFR%=80 IFT%?(27*U%+V%)=2 C%=0
  760IFT%?(27*U%+V%)<>0THEN980
  770IFR%<14 IFR%>11 IFQ%=1 P%=37
  780IFR%>71 IFB%>53 IFB%<63 P%=80
  790IFR%>71 IFB%>71 P%=80
  800IFR%>53 IFR%<63 IFQ%=2 P%=72
  810IFP%=72 IFR%=60 P%=31
  820IFQ%<>2THEN860
  830IFR%=78P%=80
  840IFR%=79P%=80
  850IFR%=41R%=81
  860IFR%<42 IFR%>35 IFQ%=1 P%=41
  870IFR%<33 IFR%>29 IFQ%=1 P%=41
  880IFR%>53 IFR%<63 IFB%>71 P%=80
  890IFR%>38 IFR%<42 IFQ%=1 R%=40
  900IFR%>35 IFR%<45 IFB%>35 IFB%<45 R%=40
  910IFR%>27 IFR%<54 IFB%>38 IFB%<42 R%=40
  920IFR%=79IFA%=51M%(E%,G%)=41
  930IFR%=0R%=81
  940IFS%?P%>S%?R%:R%=P%
  950IFS%?R%-S%?R% MOD10=1 IFA%-A% MOD10=1 IFS%?R%<41 R%=74
  960IFS%?R%-S%?R%MOD10=9 IFA%-A% MOD10=9 IFS%?R%<65 R%=37
  970IFS%?R%>M%(E%,G%) M%(E%,G%)=S%?R%
  980IFD%>4THEN1000
  990U%=U%+K%:V%=V%+L%:GOTO700
 1000IFK%=0 IFL%=-1 RETURN
 1010IFK%=-1 IFL%=-1 K%=0
 1020IFK%=-1 IFL%=0 L%=-1
 1030IFK%=-1 IFL%=1 L%=0
 1040IFK%=0 IFL%=1 K%=-1
 1050IFK%=1 IFL%=1 K%=0
 1060IFK%=1 IFL%=0 L%=1
 1070IFK%=1 IFL%=-1 L%=0
 1080GOTO690
 1090 
 1100DEFPROCBOARD(X%,Y%)
 1110LOCAL T%
 1120VDU19,7,0;0;    
 1130MOVEX%,Y%
 1140T%=SIZ%*19
 1150FORI%=0TO19
 1160PLOT1,0,T%
 1170PLOT0,SIZ%,-T%
 1180NEXT
 1190MOVEX%,Y%
 1200FORI%=0TO19
 1210PLOT1,T%,0
 1220PLOT0,-T%,SIZ%
 1230NEXT
 1240VDU19,3,BOARDC%;0;
 1250VDU29,X%-16;Y%;
 1260ENDPROC
 1270 
 1280DEFPROCBLOB
 1290VDU23,224,0,0,&7E,&42,&42,&7E,0,0
 1300VDU23,226,0,&08,&08,&08,&08,&08,&08,0
 1310VDU23,227,0,0,&3C,&24,&24,&3C,0,0
 1320VDU23,225,0,&18,&3C,&3C,&3C,&3C,&18,0
 1330VDU23,228,0,0,0,&1C,0,0,0,0               
 1340ENDPROC
 1350 
 1360DEFPROCDO(X%,Y%,CODE%,KOLOR%)
 1370MOVE0,0:VDU5
 1380MOVE(X%-1)*SIZ%+8,Y%*SIZ%-8
 1390GCOL0,KOLOR%
 1400VDU CODE%
 1410VDU4
 1420ENDPROC
 1430 
 1440DEF PROCPALETTE
 1450VDU28,0,31,19,29:VDU23;&200A;0;0;0;
 1460CLS:*FX15
 1470*FX12,0
 1480PRINT"Please select"'"board colour";:BOARDC%=FNPAL(3,BOARDC%) 
 1490PRINTCHR$13"my colour   ";:PROCDO(19,-2,225,1):MYC%=FNPAL(1,MYC%)
 1500PRINTCHR$13"your colour  ";:PROCDO(19,-2,225,2):ITSC%=FNPAL(2,ITSC%):CLS
 1510ENDPROC
 1520 
 1530DEFFNPAL(I%,J%)
 1540*FX15
 1550*FX12,0
 1560REPEAT VDU19,I%,J%;0;:A%=GET:J%=J%+1:IF J%=8 THEN J%=1
 1570UNTIL A%=13 :IF J%=1 THEN =7ELSE =J%-1
 1580 
 1590DEFPROCIN
 1600CLS:PRINT"   Your move" 
 1610*FX11,1
 1620*FX12,1
 1630STIN$="/:ZXzx":GOTO1740
 1640*FX15
 1650A$=GET$
 1660IFA$=CHR$13 CLS:ENDPROC   
 1670I%=0:REPEATI%=I%+1:UNTIL A$=MID$(STIN$,I%,1)ORI%>7:IFI%>7 THEN 1640 ELSE IF I%>4 THEN I%=I%-2
 1680IF I%<=2THEN J%=(I%-1)*2-1:PROCDO(0,CY%,228,0):PROCDO(20,CY%,228,0)  
 1690IFI%>2THENJ%=(I%-3)*2-1:PROCDO(CX%,0,225,0):PROCDO(CX%,20,225,0)
 1700IF T%?(27*(CY%+4)+CX%+4)=0 THEN PROCDO(CX%,CY%,227,0) 
 1710IF I%<=2THEN CY%=CY%+J% ELSE CX%=CX%+J%
 1720IFCY%=0 THEN CY%=19 ELSE IF CY%=20 CY%=1
 1730IFCX%=0 THEN CX%=19 ELSE IF CX%=20 CX%=1
 1740PROCDO(0,CY%,228,3):PROCDO(20,CY%,228,3):PROCDO(CX%,0,226,3):PROCDO(CX%,20,226,3)   
 1750IF T%?(27*(CY%+4)+CX%+4)=0 THEN PROCDO(CX%,CY%,227,2)    
 1760GOTO1640
 1770 
 1780DEFPROCFINDWIN(X%,Y%,WHO%)
 1790LOCAL P%,XS%,YS%,TG%
 1800P%=0:XS%=X%:YS%=Y%
 1810FOR I%=-1  TO 1
 1820FOR J%=-1 TO 1
 1830TG%=0
 1840REPEAT
 1850COORDS%?P%=X%:P%=P%+1
 1860COORDS%?P%=Y%:P%=P%+1
 1870X%=X%+I%
 1880Y%=Y%+J%
 1890UNTIL T%?(27*(Y%+4)+X%+4)<>WHO% OR P%=10
 1900IFT%?(27*(Y%+4)+X%+4)<>WHO% AND TG%=0 AND P%<>10THEN X%=X%-5*I%:Y%=Y%-5*J%:TG%=1:GOTO1840
 1910IF P%=10 THEN I%=1:J%=1 ELSE X%=XS%:Y%=YS%:P%=0
 1920NEXT,
 1930FORJ%=0TO3
 1940FORI%=0TO9 STEP 2
 1950PROCDO(COORDS%?I%,COORDS%?(I%+1),225,0):NEXT:TG%=TIME:REPEATUNTIL TIME=TG%+70
 1960FORI%=0TO9 STEP 2:PROCDO(COORDS%?I%,COORDS%?(I%+1),225,WHO%):NEXT:TG%=TIME:REPEATUNTIL TIME=TG%+70:NEXT
 1970ENDPROC
 1980 
 1990DEF PROCINFO:PRINT'"GOMOKU is a board game where the winner"
 2000PRINT"is the first to get 5 counters in a row"
 2010PRINT"(horizontal, vertical or diagonal)."  
 2020PRINT'"To place a counter on the board, move"'"the cursor (";CHR$224;") to the desired square"'"and press RETURN."       
 2030PRINT'" CURSOR CONTROL KEYS :-"
 2040PRINT'TAB(14)"Z - Left"
 2050PRINT'TAB(14)"X - Right"
 2060PRINT'TAB(14)": - Up"
 2070PRINT'TAB(14)"/ - Down"
 2080PRINT'"To choose the board and counter colours,press any key when you are prompted and"'"the selected colour will alter. When thedesired colour is displayed press RETURN"
 2090PRINT"    Press the SPACE BAR to continue";
 2100REPEATUNTILGET=32
 2110ENDPROC
 2120 
 2130DEF PROCOFF VDU23,1,0;0;0;0;:ENDPROC
 2140 
 2150DEF PROCINITDBL $MAP=STRING$(255,CHR$0):MAP?255=0:CHARPTR=224:ENDPROC
 2160 
 2170DEF PROCDBL(A$,y%)B$="":C$="":FORCH%=1TOLENA$:K%=FNCHAR(ASCMID$(A$,CH%,1)):B$=B$+CHR$K%:C$=C$+CHR$(K%+1):NEXT
 2180K%=19-LENA$/2:DBL$=CHR$31+CHR$K%+CHR$y%+B$+CHR$31+CHR$K%+CHR$(y%+1)+C$:PRINTDBL$;:ENDPROC
 2190 
 2200DEF FNCHAR(C%)IFMAP?C%THEN=MAP?C% ELSEIFCHARPTR>=256STOP ELSEMAP?C%=CHARPTR:?BLOCK=C%:A%=10:X%=BLOCK:Y%=BLOCK DIV256:CALLosword:FORJ%=0TO1:VDU23,CHARPTR+J%:FORI%=2TO9:VDUBLOCK?(J%*4+I%DIV2):NEXT,:CHARPTR=CHARPTR+2:=MAP?C%
 2210 
 2220REM Error-trap
 2230MODE6:PRINT TAB(7,11)"Do you want to go on to"'TAB(7)"the next program (Y/N)? ";
 2240*FX 12
 2250G%=GET:G%=G%AND&DF:IF G%<>78 AND G%<>89 THEN GOTO 2250
 2260VDUG%,8
 2270IF G% = 78 THEN CLEAR:GOTO90
 2280PRINT'"Play tape"'
 2290CHAIN""
 2300END

� GOMOKU
$� Electron Introductory Cassette
� Authors J.C. and L.H.
( 
2�
<��M%=1234��DF@��M%=5678��DP@��5:�19,3,4;0;:�2:�0,5)"Does your cassette"''"recorder have motor"''"control (Y/N)?";:�(��&DF)=�"Y"�M%=5678:�DP@�M%=1234
F��1,-15,121,60:�5:�19,3,4;0;:�1:�8,9)"STOP";:�3:�6,13)"the tape":�2:�4,25)"Press SPACE"�4,27)"to continue":���=32:�&11,0,0,0
P
��:�DZ@
Z� MAP 255,BLOCK 8
dosword=&FFF1
n�INITDBL
x%�4:�OFF:�DBL("Gomoku",12):N%=�500
� 
���tlH   
�CX%=1:CY%=1:SIZ%=40
�-@%=3:HW%=0:CW%=0:BOARDC%=7:MYC%=7:ITSC%=7
�0�BLOB:�6:�INFO:�5:�BOARD(40,150):�PALETTE   
�&� M%(19,19),T%27*27,S%81,COORDS%12
��I%=1�81:S%?I%=0:�
��OFF
�N�HW%>0�CW%>0:�:�"Change the"'"colours (Y/N)?":A=�:� A=89:�PALETTE         
�(�:�"Shall I start (Y/N)?":A=�:�     
�8S%?20=1:S%?10=40:S%?12=30:S%?13=47:S%?27=15:S%?28=20
�8S%?29=10:S%?30=40:S%?31=50:S%?32=30:S%?24=1:S%?36=39
�:S%?37=65:S%?38=40:S%?39=70:S%?40=100:S%?41=60:S%?42=30
9S%?43=30:S%?44=30:S%?62=41:S%?72=31:S%?73=11:S%?74=41
9S%?78=51:S%?80=90:S%?26=21:S%?79=40:S%?60=21:S%?61=11
S%?54=1
"�I%=1�27
,"�I%<=19 �J%=1�19:M%(I%,J%)=0:�
6#�J%=1�27*27 � 27:T%?(I%+J%)=0:�
@�
J-C%=-1:W%=19-�(10):N%=14:O%=14:X%=19-�(10)
T�A=89��d~A
^�IN:Z%=CX%:Y%=CY%
h/Y%=Y%+4:Z%=Z%+4:�Y%<5�Z%<5�Y%>23�Z%>23��D^A
r�T%?(Y%*27+Z%)>0��D^A
|�DO(Z%-4,Y%-4,225,2)
�T%?(Y%*27+Z%)=2:I%=Y%:J%=Z%
��30;"  Thinking...":�tTB 
��C%<>-1��DNB
�I%=W%:J%=X%
�	�tTB
�	Q%=-1
��I%=5�23
�#�J%=5�23::�T%?(I%*27+J%)>0��djA
�!A%=M%(I%-4,J%-4):�A%<Q% ��djA
�W%=I%:X%=J%:Q%=A%
��,
��
��I%=1�3
�DO(X%-4,W%-4,225,0)
T=�:�� �>T+30
�DO(X%-4,W%-4,225,1)
&T=�:�� �>T+30
0�
:+T%?(W%*27+X%)=1:�M%(W%-4,X%-4)<100��D^A
D5�FINDWIN(X%-4,W%-4,1):�:�"I win":CW%=CW%+1       
N<�C%=0:�FINDWIN(Z%-4,Y%-4,2):�:�"You win":HW%=HW%+1      
X�"Another game (Y/N) ?"
b,�28,14,24,19,2:�'"Me  ";CW%''"You ";HW% 
l	*FX15
v	*FX12
�SA=�:� A<>89 � �tlH � �I%=1�27:�J%=1�27:� T%?(I%*27+J%)>0 � �DO(J%-4,I%-4,225,0)
��,:�:�28,0,31,19,29:�t~@  
�K%=1:L%=-1     
��I%<N% �I%>5 N%=I%
�� I%>O% � I%<23 O%=I%
�U%=I%:V%=J%:D%=0
�D%=D%+1:P%=81
��U%>23�V%>23�U%<5�V%<5��dhC
�9E%=U%-4:G%=V%-4:A%=M%(E%,G%):Q%=T%?(27*(U%+K%)+V%+L%)
�qR%=27*T%?(27*(U%-K%)+V%-L%)+9*T%?(27*(U%-2*K%)+V%-2*L%)+3*T%?(27*(U%-3*K%)+V%-3*L%)+T%?(27*(U%-4*K%)+V%-4*L%)
�DB%=Q%*27+T%?(27*(U%+2*K%)+V%+2*L%)*9+T%?(27*(U%+3*K%)+V%+3*L%)*3
� �R%=80 �T%?(27*U%+V%)=2 C%=0
��T%?(27*U%+V%)<>0��dTC
�R%<14 �R%>11 �Q%=1 P%=37
�R%>71 �B%>53 �B%<63 P%=80
�R%>71 �B%>71 P%=80
 �R%>53 �R%<63 �Q%=2 P%=72
*�P%=72 �R%=60 P%=31
4�Q%<>2��D\C
>�R%=78P%=80
H�R%=79P%=80
R�R%=41R%=81
\�R%<42 �R%>35 �Q%=1 P%=41
f�R%<33 �R%>29 �Q%=1 P%=41
p�R%>53 �R%<63 �B%>71 P%=80
z�R%>38 �R%<42 �Q%=1 R%=40
�%�R%>35 �R%<45 �B%>35 �B%<45 R%=40
�%�R%>27 �R%<54 �B%>38 �B%<42 R%=40
��R%=79�A%=51M%(E%,G%)=41
��R%=0R%=81
��S%?P%>S%?R%:R%=P%
�3�S%?R%-S%?R% �10=1 �A%-A% �10=1 �S%?R%<41 R%=74
�2�S%?R%-S%?R%�10=9 �A%-A% �10=9 �S%?R%<65 R%=37
�$�S%?R%>M%(E%,G%) M%(E%,G%)=S%?R%
��D%>4��dhC
�U%=U%+K%:V%=V%+L%:�t|B
��K%=0 �L%=-1 �
��K%=-1 �L%=-1 K%=0
��K%=-1 �L%=0 L%=-1
�K%=-1 �L%=1 L%=0
�K%=0 �L%=1 K%=-1
�K%=1 �L%=1 K%=0
$�K%=1 �L%=0 L%=1
.�K%=1 �L%=-1 L%=0
8	�trB
B 
L��BOARD(X%,Y%)
V� T%
`�19,7,0;0;    
j
�X%,Y%
tT%=SIZ%*19
~�I%=0�19
��1,0,T%
��0,SIZ%,-T%
��
�
�X%,Y%
��I%=0�19
��1,T%,0
��0,-T%,SIZ%
��
��19,3,BOARDC%;0;
��29,X%-16;Y%;
��
� 

��BLOB

#�23,224,0,0,&7E,&42,&42,&7E,0,0
'�23,226,0,&08,&08,&08,&08,&08,&08,0
#�23,227,0,0,&3C,&24,&24,&3C,0,0
('�23,225,0,&18,&3C,&3C,&3C,&3C,&18,0
2,�23,228,0,0,0,&1C,0,0,0,0               
<�
F 
P��DO(X%,Y%,CODE%,KOLOR%)
Z�0,0:�5
d�(X%-1)*SIZ%+8,Y%*SIZ%-8
n
�0,KOLOR%
x� CODE%
��4
��
� 
�� �PALETTE
�#�28,0,31,19,29:�23;&200A;0;0;0;
��:*FX15
�*FX12,0
�=�"Please select"'"board colour";:BOARDC%=�PAL(3,BOARDC%) 
�:�13"my colour   ";:�DO(19,-2,225,1):MYC%=�PAL(1,MYC%)
�?�13"your colour  ";:�DO(19,-2,225,2):ITSC%=�PAL(2,ITSC%):�
��
� 
�ݤPAL(I%,J%)
	*FX15
*FX12,0
-� �19,I%,J%;0;:A%=�:J%=J%+1:� J%=8 � J%=1
"� A%=13 :� J%=1 � =7� =J%-1
, 
6��IN
@�:�"   Your move" 
J*FX11,1
T*FX12,1
^STIN$="/:ZXzx":�dLF
h	*FX15
rA$=�
|�A$=�13 �:�   
�HI%=0:�I%=I%+1:� A$=�STIN$,I%,1)�I%>7:�I%>7 � �DhF � � I%>4 � I%=I%-2
�?� I%<=2� J%=(I%-1)*2-1:�DO(0,CY%,228,0):�DO(20,CY%,228,0)  
�:�I%>2�J%=(I%-3)*2-1:�DO(CX%,0,225,0):�DO(CX%,20,225,0)
�3� T%?(27*(CY%+4)+CX%+4)=0 � �DO(CX%,CY%,227,0) 
�$� I%<=2� CY%=CY%+J% � CX%=CX%+J%
�$�CY%=0 � CY%=19 � � CY%=20 CY%=1
�$�CX%=0 � CX%=19 � � CX%=20 CX%=1
�L�DO(0,CY%,228,3):�DO(20,CY%,228,3):�DO(CX%,0,226,3):�DO(CX%,20,226,3)   
�6� T%?(27*(CY%+4)+CX%+4)=0 � �DO(CX%,CY%,227,2)    
�	�DhF
� 
���FINDWIN(X%,Y%,WHO%)
�� P%,XS%,YS%,TG%
P%=0:XS%=X%:YS%=Y%
� I%=-1  � 1
� J%=-1 � 1
&	TG%=0
0�
:COORDS%?P%=X%:P%=P%+1
DCOORDS%?P%=Y%:P%=P%+1
NX%=X%+I%
XY%=Y%+J%
b'� T%?(27*(Y%+4)+X%+4)<>WHO% � P%=10
lR�T%?(27*(Y%+4)+X%+4)<>WHO% � TG%=0 � P%<>10� X%=X%-5*I%:Y%=Y%-5*J%:TG%=1:�TpG
v,� P%=10 � I%=1:J%=1 � X%=XS%:Y%=YS%:P%=0
��,
��J%=0�3
��I%=0�9 � 2
�<�DO(COORDS%?I%,COORDS%?(I%+1),225,0):�:TG%=�:�� �=TG%+70
�M�I%=0�9 � 2:�DO(COORDS%?I%,COORDS%?(I%+1),225,WHO%):�:TG%=�:�� �=TG%+70:�
��
� 
�7� �INFO:�'"GOMOKU is a board game where the winner"
�.�"is the first to get 5 counters in a row"
�,�"(horizontal, vertical or diagonal)."  
�v�'"To place a counter on the board, move"'"the cursor (";�224;") to the desired square"'"and press RETURN."       
��'" CURSOR CONTROL KEYS :-"
��'�14)"Z - Left"
�'�14)"X - Right"
�'�14)": - Up"
�'�14)"/ - Down"
 ��'"To choose the board and counter colours,press any key when you are prompted and"'"the selected colour will alter. When thedesired colour is displayed press RETURN"
*+�"    Press the SPACE BAR to continue";
4
���=32
>�
H 
R� �OFF �23,1,0;0;0;0;:�
\ 
f4� �INITDBL $MAP=�255,�0):MAP?255=0:CHARPTR=224:�
p 
zW� �DBL(A$,y%)B$="":C$="":�CH%=1��A$:K%=�CHAR(��A$,CH%,1)):B$=B$+�K%:C$=C$+�(K%+1):�
�?K%=19-�A$/2:DBL$=�31+�K%+�y%+B$+�31+�K%+�(y%+1)+C$:�DBL$;:�
� 
��� �CHAR(C%)�MAP?C%�=MAP?C% ��CHARPTR>=256� �MAP?C%=CHARPTR:?BLOCK=C%:A%=10:X%=BLOCK:Y%=BLOCK �256:�osword:�J%=0�1:�23,CHARPTR+J%:�I%=2�9:�BLOCK?(J%*4+I%�2):�,:CHARPTR=CHARPTR+2:=MAP?C%
� 
�� Error-trap
�G�6:� �7,11)"Do you want to go on to"'�7)"the next program (Y/N)? ";
�
*FX 12
�-G%=�:G%=G%�&DF:� G%<>78 � G%<>89 � � �dJH
�	�G%,8
�� G% = 78 � �:�DZ@
��'"Play tape"'
��""
��
�
00000000  0d 00 0a 0c f4 20 47 4f  4d 4f 4b 55 0d 00 14 24  |..... GOMOKU...$|
00000010  f4 20 45 6c 65 63 74 72  6f 6e 20 49 6e 74 72 6f  |. Electron Intro|
00000020  64 75 63 74 6f 72 79 20  43 61 73 73 65 74 74 65  |ductory Cassette|
00000030  0d 00 1e 1b f4 20 41 75  74 68 6f 72 73 20 4a 2e  |..... Authors J.|
00000040  43 2e 20 61 6e 64 20 4c  2e 48 2e 0d 00 28 05 20  |C. and L.H...(. |
00000050  0d 00 32 07 ee 85 f9 0d  00 3c 99 e7 4d 25 3d 31  |..2......<..M%=1|
00000060  32 33 34 8c 8d 44 46 40  8b e7 4d 25 3d 35 36 37  |234..DF@..M%=567|
00000070  38 8c 8d 44 50 40 8b eb  35 3a ef 31 39 2c 33 2c  |8..DP@..5:.19,3,|
00000080  34 3b 30 3b 3a fb 32 3a  f1 8a 30 2c 35 29 22 44  |4;0;:.2:..0,5)"D|
00000090  6f 65 73 20 79 6f 75 72  20 63 61 73 73 65 74 74  |oes your cassett|
000000a0  65 22 27 27 22 72 65 63  6f 72 64 65 72 20 68 61  |e"''"recorder ha|
000000b0  76 65 20 6d 6f 74 6f 72  22 27 27 22 63 6f 6e 74  |ve motor"''"cont|
000000c0  72 6f 6c 20 28 59 2f 4e  29 3f 22 3b 3a e7 28 a5  |rol (Y/N)?";:.(.|
000000d0  80 26 44 46 29 3d 97 22  59 22 8c 4d 25 3d 35 36  |.&DF)=."Y".M%=56|
000000e0  37 38 3a e5 8d 44 50 40  8b 4d 25 3d 31 32 33 34  |78:..DP@.M%=1234|
000000f0  0d 00 46 82 d4 31 2c 2d  31 35 2c 31 32 31 2c 36  |..F..1,-15,121,6|
00000100  30 3a eb 35 3a ef 31 39  2c 33 2c 34 3b 30 3b 3a  |0:.5:.19,3,4;0;:|
00000110  fb 31 3a f1 8a 38 2c 39  29 22 53 54 4f 50 22 3b  |.1:..8,9)"STOP";|
00000120  3a fb 33 3a f1 8a 36 2c  31 33 29 22 74 68 65 20  |:.3:..6,13)"the |
00000130  74 61 70 65 22 3a fb 32  3a f1 8a 34 2c 32 35 29  |tape":.2:..4,25)|
00000140  22 50 72 65 73 73 20 53  50 41 43 45 22 8a 34 2c  |"Press SPACE".4,|
00000150  32 37 29 22 74 6f 20 63  6f 6e 74 69 6e 75 65 22  |27)"to continue"|
00000160  3a f5 fd a5 3d 33 32 3a  d4 26 31 31 2c 30 2c 30  |:...=32:.&11,0,0|
00000170  2c 30 0d 00 50 0d ee 85  d8 3a e5 8d 44 5a 40 0d  |,0..P....:..DZ@.|
00000180  00 5a 15 de 20 4d 41 50  20 32 35 35 2c 42 4c 4f  |.Z.. MAP 255,BLO|
00000190  43 4b 20 38 0d 00 64 10  6f 73 77 6f 72 64 3d 26  |CK 8..d.osword=&|
000001a0  46 46 46 31 0d 00 6e 0c  f2 49 4e 49 54 44 42 4c  |FFF1..n..INITDBL|
000001b0  0d 00 78 25 eb 34 3a f2  4f 46 46 3a f2 44 42 4c  |..x%.4:.OFF:.DBL|
000001c0  28 22 47 6f 6d 6f 6b 75  22 2c 31 32 29 3a 4e 25  |("Gomoku",12):N%|
000001d0  3d a6 35 30 30 0d 00 82  05 20 0d 00 8c 0e ee 85  |=.500.... ......|
000001e0  e5 8d 74 6c 48 20 20 20  0d 00 96 17 43 58 25 3d  |..tlH   ....CX%=|
000001f0  31 3a 43 59 25 3d 31 3a  53 49 5a 25 3d 34 30 0d  |1:CY%=1:SIZ%=40.|
00000200  00 a0 2d 40 25 3d 33 3a  48 57 25 3d 30 3a 43 57  |..-@%=3:HW%=0:CW|
00000210  25 3d 30 3a 42 4f 41 52  44 43 25 3d 37 3a 4d 59  |%=0:BOARDC%=7:MY|
00000220  43 25 3d 37 3a 49 54 53  43 25 3d 37 0d 00 aa 30  |C%=7:ITSC%=7...0|
00000230  f2 42 4c 4f 42 3a eb 36  3a f2 49 4e 46 4f 3a eb  |.BLOB:.6:.INFO:.|
00000240  35 3a f2 42 4f 41 52 44  28 34 30 2c 31 35 30 29  |5:.BOARD(40,150)|
00000250  3a f2 50 41 4c 45 54 54  45 20 20 20 0d 00 b4 26  |:.PALETTE   ...&|
00000260  de 20 4d 25 28 31 39 2c  31 39 29 2c 54 25 32 37  |. M%(19,19),T%27|
00000270  2a 32 37 2c 53 25 38 31  2c 43 4f 4f 52 44 53 25  |*27,S%81,COORDS%|
00000280  31 32 0d 00 be 16 e3 49  25 3d 31 b8 38 31 3a 53  |12.....I%=1.81:S|
00000290  25 3f 49 25 3d 30 3a ed  0d 00 c8 08 f2 4f 46 46  |%?I%=0:......OFF|
000002a0  0d 00 d2 4e e7 48 57 25  3e 30 84 43 57 25 3e 30  |...N.HW%>0.CW%>0|
000002b0  3a db 3a f1 22 43 68 61  6e 67 65 20 74 68 65 22  |:.:."Change the"|
000002c0  27 22 63 6f 6c 6f 75 72  73 20 28 59 2f 4e 29 3f  |'"colours (Y/N)?|
000002d0  22 3a 41 3d a5 3a e7 20  41 3d 38 39 3a f2 50 41  |":A=.:. A=89:.PA|
000002e0  4c 45 54 54 45 20 20 20  20 20 20 20 20 20 0d 00  |LETTE         ..|
000002f0  dc 28 db 3a f1 22 53 68  61 6c 6c 20 49 20 73 74  |.(.:."Shall I st|
00000300  61 72 74 20 28 59 2f 4e  29 3f 22 3a 41 3d a5 3a  |art (Y/N)?":A=.:|
00000310  db 20 20 20 20 20 0d 00  e6 38 53 25 3f 32 30 3d  |.     ...8S%?20=|
00000320  31 3a 53 25 3f 31 30 3d  34 30 3a 53 25 3f 31 32  |1:S%?10=40:S%?12|
00000330  3d 33 30 3a 53 25 3f 31  33 3d 34 37 3a 53 25 3f  |=30:S%?13=47:S%?|
00000340  32 37 3d 31 35 3a 53 25  3f 32 38 3d 32 30 0d 00  |27=15:S%?28=20..|
00000350  f0 38 53 25 3f 32 39 3d  31 30 3a 53 25 3f 33 30  |.8S%?29=10:S%?30|
00000360  3d 34 30 3a 53 25 3f 33  31 3d 35 30 3a 53 25 3f  |=40:S%?31=50:S%?|
00000370  33 32 3d 33 30 3a 53 25  3f 32 34 3d 31 3a 53 25  |32=30:S%?24=1:S%|
00000380  3f 33 36 3d 33 39 0d 00  fa 3a 53 25 3f 33 37 3d  |?36=39...:S%?37=|
00000390  36 35 3a 53 25 3f 33 38  3d 34 30 3a 53 25 3f 33  |65:S%?38=40:S%?3|
000003a0  39 3d 37 30 3a 53 25 3f  34 30 3d 31 30 30 3a 53  |9=70:S%?40=100:S|
000003b0  25 3f 34 31 3d 36 30 3a  53 25 3f 34 32 3d 33 30  |%?41=60:S%?42=30|
000003c0  0d 01 04 39 53 25 3f 34  33 3d 33 30 3a 53 25 3f  |...9S%?43=30:S%?|
000003d0  34 34 3d 33 30 3a 53 25  3f 36 32 3d 34 31 3a 53  |44=30:S%?62=41:S|
000003e0  25 3f 37 32 3d 33 31 3a  53 25 3f 37 33 3d 31 31  |%?72=31:S%?73=11|
000003f0  3a 53 25 3f 37 34 3d 34  31 0d 01 0e 39 53 25 3f  |:S%?74=41...9S%?|
00000400  37 38 3d 35 31 3a 53 25  3f 38 30 3d 39 30 3a 53  |78=51:S%?80=90:S|
00000410  25 3f 32 36 3d 32 31 3a  53 25 3f 37 39 3d 34 30  |%?26=21:S%?79=40|
00000420  3a 53 25 3f 36 30 3d 32  31 3a 53 25 3f 36 31 3d  |:S%?60=21:S%?61=|
00000430  31 31 0d 01 18 0b 53 25  3f 35 34 3d 31 0d 01 22  |11....S%?54=1.."|
00000440  0c e3 49 25 3d 31 b8 32  37 0d 01 2c 22 e7 49 25  |..I%=1.27..,".I%|
00000450  3c 3d 31 39 20 e3 4a 25  3d 31 b8 31 39 3a 4d 25  |<=19 .J%=1.19:M%|
00000460  28 49 25 2c 4a 25 29 3d  30 3a ed 0d 01 36 23 e3  |(I%,J%)=0:...6#.|
00000470  4a 25 3d 31 b8 32 37 2a  32 37 20 88 20 32 37 3a  |J%=1.27*27 . 27:|
00000480  54 25 3f 28 49 25 2b 4a  25 29 3d 30 3a ed 0d 01  |T%?(I%+J%)=0:...|
00000490  40 05 ed 0d 01 4a 2d 43  25 3d 2d 31 3a 57 25 3d  |@....J-C%=-1:W%=|
000004a0  31 39 2d b3 28 31 30 29  3a 4e 25 3d 31 34 3a 4f  |19-.(10):N%=14:O|
000004b0  25 3d 31 34 3a 58 25 3d  31 39 2d b3 28 31 30 29  |%=14:X%=19-.(10)|
000004c0  0d 01 54 0e e7 41 3d 38  39 8c 8d 64 7e 41 0d 01  |..T..A=89..d~A..|
000004d0  5e 15 f2 49 4e 3a 5a 25  3d 43 58 25 3a 59 25 3d  |^..IN:Z%=CX%:Y%=|
000004e0  43 59 25 0d 01 68 2f 59  25 3d 59 25 2b 34 3a 5a  |CY%..h/Y%=Y%+4:Z|
000004f0  25 3d 5a 25 2b 34 3a e7  59 25 3c 35 84 5a 25 3c  |%=Z%+4:.Y%<5.Z%<|
00000500  35 84 59 25 3e 32 33 84  5a 25 3e 32 33 8c 8d 44  |5.Y%>23.Z%>23..D|
00000510  5e 41 0d 01 72 19 e7 54  25 3f 28 59 25 2a 32 37  |^A..r..T%?(Y%*27|
00000520  2b 5a 25 29 3e 30 8c 8d  44 5e 41 0d 01 7c 18 f2  |+Z%)>0..D^A..|..|
00000530  44 4f 28 5a 25 2d 34 2c  59 25 2d 34 2c 32 32 35  |DO(Z%-4,Y%-4,225|
00000540  2c 32 29 0d 01 86 1f 54  25 3f 28 59 25 2a 32 37  |,2)....T%?(Y%*27|
00000550  2b 5a 25 29 3d 32 3a 49  25 3d 59 25 3a 4a 25 3d  |+Z%)=2:I%=Y%:J%=|
00000560  5a 25 0d 01 90 1f f1 bd  33 30 3b 22 20 20 54 68  |Z%......30;"  Th|
00000570  69 6e 6b 69 6e 67 2e 2e  2e 22 3a e4 8d 74 54 42  |inking...":..tTB|
00000580  20 0d 01 9a 10 e7 43 25  3c 3e 2d 31 8c 8d 44 4e  | .....C%<>-1..DN|
00000590  42 0d 01 a4 0f 49 25 3d  57 25 3a 4a 25 3d 58 25  |B....I%=W%:J%=X%|
000005a0  0d 01 ae 09 e4 8d 74 54  42 0d 01 b8 09 51 25 3d  |......tTB....Q%=|
000005b0  2d 31 0d 01 c2 0c e3 49  25 3d 35 b8 32 33 0d 01  |-1.....I%=5.23..|
000005c0  cc 23 e3 4a 25 3d 35 b8  32 33 3a 3a e7 54 25 3f  |.#.J%=5.23::.T%?|
000005d0  28 49 25 2a 32 37 2b 4a  25 29 3e 30 8c 8d 64 6a  |(I%*27+J%)>0..dj|
000005e0  41 0d 01 d6 21 41 25 3d  4d 25 28 49 25 2d 34 2c  |A...!A%=M%(I%-4,|
000005f0  4a 25 2d 34 29 3a e7 41  25 3c 51 25 20 8c 8d 64  |J%-4):.A%<Q% ..d|
00000600  6a 41 0d 01 e0 15 57 25  3d 49 25 3a 58 25 3d 4a  |jA....W%=I%:X%=J|
00000610  25 3a 51 25 3d 41 25 0d  01 ea 06 ed 2c 0d 01 f4  |%:Q%=A%.....,...|
00000620  05 db 0d 01 fe 0b e3 49  25 3d 31 b8 33 0d 02 08  |.......I%=1.3...|
00000630  18 f2 44 4f 28 58 25 2d  34 2c 57 25 2d 34 2c 32  |..DO(X%-4,W%-4,2|
00000640  32 35 2c 30 29 0d 02 12  11 54 3d 91 3a f5 fd 20  |25,0)....T=.:.. |
00000650  91 3e 54 2b 33 30 0d 02  1c 18 f2 44 4f 28 58 25  |.>T+30.....DO(X%|
00000660  2d 34 2c 57 25 2d 34 2c  32 32 35 2c 31 29 0d 02  |-4,W%-4,225,1)..|
00000670  26 11 54 3d 91 3a f5 fd  20 91 3e 54 2b 33 30 0d  |&.T=.:.. .>T+30.|
00000680  02 30 05 ed 0d 02 3a 2b  54 25 3f 28 57 25 2a 32  |.0....:+T%?(W%*2|
00000690  37 2b 58 25 29 3d 31 3a  e7 4d 25 28 57 25 2d 34  |7+X%)=1:.M%(W%-4|
000006a0  2c 58 25 2d 34 29 3c 31  30 30 8c 8d 44 5e 41 0d  |,X%-4)<100..D^A.|
000006b0  02 44 35 f2 46 49 4e 44  57 49 4e 28 58 25 2d 34  |.D5.FINDWIN(X%-4|
000006c0  2c 57 25 2d 34 2c 31 29  3a db 3a f1 22 49 20 77  |,W%-4,1):.:."I w|
000006d0  69 6e 22 3a 43 57 25 3d  43 57 25 2b 31 20 20 20  |in":CW%=CW%+1   |
000006e0  20 20 20 20 0d 02 4e 3c  e7 43 25 3d 30 3a f2 46  |    ..N<.C%=0:.F|
000006f0  49 4e 44 57 49 4e 28 5a  25 2d 34 2c 59 25 2d 34  |INDWIN(Z%-4,Y%-4|
00000700  2c 32 29 3a db 3a f1 22  59 6f 75 20 77 69 6e 22  |,2):.:."You win"|
00000710  3a 48 57 25 3d 48 57 25  2b 31 20 20 20 20 20 20  |:HW%=HW%+1      |
00000720  0d 02 58 1b f1 22 41 6e  6f 74 68 65 72 20 67 61  |..X.."Another ga|
00000730  6d 65 20 28 59 2f 4e 29  20 3f 22 0d 02 62 2c ef  |me (Y/N) ?"..b,.|
00000740  32 38 2c 31 34 2c 32 34  2c 31 39 2c 32 3a f1 27  |28,14,24,19,2:.'|
00000750  22 4d 65 20 20 22 3b 43  57 25 27 27 22 59 6f 75  |"Me  ";CW%''"You|
00000760  20 22 3b 48 57 25 20 0d  02 6c 09 2a 46 58 31 35  | ";HW% ..l.*FX15|
00000770  0d 02 76 09 2a 46 58 31  32 0d 02 80 53 41 3d a5  |..v.*FX12...SA=.|
00000780  3a e7 20 41 3c 3e 38 39  20 8c 20 8d 74 6c 48 20  |:. A<>89 . .tlH |
00000790  8b 20 e3 49 25 3d 31 b8  32 37 3a e3 4a 25 3d 31  |. .I%=1.27:.J%=1|
000007a0  b8 32 37 3a e7 20 54 25  3f 28 49 25 2a 32 37 2b  |.27:. T%?(I%*27+|
000007b0  4a 25 29 3e 30 20 8c 20  f2 44 4f 28 4a 25 2d 34  |J%)>0 . .DO(J%-4|
000007c0  2c 49 25 2d 34 2c 32 32  35 2c 30 29 0d 02 8a 1f  |,I%-4,225,0)....|
000007d0  ed 2c 3a db 3a ef 32 38  2c 30 2c 33 31 2c 31 39  |.,:.:.28,0,31,19|
000007e0  2c 32 39 3a e5 8d 74 7e  40 20 20 0d 02 94 13 4b  |,29:..t~@  ....K|
000007f0  25 3d 31 3a 4c 25 3d 2d  31 20 20 20 20 20 0d 02  |%=1:L%=-1     ..|
00000800  9e 16 e7 49 25 3c 4e 25  20 e7 49 25 3e 35 20 4e  |...I%<N% .I%>5 N|
00000810  25 3d 49 25 0d 02 a8 19  e7 20 49 25 3e 4f 25 20  |%=I%..... I%>O% |
00000820  e7 20 49 25 3c 32 33 20  4f 25 3d 49 25 0d 02 b2  |. I%<23 O%=I%...|
00000830  14 55 25 3d 49 25 3a 56  25 3d 4a 25 3a 44 25 3d  |.U%=I%:V%=J%:D%=|
00000840  30 0d 02 bc 11 44 25 3d  44 25 2b 31 3a 50 25 3d  |0....D%=D%+1:P%=|
00000850  38 31 0d 02 c6 1f e7 55  25 3e 32 33 84 56 25 3e  |81.....U%>23.V%>|
00000860  32 33 84 55 25 3c 35 84  56 25 3c 35 8c 8d 64 68  |23.U%<5.V%<5..dh|
00000870  43 0d 02 d0 39 45 25 3d  55 25 2d 34 3a 47 25 3d  |C...9E%=U%-4:G%=|
00000880  56 25 2d 34 3a 41 25 3d  4d 25 28 45 25 2c 47 25  |V%-4:A%=M%(E%,G%|
00000890  29 3a 51 25 3d 54 25 3f  28 32 37 2a 28 55 25 2b  |):Q%=T%?(27*(U%+|
000008a0  4b 25 29 2b 56 25 2b 4c  25 29 0d 02 da 71 52 25  |K%)+V%+L%)...qR%|
000008b0  3d 32 37 2a 54 25 3f 28  32 37 2a 28 55 25 2d 4b  |=27*T%?(27*(U%-K|
000008c0  25 29 2b 56 25 2d 4c 25  29 2b 39 2a 54 25 3f 28  |%)+V%-L%)+9*T%?(|
000008d0  32 37 2a 28 55 25 2d 32  2a 4b 25 29 2b 56 25 2d  |27*(U%-2*K%)+V%-|
000008e0  32 2a 4c 25 29 2b 33 2a  54 25 3f 28 32 37 2a 28  |2*L%)+3*T%?(27*(|
000008f0  55 25 2d 33 2a 4b 25 29  2b 56 25 2d 33 2a 4c 25  |U%-3*K%)+V%-3*L%|
00000900  29 2b 54 25 3f 28 32 37  2a 28 55 25 2d 34 2a 4b  |)+T%?(27*(U%-4*K|
00000910  25 29 2b 56 25 2d 34 2a  4c 25 29 0d 02 e4 44 42  |%)+V%-4*L%)...DB|
00000920  25 3d 51 25 2a 32 37 2b  54 25 3f 28 32 37 2a 28  |%=Q%*27+T%?(27*(|
00000930  55 25 2b 32 2a 4b 25 29  2b 56 25 2b 32 2a 4c 25  |U%+2*K%)+V%+2*L%|
00000940  29 2a 39 2b 54 25 3f 28  32 37 2a 28 55 25 2b 33  |)*9+T%?(27*(U%+3|
00000950  2a 4b 25 29 2b 56 25 2b  33 2a 4c 25 29 2a 33 0d  |*K%)+V%+3*L%)*3.|
00000960  02 ee 20 e7 52 25 3d 38  30 20 e7 54 25 3f 28 32  |.. .R%=80 .T%?(2|
00000970  37 2a 55 25 2b 56 25 29  3d 32 20 43 25 3d 30 0d  |7*U%+V%)=2 C%=0.|
00000980  02 f8 1a e7 54 25 3f 28  32 37 2a 55 25 2b 56 25  |....T%?(27*U%+V%|
00000990  29 3c 3e 30 8c 8d 64 54  43 0d 03 02 1d e7 52 25  |)<>0..dTC.....R%|
000009a0  3c 31 34 20 e7 52 25 3e  31 31 20 e7 51 25 3d 31  |<14 .R%>11 .Q%=1|
000009b0  20 50 25 3d 33 37 0d 03  0c 1e e7 52 25 3e 37 31  | P%=37.....R%>71|
000009c0  20 e7 42 25 3e 35 33 20  e7 42 25 3c 36 33 20 50  | .B%>53 .B%<63 P|
000009d0  25 3d 38 30 0d 03 16 17  e7 52 25 3e 37 31 20 e7  |%=80.....R%>71 .|
000009e0  42 25 3e 37 31 20 50 25  3d 38 30 0d 03 20 1d e7  |B%>71 P%=80.. ..|
000009f0  52 25 3e 35 33 20 e7 52  25 3c 36 33 20 e7 51 25  |R%>53 .R%<63 .Q%|
00000a00  3d 32 20 50 25 3d 37 32  0d 03 2a 17 e7 50 25 3d  |=2 P%=72..*..P%=|
00000a10  37 32 20 e7 52 25 3d 36  30 20 50 25 3d 33 31 0d  |72 .R%=60 P%=31.|
00000a20  03 34 0f e7 51 25 3c 3e  32 8c 8d 44 5c 43 0d 03  |.4..Q%<>2..D\C..|
00000a30  3e 0f e7 52 25 3d 37 38  50 25 3d 38 30 0d 03 48  |>..R%=78P%=80..H|
00000a40  0f e7 52 25 3d 37 39 50  25 3d 38 30 0d 03 52 0f  |..R%=79P%=80..R.|
00000a50  e7 52 25 3d 34 31 52 25  3d 38 31 0d 03 5c 1d e7  |.R%=41R%=81..\..|
00000a60  52 25 3c 34 32 20 e7 52  25 3e 33 35 20 e7 51 25  |R%<42 .R%>35 .Q%|
00000a70  3d 31 20 50 25 3d 34 31  0d 03 66 1d e7 52 25 3c  |=1 P%=41..f..R%<|
00000a80  33 33 20 e7 52 25 3e 32  39 20 e7 51 25 3d 31 20  |33 .R%>29 .Q%=1 |
00000a90  50 25 3d 34 31 0d 03 70  1e e7 52 25 3e 35 33 20  |P%=41..p..R%>53 |
00000aa0  e7 52 25 3c 36 33 20 e7  42 25 3e 37 31 20 50 25  |.R%<63 .B%>71 P%|
00000ab0  3d 38 30 0d 03 7a 1d e7  52 25 3e 33 38 20 e7 52  |=80..z..R%>38 .R|
00000ac0  25 3c 34 32 20 e7 51 25  3d 31 20 52 25 3d 34 30  |%<42 .Q%=1 R%=40|
00000ad0  0d 03 84 25 e7 52 25 3e  33 35 20 e7 52 25 3c 34  |...%.R%>35 .R%<4|
00000ae0  35 20 e7 42 25 3e 33 35  20 e7 42 25 3c 34 35 20  |5 .B%>35 .B%<45 |
00000af0  52 25 3d 34 30 0d 03 8e  25 e7 52 25 3e 32 37 20  |R%=40...%.R%>27 |
00000b00  e7 52 25 3c 35 34 20 e7  42 25 3e 33 38 20 e7 42  |.R%<54 .B%>38 .B|
00000b10  25 3c 34 32 20 52 25 3d  34 30 0d 03 98 1c e7 52  |%<42 R%=40.....R|
00000b20  25 3d 37 39 e7 41 25 3d  35 31 4d 25 28 45 25 2c  |%=79.A%=51M%(E%,|
00000b30  47 25 29 3d 34 31 0d 03  a2 0e e7 52 25 3d 30 52  |G%)=41.....R%=0R|
00000b40  25 3d 38 31 0d 03 ac 16  e7 53 25 3f 50 25 3e 53  |%=81.....S%?P%>S|
00000b50  25 3f 52 25 3a 52 25 3d  50 25 0d 03 b6 33 e7 53  |%?R%:R%=P%...3.S|
00000b60  25 3f 52 25 2d 53 25 3f  52 25 20 83 31 30 3d 31  |%?R%-S%?R% .10=1|
00000b70  20 e7 41 25 2d 41 25 20  83 31 30 3d 31 20 e7 53  | .A%-A% .10=1 .S|
00000b80  25 3f 52 25 3c 34 31 20  52 25 3d 37 34 0d 03 c0  |%?R%<41 R%=74...|
00000b90  32 e7 53 25 3f 52 25 2d  53 25 3f 52 25 83 31 30  |2.S%?R%-S%?R%.10|
00000ba0  3d 39 20 e7 41 25 2d 41  25 20 83 31 30 3d 39 20  |=9 .A%-A% .10=9 |
00000bb0  e7 53 25 3f 52 25 3c 36  35 20 52 25 3d 33 37 0d  |.S%?R%<65 R%=37.|
00000bc0  03 ca 24 e7 53 25 3f 52  25 3e 4d 25 28 45 25 2c  |..$.S%?R%>M%(E%,|
00000bd0  47 25 29 20 4d 25 28 45  25 2c 47 25 29 3d 53 25  |G%) M%(E%,G%)=S%|
00000be0  3f 52 25 0d 03 d4 0e e7  44 25 3e 34 8c 8d 64 68  |?R%.....D%>4..dh|
00000bf0  43 0d 03 de 1b 55 25 3d  55 25 2b 4b 25 3a 56 25  |C....U%=U%+K%:V%|
00000c00  3d 56 25 2b 4c 25 3a e5  8d 74 7c 42 0d 03 e8 12  |=V%+L%:..t|B....|
00000c10  e7 4b 25 3d 30 20 e7 4c  25 3d 2d 31 20 f8 0d 03  |.K%=0 .L%=-1 ...|
00000c20  f2 16 e7 4b 25 3d 2d 31  20 e7 4c 25 3d 2d 31 20  |...K%=-1 .L%=-1 |
00000c30  4b 25 3d 30 0d 03 fc 16  e7 4b 25 3d 2d 31 20 e7  |K%=0.....K%=-1 .|
00000c40  4c 25 3d 30 20 4c 25 3d  2d 31 0d 04 06 15 e7 4b  |L%=0 L%=-1.....K|
00000c50  25 3d 2d 31 20 e7 4c 25  3d 31 20 4c 25 3d 30 0d  |%=-1 .L%=1 L%=0.|
00000c60  04 10 15 e7 4b 25 3d 30  20 e7 4c 25 3d 31 20 4b  |....K%=0 .L%=1 K|
00000c70  25 3d 2d 31 0d 04 1a 14  e7 4b 25 3d 31 20 e7 4c  |%=-1.....K%=1 .L|
00000c80  25 3d 31 20 4b 25 3d 30  0d 04 24 14 e7 4b 25 3d  |%=1 K%=0..$..K%=|
00000c90  31 20 e7 4c 25 3d 30 20  4c 25 3d 31 0d 04 2e 15  |1 .L%=0 L%=1....|
00000ca0  e7 4b 25 3d 31 20 e7 4c  25 3d 2d 31 20 4c 25 3d  |.K%=1 .L%=-1 L%=|
00000cb0  30 0d 04 38 09 e5 8d 74  72 42 0d 04 42 05 20 0d  |0..8...trB..B. .|
00000cc0  04 4c 12 dd f2 42 4f 41  52 44 28 58 25 2c 59 25  |.L...BOARD(X%,Y%|
00000cd0  29 0d 04 56 08 ea 20 54  25 0d 04 60 12 ef 31 39  |)..V.. T%..`..19|
00000ce0  2c 37 2c 30 3b 30 3b 20  20 20 20 0d 04 6a 0a ec  |,7,0;0;    ..j..|
00000cf0  58 25 2c 59 25 0d 04 74  0e 54 25 3d 53 49 5a 25  |X%,Y%..t.T%=SIZ%|
00000d00  2a 31 39 0d 04 7e 0c e3  49 25 3d 30 b8 31 39 0d  |*19..~..I%=0.19.|
00000d10  04 88 0b f0 31 2c 30 2c  54 25 0d 04 92 0f f0 30  |....1,0,T%.....0|
00000d20  2c 53 49 5a 25 2c 2d 54  25 0d 04 9c 05 ed 0d 04  |,SIZ%,-T%.......|
00000d30  a6 0a ec 58 25 2c 59 25  0d 04 b0 0c e3 49 25 3d  |...X%,Y%.....I%=|
00000d40  30 b8 31 39 0d 04 ba 0b  f0 31 2c 54 25 2c 30 0d  |0.19.....1,T%,0.|
00000d50  04 c4 0f f0 30 2c 2d 54  25 2c 53 49 5a 25 0d 04  |....0,-T%,SIZ%..|
00000d60  ce 05 ed 0d 04 d8 14 ef  31 39 2c 33 2c 42 4f 41  |........19,3,BOA|
00000d70  52 44 43 25 3b 30 3b 0d  04 e2 11 ef 32 39 2c 58  |RDC%;0;.....29,X|
00000d80  25 2d 31 36 3b 59 25 3b  0d 04 ec 05 e1 0d 04 f6  |%-16;Y%;........|
00000d90  05 20 0d 05 00 0a dd f2  42 4c 4f 42 0d 05 0a 23  |. ......BLOB...#|
00000da0  ef 32 33 2c 32 32 34 2c  30 2c 30 2c 26 37 45 2c  |.23,224,0,0,&7E,|
00000db0  26 34 32 2c 26 34 32 2c  26 37 45 2c 30 2c 30 0d  |&42,&42,&7E,0,0.|
00000dc0  05 14 27 ef 32 33 2c 32  32 36 2c 30 2c 26 30 38  |..'.23,226,0,&08|
00000dd0  2c 26 30 38 2c 26 30 38  2c 26 30 38 2c 26 30 38  |,&08,&08,&08,&08|
00000de0  2c 26 30 38 2c 30 0d 05  1e 23 ef 32 33 2c 32 32  |,&08,0...#.23,22|
00000df0  37 2c 30 2c 30 2c 26 33  43 2c 26 32 34 2c 26 32  |7,0,0,&3C,&24,&2|
00000e00  34 2c 26 33 43 2c 30 2c  30 0d 05 28 27 ef 32 33  |4,&3C,0,0..('.23|
00000e10  2c 32 32 35 2c 30 2c 26  31 38 2c 26 33 43 2c 26  |,225,0,&18,&3C,&|
00000e20  33 43 2c 26 33 43 2c 26  33 43 2c 26 31 38 2c 30  |3C,&3C,&3C,&18,0|
00000e30  0d 05 32 2c ef 32 33 2c  32 32 38 2c 30 2c 30 2c  |..2,.23,228,0,0,|
00000e40  30 2c 26 31 43 2c 30 2c  30 2c 30 2c 30 20 20 20  |0,&1C,0,0,0,0   |
00000e50  20 20 20 20 20 20 20 20  20 20 20 20 0d 05 3c 05  |            ..<.|
00000e60  e1 0d 05 46 05 20 0d 05  50 1c dd f2 44 4f 28 58  |...F. ..P...DO(X|
00000e70  25 2c 59 25 2c 43 4f 44  45 25 2c 4b 4f 4c 4f 52  |%,Y%,CODE%,KOLOR|
00000e80  25 29 0d 05 5a 0b ec 30  2c 30 3a ef 35 0d 05 64  |%)..Z..0,0:.5..d|
00000e90  1c ec 28 58 25 2d 31 29  2a 53 49 5a 25 2b 38 2c  |..(X%-1)*SIZ%+8,|
00000ea0  59 25 2a 53 49 5a 25 2d  38 0d 05 6e 0d e6 30 2c  |Y%*SIZ%-8..n..0,|
00000eb0  4b 4f 4c 4f 52 25 0d 05  78 0b ef 20 43 4f 44 45  |KOLOR%..x.. CODE|
00000ec0  25 0d 05 82 06 ef 34 0d  05 8c 05 e1 0d 05 96 05  |%.....4.........|
00000ed0  20 0d 05 a0 0e dd 20 f2  50 41 4c 45 54 54 45 0d  | ..... .PALETTE.|
00000ee0  05 aa 23 ef 32 38 2c 30  2c 33 31 2c 31 39 2c 32  |..#.28,0,31,19,2|
00000ef0  39 3a ef 32 33 3b 26 32  30 30 41 3b 30 3b 30 3b  |9:.23;&200A;0;0;|
00000f00  30 3b 0d 05 b4 0b db 3a  2a 46 58 31 35 0d 05 be  |0;.....:*FX15...|
00000f10  0b 2a 46 58 31 32 2c 30  0d 05 c8 3d f1 22 50 6c  |.*FX12,0...=."Pl|
00000f20  65 61 73 65 20 73 65 6c  65 63 74 22 27 22 62 6f  |ease select"'"bo|
00000f30  61 72 64 20 63 6f 6c 6f  75 72 22 3b 3a 42 4f 41  |ard colour";:BOA|
00000f40  52 44 43 25 3d a4 50 41  4c 28 33 2c 42 4f 41 52  |RDC%=.PAL(3,BOAR|
00000f50  44 43 25 29 20 0d 05 d2  3a f1 bd 31 33 22 6d 79  |DC%) ...:..13"my|
00000f60  20 63 6f 6c 6f 75 72 20  20 20 22 3b 3a f2 44 4f  | colour   ";:.DO|
00000f70  28 31 39 2c 2d 32 2c 32  32 35 2c 31 29 3a 4d 59  |(19,-2,225,1):MY|
00000f80  43 25 3d a4 50 41 4c 28  31 2c 4d 59 43 25 29 0d  |C%=.PAL(1,MYC%).|
00000f90  05 dc 3f f1 bd 31 33 22  79 6f 75 72 20 63 6f 6c  |..?..13"your col|
00000fa0  6f 75 72 20 20 22 3b 3a  f2 44 4f 28 31 39 2c 2d  |our  ";:.DO(19,-|
00000fb0  32 2c 32 32 35 2c 32 29  3a 49 54 53 43 25 3d a4  |2,225,2):ITSC%=.|
00000fc0  50 41 4c 28 32 2c 49 54  53 43 25 29 3a db 0d 05  |PAL(2,ITSC%):...|
00000fd0  e6 05 e1 0d 05 f0 05 20  0d 05 fa 10 dd a4 50 41  |....... ......PA|
00000fe0  4c 28 49 25 2c 4a 25 29  0d 06 04 09 2a 46 58 31  |L(I%,J%)....*FX1|
00000ff0  35 0d 06 0e 0b 2a 46 58  31 32 2c 30 0d 06 18 2d  |5....*FX12,0...-|
00001000  f5 20 ef 31 39 2c 49 25  2c 4a 25 3b 30 3b 3a 41  |. .19,I%,J%;0;:A|
00001010  25 3d a5 3a 4a 25 3d 4a  25 2b 31 3a e7 20 4a 25  |%=.:J%=J%+1:. J%|
00001020  3d 38 20 8c 20 4a 25 3d  31 0d 06 22 1f fd 20 41  |=8 . J%=1..".. A|
00001030  25 3d 31 33 20 3a e7 20  4a 25 3d 31 20 8c 20 3d  |%=13 :. J%=1 . =|
00001040  37 8b 20 3d 4a 25 2d 31  0d 06 2c 05 20 0d 06 36  |7. =J%-1..,. ..6|
00001050  08 dd f2 49 4e 0d 06 40  16 db 3a f1 22 20 20 20  |...IN..@..:."   |
00001060  59 6f 75 72 20 6d 6f 76  65 22 20 0d 06 4a 0b 2a  |Your move" ..J.*|
00001070  46 58 31 31 2c 31 0d 06  54 0b 2a 46 58 31 32 2c  |FX11,1..T.*FX12,|
00001080  31 0d 06 5e 18 53 54 49  4e 24 3d 22 2f 3a 5a 58  |1..^.STIN$="/:ZX|
00001090  7a 78 22 3a e5 8d 64 4c  46 0d 06 68 09 2a 46 58  |zx":..dLF..h.*FX|
000010a0  31 35 0d 06 72 08 41 24  3d be 0d 06 7c 12 e7 41  |15..r.A$=...|..A|
000010b0  24 3d bd 31 33 20 db 3a  e1 20 20 20 0d 06 86 48  |$=.13 .:.   ...H|
000010c0  49 25 3d 30 3a f5 49 25  3d 49 25 2b 31 3a fd 20  |I%=0:.I%=I%+1:. |
000010d0  41 24 3d c1 53 54 49 4e  24 2c 49 25 2c 31 29 84  |A$=.STIN$,I%,1).|
000010e0  49 25 3e 37 3a e7 49 25  3e 37 20 8c 20 8d 44 68  |I%>7:.I%>7 . .Dh|
000010f0  46 20 8b 20 e7 20 49 25  3e 34 20 8c 20 49 25 3d  |F . . I%>4 . I%=|
00001100  49 25 2d 32 0d 06 90 3f  e7 20 49 25 3c 3d 32 8c  |I%-2...?. I%<=2.|
00001110  20 4a 25 3d 28 49 25 2d  31 29 2a 32 2d 31 3a f2  | J%=(I%-1)*2-1:.|
00001120  44 4f 28 30 2c 43 59 25  2c 32 32 38 2c 30 29 3a  |DO(0,CY%,228,0):|
00001130  f2 44 4f 28 32 30 2c 43  59 25 2c 32 32 38 2c 30  |.DO(20,CY%,228,0|
00001140  29 20 20 0d 06 9a 3a e7  49 25 3e 32 8c 4a 25 3d  |)  ...:.I%>2.J%=|
00001150  28 49 25 2d 33 29 2a 32  2d 31 3a f2 44 4f 28 43  |(I%-3)*2-1:.DO(C|
00001160  58 25 2c 30 2c 32 32 35  2c 30 29 3a f2 44 4f 28  |X%,0,225,0):.DO(|
00001170  43 58 25 2c 32 30 2c 32  32 35 2c 30 29 0d 06 a4  |CX%,20,225,0)...|
00001180  33 e7 20 54 25 3f 28 32  37 2a 28 43 59 25 2b 34  |3. T%?(27*(CY%+4|
00001190  29 2b 43 58 25 2b 34 29  3d 30 20 8c 20 f2 44 4f  |)+CX%+4)=0 . .DO|
000011a0  28 43 58 25 2c 43 59 25  2c 32 32 37 2c 30 29 20  |(CX%,CY%,227,0) |
000011b0  0d 06 ae 24 e7 20 49 25  3c 3d 32 8c 20 43 59 25  |...$. I%<=2. CY%|
000011c0  3d 43 59 25 2b 4a 25 20  8b 20 43 58 25 3d 43 58  |=CY%+J% . CX%=CX|
000011d0  25 2b 4a 25 0d 06 b8 24  e7 43 59 25 3d 30 20 8c  |%+J%...$.CY%=0 .|
000011e0  20 43 59 25 3d 31 39 20  8b 20 e7 20 43 59 25 3d  | CY%=19 . . CY%=|
000011f0  32 30 20 43 59 25 3d 31  0d 06 c2 24 e7 43 58 25  |20 CY%=1...$.CX%|
00001200  3d 30 20 8c 20 43 58 25  3d 31 39 20 8b 20 e7 20  |=0 . CX%=19 . . |
00001210  43 58 25 3d 32 30 20 43  58 25 3d 31 0d 06 cc 4c  |CX%=20 CX%=1...L|
00001220  f2 44 4f 28 30 2c 43 59  25 2c 32 32 38 2c 33 29  |.DO(0,CY%,228,3)|
00001230  3a f2 44 4f 28 32 30 2c  43 59 25 2c 32 32 38 2c  |:.DO(20,CY%,228,|
00001240  33 29 3a f2 44 4f 28 43  58 25 2c 30 2c 32 32 36  |3):.DO(CX%,0,226|
00001250  2c 33 29 3a f2 44 4f 28  43 58 25 2c 32 30 2c 32  |,3):.DO(CX%,20,2|
00001260  32 36 2c 33 29 20 20 20  0d 06 d6 36 e7 20 54 25  |26,3)   ...6. T%|
00001270  3f 28 32 37 2a 28 43 59  25 2b 34 29 2b 43 58 25  |?(27*(CY%+4)+CX%|
00001280  2b 34 29 3d 30 20 8c 20  f2 44 4f 28 43 58 25 2c  |+4)=0 . .DO(CX%,|
00001290  43 59 25 2c 32 32 37 2c  32 29 20 20 20 20 0d 06  |CY%,227,2)    ..|
000012a0  e0 09 e5 8d 44 68 46 0d  06 ea 05 20 0d 06 f4 19  |....DhF.... ....|
000012b0  dd f2 46 49 4e 44 57 49  4e 28 58 25 2c 59 25 2c  |..FINDWIN(X%,Y%,|
000012c0  57 48 4f 25 29 0d 06 fe  14 ea 20 50 25 2c 58 53  |WHO%)..... P%,XS|
000012d0  25 2c 59 53 25 2c 54 47  25 0d 07 08 16 50 25 3d  |%,YS%,TG%....P%=|
000012e0  30 3a 58 53 25 3d 58 25  3a 59 53 25 3d 59 25 0d  |0:XS%=X%:YS%=Y%.|
000012f0  07 12 10 e3 20 49 25 3d  2d 31 20 20 b8 20 31 0d  |.... I%=-1  . 1.|
00001300  07 1c 0f e3 20 4a 25 3d  2d 31 20 b8 20 31 0d 07  |.... J%=-1 . 1..|
00001310  26 09 54 47 25 3d 30 0d  07 30 05 f5 0d 07 3a 19  |&.TG%=0..0....:.|
00001320  43 4f 4f 52 44 53 25 3f  50 25 3d 58 25 3a 50 25  |COORDS%?P%=X%:P%|
00001330  3d 50 25 2b 31 0d 07 44  19 43 4f 4f 52 44 53 25  |=P%+1..D.COORDS%|
00001340  3f 50 25 3d 59 25 3a 50  25 3d 50 25 2b 31 0d 07  |?P%=Y%:P%=P%+1..|
00001350  4e 0c 58 25 3d 58 25 2b  49 25 0d 07 58 0c 59 25  |N.X%=X%+I%..X.Y%|
00001360  3d 59 25 2b 4a 25 0d 07  62 27 fd 20 54 25 3f 28  |=Y%+J%..b'. T%?(|
00001370  32 37 2a 28 59 25 2b 34  29 2b 58 25 2b 34 29 3c  |27*(Y%+4)+X%+4)<|
00001380  3e 57 48 4f 25 20 84 20  50 25 3d 31 30 0d 07 6c  |>WHO% . P%=10..l|
00001390  52 e7 54 25 3f 28 32 37  2a 28 59 25 2b 34 29 2b  |R.T%?(27*(Y%+4)+|
000013a0  58 25 2b 34 29 3c 3e 57  48 4f 25 20 80 20 54 47  |X%+4)<>WHO% . TG|
000013b0  25 3d 30 20 80 20 50 25  3c 3e 31 30 8c 20 58 25  |%=0 . P%<>10. X%|
000013c0  3d 58 25 2d 35 2a 49 25  3a 59 25 3d 59 25 2d 35  |=X%-5*I%:Y%=Y%-5|
000013d0  2a 4a 25 3a 54 47 25 3d  31 3a e5 8d 54 70 47 0d  |*J%:TG%=1:..TpG.|
000013e0  07 76 2c e7 20 50 25 3d  31 30 20 8c 20 49 25 3d  |.v,. P%=10 . I%=|
000013f0  31 3a 4a 25 3d 31 20 8b  20 58 25 3d 58 53 25 3a  |1:J%=1 . X%=XS%:|
00001400  59 25 3d 59 53 25 3a 50  25 3d 30 0d 07 80 06 ed  |Y%=YS%:P%=0.....|
00001410  2c 0d 07 8a 0b e3 4a 25  3d 30 b8 33 0d 07 94 0f  |,.....J%=0.3....|
00001420  e3 49 25 3d 30 b8 39 20  88 20 32 0d 07 9e 3c f2  |.I%=0.9 . 2...<.|
00001430  44 4f 28 43 4f 4f 52 44  53 25 3f 49 25 2c 43 4f  |DO(COORDS%?I%,CO|
00001440  4f 52 44 53 25 3f 28 49  25 2b 31 29 2c 32 32 35  |ORDS%?(I%+1),225|
00001450  2c 30 29 3a ed 3a 54 47  25 3d 91 3a f5 fd 20 91  |,0):.:TG%=.:.. .|
00001460  3d 54 47 25 2b 37 30 0d  07 a8 4d e3 49 25 3d 30  |=TG%+70...M.I%=0|
00001470  b8 39 20 88 20 32 3a f2  44 4f 28 43 4f 4f 52 44  |.9 . 2:.DO(COORD|
00001480  53 25 3f 49 25 2c 43 4f  4f 52 44 53 25 3f 28 49  |S%?I%,COORDS%?(I|
00001490  25 2b 31 29 2c 32 32 35  2c 57 48 4f 25 29 3a ed  |%+1),225,WHO%):.|
000014a0  3a 54 47 25 3d 91 3a f5  fd 20 91 3d 54 47 25 2b  |:TG%=.:.. .=TG%+|
000014b0  37 30 3a ed 0d 07 b2 05  e1 0d 07 bc 05 20 0d 07  |70:.......... ..|
000014c0  c6 37 dd 20 f2 49 4e 46  4f 3a f1 27 22 47 4f 4d  |.7. .INFO:.'"GOM|
000014d0  4f 4b 55 20 69 73 20 61  20 62 6f 61 72 64 20 67  |OKU is a board g|
000014e0  61 6d 65 20 77 68 65 72  65 20 74 68 65 20 77 69  |ame where the wi|
000014f0  6e 6e 65 72 22 0d 07 d0  2e f1 22 69 73 20 74 68  |nner"....."is th|
00001500  65 20 66 69 72 73 74 20  74 6f 20 67 65 74 20 35  |e first to get 5|
00001510  20 63 6f 75 6e 74 65 72  73 20 69 6e 20 61 20 72  | counters in a r|
00001520  6f 77 22 0d 07 da 2c f1  22 28 68 6f 72 69 7a 6f  |ow"...,."(horizo|
00001530  6e 74 61 6c 2c 20 76 65  72 74 69 63 61 6c 20 6f  |ntal, vertical o|
00001540  72 20 64 69 61 67 6f 6e  61 6c 29 2e 22 20 20 0d  |r diagonal)."  .|
00001550  07 e4 76 f1 27 22 54 6f  20 70 6c 61 63 65 20 61  |..v.'"To place a|
00001560  20 63 6f 75 6e 74 65 72  20 6f 6e 20 74 68 65 20  | counter on the |
00001570  62 6f 61 72 64 2c 20 6d  6f 76 65 22 27 22 74 68  |board, move"'"th|
00001580  65 20 63 75 72 73 6f 72  20 28 22 3b bd 32 32 34  |e cursor (";.224|
00001590  3b 22 29 20 74 6f 20 74  68 65 20 64 65 73 69 72  |;") to the desir|
000015a0  65 64 20 73 71 75 61 72  65 22 27 22 61 6e 64 20  |ed square"'"and |
000015b0  70 72 65 73 73 20 52 45  54 55 52 4e 2e 22 20 20  |press RETURN."  |
000015c0  20 20 20 20 20 0d 07 ee  1f f1 27 22 20 43 55 52  |     .....'" CUR|
000015d0  53 4f 52 20 43 4f 4e 54  52 4f 4c 20 4b 45 59 53  |SOR CONTROL KEYS|
000015e0  20 3a 2d 22 0d 07 f8 14  f1 27 8a 31 34 29 22 5a  | :-".....'.14)"Z|
000015f0  20 2d 20 4c 65 66 74 22  0d 08 02 15 f1 27 8a 31  | - Left".....'.1|
00001600  34 29 22 58 20 2d 20 52  69 67 68 74 22 0d 08 0c  |4)"X - Right"...|
00001610  12 f1 27 8a 31 34 29 22  3a 20 2d 20 55 70 22 0d  |..'.14)": - Up".|
00001620  08 16 14 f1 27 8a 31 34  29 22 2f 20 2d 20 44 6f  |....'.14)"/ - Do|
00001630  77 6e 22 0d 08 20 aa f1  27 22 54 6f 20 63 68 6f  |wn".. ..'"To cho|
00001640  6f 73 65 20 74 68 65 20  62 6f 61 72 64 20 61 6e  |ose the board an|
00001650  64 20 63 6f 75 6e 74 65  72 20 63 6f 6c 6f 75 72  |d counter colour|
00001660  73 2c 70 72 65 73 73 20  61 6e 79 20 6b 65 79 20  |s,press any key |
00001670  77 68 65 6e 20 79 6f 75  20 61 72 65 20 70 72 6f  |when you are pro|
00001680  6d 70 74 65 64 20 61 6e  64 22 27 22 74 68 65 20  |mpted and"'"the |
00001690  73 65 6c 65 63 74 65 64  20 63 6f 6c 6f 75 72 20  |selected colour |
000016a0  77 69 6c 6c 20 61 6c 74  65 72 2e 20 57 68 65 6e  |will alter. When|
000016b0  20 74 68 65 64 65 73 69  72 65 64 20 63 6f 6c 6f  | thedesired colo|
000016c0  75 72 20 69 73 20 64 69  73 70 6c 61 79 65 64 20  |ur is displayed |
000016d0  70 72 65 73 73 20 52 45  54 55 52 4e 22 0d 08 2a  |press RETURN"..*|
000016e0  2b f1 22 20 20 20 20 50  72 65 73 73 20 74 68 65  |+."    Press the|
000016f0  20 53 50 41 43 45 20 42  41 52 20 74 6f 20 63 6f  | SPACE BAR to co|
00001700  6e 74 69 6e 75 65 22 3b  0d 08 34 0a f5 fd a5 3d  |ntinue";..4....=|
00001710  33 32 0d 08 3e 05 e1 0d  08 48 05 20 0d 08 52 1b  |32..>....H. ..R.|
00001720  dd 20 f2 4f 46 46 20 ef  32 33 2c 31 2c 30 3b 30  |. .OFF .23,1,0;0|
00001730  3b 30 3b 30 3b 3a e1 0d  08 5c 05 20 0d 08 66 34  |;0;0;:...\. ..f4|
00001740  dd 20 f2 49 4e 49 54 44  42 4c 20 24 4d 41 50 3d  |. .INITDBL $MAP=|
00001750  c4 32 35 35 2c bd 30 29  3a 4d 41 50 3f 32 35 35  |.255,.0):MAP?255|
00001760  3d 30 3a 43 48 41 52 50  54 52 3d 32 32 34 3a e1  |=0:CHARPTR=224:.|
00001770  0d 08 70 05 20 0d 08 7a  57 dd 20 f2 44 42 4c 28  |..p. ..zW. .DBL(|
00001780  41 24 2c 79 25 29 42 24  3d 22 22 3a 43 24 3d 22  |A$,y%)B$="":C$="|
00001790  22 3a e3 43 48 25 3d 31  b8 a9 41 24 3a 4b 25 3d  |":.CH%=1..A$:K%=|
000017a0  a4 43 48 41 52 28 97 c1  41 24 2c 43 48 25 2c 31  |.CHAR(..A$,CH%,1|
000017b0  29 29 3a 42 24 3d 42 24  2b bd 4b 25 3a 43 24 3d  |)):B$=B$+.K%:C$=|
000017c0  43 24 2b bd 28 4b 25 2b  31 29 3a ed 0d 08 84 3f  |C$+.(K%+1):....?|
000017d0  4b 25 3d 31 39 2d a9 41  24 2f 32 3a 44 42 4c 24  |K%=19-.A$/2:DBL$|
000017e0  3d bd 33 31 2b bd 4b 25  2b bd 79 25 2b 42 24 2b  |=.31+.K%+.y%+B$+|
000017f0  bd 33 31 2b bd 4b 25 2b  bd 28 79 25 2b 31 29 2b  |.31+.K%+.(y%+1)+|
00001800  43 24 3a f1 44 42 4c 24  3b 3a e1 0d 08 8e 05 20  |C$:.DBL$;:..... |
00001810  0d 08 98 bc dd 20 a4 43  48 41 52 28 43 25 29 e7  |..... .CHAR(C%).|
00001820  4d 41 50 3f 43 25 8c 3d  4d 41 50 3f 43 25 20 8b  |MAP?C%.=MAP?C% .|
00001830  e7 43 48 41 52 50 54 52  3e 3d 32 35 36 fa 20 8b  |.CHARPTR>=256. .|
00001840  4d 41 50 3f 43 25 3d 43  48 41 52 50 54 52 3a 3f  |MAP?C%=CHARPTR:?|
00001850  42 4c 4f 43 4b 3d 43 25  3a 41 25 3d 31 30 3a 58  |BLOCK=C%:A%=10:X|
00001860  25 3d 42 4c 4f 43 4b 3a  59 25 3d 42 4c 4f 43 4b  |%=BLOCK:Y%=BLOCK|
00001870  20 81 32 35 36 3a d6 6f  73 77 6f 72 64 3a e3 4a  | .256:.osword:.J|
00001880  25 3d 30 b8 31 3a ef 32  33 2c 43 48 41 52 50 54  |%=0.1:.23,CHARPT|
00001890  52 2b 4a 25 3a e3 49 25  3d 32 b8 39 3a ef 42 4c  |R+J%:.I%=2.9:.BL|
000018a0  4f 43 4b 3f 28 4a 25 2a  34 2b 49 25 81 32 29 3a  |OCK?(J%*4+I%.2):|
000018b0  ed 2c 3a 43 48 41 52 50  54 52 3d 43 48 41 52 50  |.,:CHARPTR=CHARP|
000018c0  54 52 2b 32 3a 3d 4d 41  50 3f 43 25 0d 08 a2 05  |TR+2:=MAP?C%....|
000018d0  20 0d 08 ac 10 f4 20 45  72 72 6f 72 2d 74 72 61  | ..... Error-tra|
000018e0  70 0d 08 b6 47 eb 36 3a  f1 20 8a 37 2c 31 31 29  |p...G.6:. .7,11)|
000018f0  22 44 6f 20 79 6f 75 20  77 61 6e 74 20 74 6f 20  |"Do you want to |
00001900  67 6f 20 6f 6e 20 74 6f  22 27 8a 37 29 22 74 68  |go on to"'.7)"th|
00001910  65 20 6e 65 78 74 20 70  72 6f 67 72 61 6d 20 28  |e next program (|
00001920  59 2f 4e 29 3f 20 22 3b  0d 08 c0 0a 2a 46 58 20  |Y/N)? ";....*FX |
00001930  31 32 0d 08 ca 2d 47 25  3d a5 3a 47 25 3d 47 25  |12...-G%=.:G%=G%|
00001940  80 26 44 46 3a e7 20 47  25 3c 3e 37 38 20 80 20  |.&DF:. G%<>78 . |
00001950  47 25 3c 3e 38 39 20 8c  20 e5 20 8d 64 4a 48 0d  |G%<>89 . . .dJH.|
00001960  08 d4 09 ef 47 25 2c 38  0d 08 de 17 e7 20 47 25  |....G%,8..... G%|
00001970  20 3d 20 37 38 20 8c 20  d8 3a e5 8d 44 5a 40 0d  | = 78 . .:..DZ@.|
00001980  08 e8 12 f1 27 22 50 6c  61 79 20 74 61 70 65 22  |....'"Play tape"|
00001990  27 0d 08 f2 07 d7 22 22  0d 08 fc 05 e0 0d ff     |'....."".......|
0000199f
GOMOKU.m0
GOMOKU.m1
GOMOKU.m2
GOMOKU.m4
GOMOKU.m5