
  GOMOKU$  Electron Introductory Cassette5  Authors J.C. and L.H., IBM PC version by R.T.R.(  2    3:< <&900 =&900:"GOMOKU"Z  MAP 255,BLOCK 8d osword=&FFF1n INITDBL%x 4:OFF:DBL("Gomoku",12):N%=500   tlH    CX%=1:CY%=1:SIZ%=32- @%=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%=181:S%?I%=0: OFF^  IFHW%>0ORCW%>0:CLS:PRINT"Change the"'"colours (Y/N)?":A=GET:IF A=89:PROCPALETTE         ( :"Shall I start (Y/N)?":A=:     8 S%?20=1:S%?10=40:S%?12=30:S%?13=47:S%?27=15:S%?28=208 S%?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9S%?43=30:S%?44=30:S%?62=41:S%?72=31:S%?73=11:S%?74=419S%?78=51:S%?80=90:S%?26=21:S%?79=40:S%?60=21:S%?61=11S%?54=1"I%=127",I%<=19 J%=119:M%(I%,J%)=0:#6J%=127*27  27:T%?(I%+J%)=0:@-JC%=-1:W%=19-(10):N%=14:O%=14:X%=19-(10)TA=89d~A^IN:Z%=CX%:Y%=CY%/hY%=Y%+4:Z%=Z%+4:Y%<5Z%<5Y%>23Z%>23D^ArT%?(Y%*27+Z%)>0D^A|DO(Z%-4,Y%-4,225,2)T%?(Y%*27+Z%)=2:I%=Y%:J%=Z%30;"  Thinking...":tTB C%<>-1DNBI%=W%:J%=X%	tTB	Q%=-1I%=523#J%=523::T%?(I%*27+J%)>0djA!A%=M%(I%-4,J%-4):A%<Q% djAW%=I%:X%=J%:Q%=A%,I%=13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)<100D^A5D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,24,24,29,2:'"Me  ";CW%''"You ";HW% l(0)=-1SA=: A<>89  tlH  I%=127:J%=127: T%?(I%*27+J%)>0  DO(J%-4,I%-4,225,0),::28,0,24,19,22: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%>23V%>23U%<5V%<5dhC9E%=U%-4:G%=V%-4:A%=M%(E%,G%):Q%=T%?(27*(U%+K%)+V%+L%)qR%=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%)DB%=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%)<>0dTC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%<>2D\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%=79A%=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%>4dhC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%tT%=SIZ%*19~I%=0191,0,T%0,SIZ%,-T%
X%,Y%I%=0191,T%,00,-T%,SIZ%19,3,BOARDC%;0;29,X%-8 ;Y%+8; 
 BLOB#
23,224,0,0,&7E,&42,&42,&7E,0,0%23,226,0,0,&08,&08,&08,&08,&08,0!23,227,0,0,0,&1C,&14,&1C,0,0%(23,225,0,0,&1C,&3E,&3E,&3E,&1C,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,24,19,22:23;&200A;0;0;0;:(0)=-1="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%)(0)=-1- 19,I%,J%;0;:A%=:J%=J%+1: J%=8  J%=1" A%=13 : J%=1  =7 =J%-1, 6IN@:"   Your move" #^STIN$=208+200+203+205:dLFh(0)=-1rA$=|A$=13 :   HI%=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%>2J%=(I%-3)*2-1:DO(CX%,0,226,0):DO(CX%,20,226,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DCOORDS%?P%=Y%:P%=P%+1NX%=X%+I%XY%=Y%+J%'b T%?(27*(Y%+4)+X%+4)<>WHO%  P%=10Rl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%=03I%=09  2=DO(COORDS%?I%,COORDS%?(I%+1),225,0)::TG%=: >=TG%+70NI%=09  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)."  l''"To place a counter on the board, move"'"the cursor to the desired square and"'"press RETURN."        ''" CURSOR CONTROL KEYS :-"'14)2727" - Left"'14)2726" - Right"'14)2724" - Up"'14)2725" - Down"  PRINT'"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"-*4,23)"Press the SPACE BAR to continue";
4=32>H R OFF 23,1,0;0;0;0;:\ 4f INITDBL $MAP=255,0):MAP?255=0:CHARPTR=224:p Wz DBL(A$,y%)B$="":C$="":CH%=1A$: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%=01:23,CHARPTR+J%:I%=29:BLOCK?(J%*4+I%2):,:CHARPTR=CHARPTR+2:=MAP?C%  Error-trap" <>17  3::" at line ";:	 3: 