Home » Personal collection » Acorn ADFS disks » Electron_User_Group » EUG_43.ADF » QUARTS

QUARTS

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 ADFS disks » Electron_User_Group » EUG_43.ADF
Filename: QUARTS
Read OK:
File size: 1B13 bytes
Load address: FFFF0E00
Exec address: FFFF802B
Duplicates

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

File contents
   10ONERRORGOTO3540
   20REM QUARTERS(4)
   30*FX9,10
   40MODE2:VDU23,1,0;0;0;
   50PROCtitles
   60PROCinit
   70REPEAT
   80PROCchoice
   90PROClayout
  100PROCaction
  110PROCendgame
  120PROCempty
  130UNTIL FALSE
  140END
  150DEFPROCgrid(X,Y,step)
  160A=X
  170B=Y
  180length=9*step
  190CLS
  200REPEAT
  210MOVE A,Y
  220DRAW A,Y+length
  230MOVE X,B
  240DRAW X+length,B
  250A=A+step
  260B=B+step
  270UNTIL A>X+length
  280ENDPROC
  290DEFPROCframe(Xpos,Ypos,vert,hor)
  300MOVEXpos,Ypos
  310DRAWXpos,Ypos+vert
  320DRAWXpos+hor,Ypos+vert
  330DRAWXpos+hor,Ypos
  340DRAWXpos,Ypos
  350ENDPROC
  360DEFPROCdomino(XX,YY,N1,N2,N3,N4)
  370PROCtriangle(N1,-a,-a,-a,+a)
  380PROCtriangle(N2,-a,+a,+a,+a)
  390PROCtriangle(N3,+a,+a,+a,-a)
  400PROCtriangle(N4,+a,-a,-a,-a)
  410ENDPROC
  420DEFPROCtriangle(colour,p,q,r,s)
  430GCOL0,colour
  440MOVE XX,YY
  450MOVE XX+p,YY+q
  460PLOT85,XX+r,YY+s
  470ENDPROC
  480DEFPROCinit
  490ENVELOPE2,1,5,0,0,25,0,0,126,0,0,-126,126,126
  500J=70:REM total number of dominoes
  510DIMscore(2)
  520DIMgamescore(2)
  530DIMtotalscore(2)
  540DIMdisplayX(2)
  550DIMdisplayY(2)
  560DIMdomino%(J)
  570a=45:REM half width of domino
  580aa=0:bb=0
  590colour=0
  600compX=165:compY=145
  610d=12
  620displayX(1)=64:displayY(1)=800
  630displayX(2)=1136:displayY(2)=800
  640gamescore(1)=0
  650gamescore(2)=0
  660HIscore=160
  670xmove=0
  680ymove=0
  690print=0
  700P=0
  710pp=0
  720qq=0
  730player=1
  740score(1)=0:score(2)=0
  750score=0
  760totalscore(1)=0
  770totalscore(2)=0
  780xspot=245:yspot=145
  790oldxspot=xspot:oldyspot=yspot
  800ENDPROC
  810DATA1111,2222,3333,4444
  820DATA1112,1113,1114
  830DATA2221,2223,2224
  840DATA3331,3332,3334
  850DATA4441,4442,4443
  860DATA1122,1133,1144
  870DATA2233,2244,3344
  880DATA1212,1313,1414
  890DATA2323,2424,3434
  900DATA1123,1132,1124
  910DATA1142,1134,1143
  920DATA2213,2231,2214
  930DATA2241,2234,2243
  940DATA3314,3341,3324
  950DATA3342,3312,3321
  960DATA4412,4421,4413
  970DATA4431,4423,4432
  980DATA1213,1214,1314
  990DATA2123,2124,2324
 1000DATA3132,3134,3234
 1010DATA4142,4143,4243
 1020DATA1234,1243,1324
 1030DATA1342,1423,1432
 1040DEFPROCseparate(N%)
 1050N4=N%MOD10
 1060N3=(N%DIV10)MOD10
 1070N2=(N%DIV100)MOD10
 1080N1=N%DIV1000
 1090ENDPROC
 1100DEFFNrotate(Q%)
 1110=Q%MOD1000*10+Q%DIV1000
 1120DEFPROCrotation(player)
 1130 G%=FNrotate(N%)
 1140N%=G%
 1150PROCseparate(N%)
 1160PROCdomino(displayX(player),displayY(player),N1,N2,N3,N4)
 1170ENDPROC
 1180DEFPROCaction
 1190PROCmove
 1200*FX4,1
 1210U%=0:V%=35
 1220REPEAT
 1230player=1
 1240U%=U%+1
 1250PRINTTAB(0,2);U%
 1260N%=domino%(U%)
 1270PROCseparate(N%)
 1280PROCsound(100+player*15,1)
 1290PROCdomino(displayX(player),displayY(player),N1,N2,N3,N4)
 1300PROCkey(player)
 1310V%=V%+1
 1320player=choice
 1330IFchoice=3 THEN player=2
 1340PRINTTAB(17,2);V%-35
 1350N%=domino%(V%)
 1360PROCseparate(N%)
 1370PROCsound(100+player*15,1)
 1380PROCdomino(displayX(player),displayY(player),N1,N2,N3,N4)
 1390IFchoice=3 THEN PROCcomputer ELSE PROCkey(choice)
 1400UNTILV%>J-1
 1410ENDPROC
 1420DEFPROCmove
 1430colour=POINT(oldxspot+d,oldyspot)
 1440oldxspot=xspot
 1450oldyspot=yspot
 1460xspot=xspot+xmove
 1470yspot=yspot+ymove
 1480IF xspot<200 OR xspot>1010 THENxspot=oldxspot
 1490IF yspot<100 OR yspot>910 THEN yspot=oldyspot
 1500PROCspot(oldxspot,oldyspot,colour)
 1510colour=8
 1520PROCspot(xspot,yspot,colour)
 1530oldxspot=xspot
 1540oldyspot=yspot
 1550ENDPROC
 1560DEFPROCspot(aa,bb,colour)
 1570GCOL0,colour
 1580PLOT69,aa,bb
 1590PLOT69,aa+4,bb
 1600PLOT69,aa+4,bb+4
 1610PLOT69,aa+4,bb-4
 1620ENDPROC
 1630DEFPROCcheck
 1640score=0
 1650IF POINT(xspot-a-d,yspot)=N1 THEN score=score+1
 1660IF POINT(xspot,yspot+a+d)=N2 THEN score=score+1
 1670IF POINT(xspot+a+d,yspot)=N3 THEN score=score+1
 1680IF POINT(xspot,yspot-a-d)=N4 THEN score=score+1
 1690IF score=2 THEN score=3:ENDPROC
 1700IF score=3 THEN score=5
 1710IF score=4 THEN score=7
 1720ENDPROC
 1730DEFPROCchecksum
 1740sum=0
 1750IF POINT(xspot-a-d,yspot)=0 ORPOINT(xspot-a-d,yspot)=N1 THEN sum=sum+1
 1760 IF POINT(xspot,yspot+a+d)=0 OR POINT(xspot,yspot+a+d)=N2 THEN sum=sum+1
 1770 IF POINT(xspot+a+d,yspot)=0 OR POINT(xspot+a+d,yspot)=N3 THEN sum=sum+1
 1780IF POINT(xspot,yspot-a-d)=0 OR POINT(xspot,yspot-a-d)=N4 THEN sum=sum+1
 1790ENDPROC
 1800DEFPROCtotal(player)
 1810PROCcheck
 1820IFplayer=2 THEN tab=15 ELSE tab=0
 1830IFscore=0 THEN ENDPROC
 1840f=50
 1850FOR T=1 TOscore
 1860f=f+10
 1870PROCsound(f,2)
 1880PRINTTAB(1+tab,19);score(player)+T
 1890I=INKEY(15)
 1900NEXT T
 1910score(player)=score(player)+score
 1920IF score=7 THEN PROCtopscore
 1930score=0
 1940ENDPROC
 1950DEFPROCdominoIN(player)
 1960PROCdomino(displayX(player),displayY(player),7,7,7,7)
 1970PROCdomino(xspot,yspot,N1,N2,N3,N4)
 1980ENDPROC
 1990DEFPROCdominoOUT(player)
 2000PROCdomino(displayX(player),displayY(player),7,7,7,7)
 2010ENDPROC
 2020DEFPROCsound(f,envelope)
 2030I=INKEY(20)
 2040SOUND1,envelope,f,2
 2050SOUND1,-15,f,1
 2060ENDPROC
 2070DEFPROCshuffle
 2080A%=RND(J)
 2090FOR domino=1 TOA%
 2100N%=RND(J)
 2110NEXT domino
 2120RESTORE
 2130N%=0
 2140REPEAT
 2150A%=RND(J)
 2160IF domino%(A%) THEN 2150
 2170READ domino
 2180domino%(A%)=domino
 2190N%=N%+1
 2200UNTIL N%=J
 2210ENDPROC
 2220DEFPROCempty
 2230FOR M=1 TO J
 2240domino%(M)=0
 2250NEXT M
 2260ENDPROC
 2270DEFPROCtitles:CLS:COLOUR9
 2280PRINTTAB(2,3);"Q U A R T E R S"
 2290COLOUR7
 2300a=12
 2310REPEAT
 2320a=2*a
 2330PROCdomino(600,500,1,2,3,4)
 2340UNTIL a >300
 2350GCOL0,7
 2360PRINTTAB(1,29)"Instructions? (Y/N)"
 2370REPEAT:a%=INSTR("YyNn",GET$):UNTILa%
 2380IFa%<3 PROCinstr ELSEENDPROC
 2390ENDPROC
 2400DEFPROCchoice
 2410CLG:COLOUR132:CLS
 2420PRINTTAB(1,6);"Choose your game"
 2430 PRINTTAB(1,12);"1  one player"
 2440PRINTTAB(1,14);"2  two players"
 2450PRINTTAB(1,16);"3  against computer"
 2460PRINTTAB(1,20);"Enter 1,2 or 3  "
 2470REPEAT
 2480G=GET
 2490G=G-48
 2500UNTIL G>0 AND G<4
 2510choice=G
 2520CLG
 2530GCOL0,7
 2540ENDPROC
 2550DEFPROClayout
 2560GCOL0,7:COLOUR128:CLS
 2570PRINTTAB(1,20);"Shuffling....."
 2580PROCshuffle
 2590CLS
 2600PROCgrid(200,100,2*a)
 2610PROCframe(0,730,150,120)
 2620PROCframe(55,370,90,145)
 2630PROCframe(1076,730,150,120)
 2640PROCframe(1010,370,90,145)
 2650FOR player=1 TO 2
 2660PROCdominoOUT(player)
 2670NEXTplayer
 2680ENDPROC
 2690DEFPROCendgame
 2700PROCtopscore
 2710PROCtopscore
 2720COLOUR8:PRINTTAB(5,2)"GAME OVER"
 2730PROCspace
 2740COLOUR132:COLOUR7:GCOL0,132
 2750CLS:CLG
 2760IF choice=1 THEN CLS:CLG:GOTO2900
 2770 PRINTTAB(0,2)"                      "
 2780PRINTTAB(0,2)"Final scores ";score(1);"  ";score(2);
 2790PROCspace
 2800IFscore(1)>score(2) THEN gamescore(1)=gamescore(1)+1
 2810IFscore(2)>score(1) THEN gamescore(2)=gamescore(2)+1
 2820totalscore(1)=totalscore(1)+score(1)
 2830totalscore(2)=totalscore(2)+score(2)
 2840score(1)=0:score(2)=0
 2850CLS:CLG
 2860PRINTTAB(0,2);"gamescore(1)= ";gamescore(1)
 2870PRINTTAB(0,5);"gamescore(2)= ";gamescore(2)
 2880PRINTTAB(0,12);"total points(1)= ";totalscore(1)
 2890PRINTTAB(0,15);"total points(2)= ";totalscore(2)
 2900IF score(1)>HIscore THEN HIscore=score(1)
 2910IFchoice<>1 THEN GOTO2940
 2920PRINTTAB(0,5);"Highest score is ";HIscore
 2930PRINTTAB(1,9);"Your score was ";score(1)
 2940score(1)=0
 2950I=INKEY(123)
 2960PROCspace
 2970GCOL0,128
 2980ENDPROC
 2990DEFPROCkey(player)
 3000REPEAT
 3010G=GET
 3020UNTIL G=127 OR G=136 OR G=137 OR G=138 OR G=139 OR G=82 OR G=80
 3030IF G=127THEN PROCsound(5,2):PROCdominoOUT(player):I=INKEY(8):GOTO3110
 3040IFG=136 THEN xmove=-2*a:GOTO3100
 3050IFG=137 THEN xmove=+2*a:GOTO3100
 3060IFG=138 THEN ymove=-2*a:GOTO3100
 3070IFG=139 THEN ymove=+2*a:GOTO3100
 3080IFG=82 THEN PROCrotation(player):GOTO3000
 3090IFG=80 THEN PROCchecksum:IFsum=4 THEN PROCdominoIN(player):PROCtotal(player):PROCmove:GOTO3110:ELSE PROCdominoOUT(player):GOTO3110
 3100PROCmove:xmove=0:ymove=0:GOTO3000
 3110xmove=0:ymove=0
 3120ENDPROC
 3130DEFPROCcomputer
 3140pp=xspot:qq=yspot
 3150player=2
 3160compX=155:compY=145
 3170REPEAT
 3180print=0
 3190REPEAT
 3200compX=compX+2*a
 3210PROClimits
 3220P=POINT(compX+12,compY)
 3230IF compY>945 THEN P=0:count=4:print=1
 3240UNTIL P=0
 3250count=0
 3260xspot=compX:yspot=compY
 3270REPEAT
 3280PROCchecksum
 3290IF sum=4 THEN PROCdominoIN(player):PROCtotal(player):count=4:print=1:GOTO3310
 3300PROCrotation(2)
 3310count=count+1
 3320UNTIL count>4
 3330UNTILprint=1
 3340xspot=pp:yspot=qq
 3350ENDPROC
 3360DEFPROClimits
 3370IFcompX>975 THEN compX=245:compY=compY+2*a
 3380ENDPROC
 3390DEFPROCtopscore
 3400SOUND1,2,40,12
 3410ENDPROC
 3420DEFPROCspace
 3430PRINTTAB(2,29);"Press SPACE bar"
 3440REPEATUNTILINKEY-99
 3450ENDPROC
 3460DEFPROCinstr
 3470CLS:PRINT'TAB(3);"Q U A R T E R S"
 3480PRINT''"The flashing spot is"'"moved by the cursor"'"keys"
 3490PRINT''"'R' will rotate the"'"domino currently on"'"display"
 3500PRINT''"'P' plays the domino"'"at the position of"'"the flashing spot"
 3510PRINTTAB(3,29);"Press SPACE bar"
 3520REPEATUNTILINKEY-99
 3530ENDPROC
 3540MODE6:OSCLI"FX4":REPORT:PRINT" at line ";ERL:END

��dTM
� QUARTERS(4)
*FX9,10
(�2:�23,1,0;0;0;
2�titles
<	�init
F�
P�choice
Z�layout
d�action
n�endgame
x
�empty
�� �
��
���grid(X,Y,step)
�A=X
�B=Y
�length=9*step
��
��
�	� A,Y
�� A,Y+length
�	� X,B
�� X+length,B
�A=A+step
B=B+step
� A>X+length
�
"��frame(Xpos,Ypos,vert,hor)
,�Xpos,Ypos
6�Xpos,Ypos+vert
@�Xpos+hor,Ypos+vert
J�Xpos+hor,Ypos
T�Xpos,Ypos
^�
h��domino(XX,YY,N1,N2,N3,N4)
r�triangle(N1,-a,-a,-a,+a)
|�triangle(N2,-a,+a,+a,+a)
��triangle(N3,+a,+a,+a,-a)
��triangle(N4,+a,-a,-a,-a)
��
���triangle(colour,p,q,r,s)
�
�0,colour
�� XX,YY
�� XX+p,YY+q
��85,XX+r,YY+s
��
�
��init
�*�2,1,5,0,0,25,0,0,126,0,0,-126,126,126
�#J=70:� total number of dominoes
�
�score(2)
�gamescore(2)
�totalscore(2)
�displayX(2)
&�displayY(2)
0�domino%(J)
:a=45:� half width of domino
D
aa=0:bb=0
Ncolour=0
XcompX=165:compY=145
bd=12
l"displayX(1)=64:displayY(1)=800
v$displayX(2)=1136:displayY(2)=800
�gamescore(1)=0
�gamescore(2)=0
�HIscore=160
�xmove=0
�ymove=0
�print=0
�P=0
�pp=0
�qq=0
�player=1
�score(1)=0:score(2)=0
�score=0
�totalscore(1)=0
totalscore(2)=0
xspot=245:yspot=145
!oldxspot=xspot:oldyspot=yspot
 �
*�1111,2222,3333,4444
4�1112,1113,1114
>�2221,2223,2224
H�3331,3332,3334
R�4441,4442,4443
\�1122,1133,1144
f�2233,2244,3344
p�1212,1313,1414
z�2323,2424,3434
��1123,1132,1124
��1142,1134,1143
��2213,2231,2214
��2241,2234,2243
��3314,3341,3324
��3342,3312,3321
��4412,4421,4413
��4431,4423,4432
��1213,1214,1314
��2123,2124,2324
��3132,3134,3234
��4142,4143,4243
��1234,1243,1324
�1342,1423,1432
��separate(N%)
N4=N%�10
$N3=(N%�10)�10
.N2=(N%�100)�10
8N1=N%�1000
B�
Lݤrotate(Q%)
V=Q%�1000*10+Q%�1000
`��rotation(player)
j G%=�rotate(N%)
t	N%=G%
~�separate(N%)
�:�domino(displayX(player),displayY(player),N1,N2,N3,N4)
��
���action
�	�move
�
*FX4,1
�U%=0:V%=35
��
�player=1
�U%=U%+1
�
�0,2);U%
�N%=domino%(U%)
��separate(N%)
�sound(100+player*15,1)

:�domino(displayX(player),displayY(player),N1,N2,N3,N4)
�key(player)
V%=V%+1
(player=choice
2�choice=3 � player=2
<�17,2);V%-35
FN%=domino%(V%)
P�separate(N%)
Z�sound(100+player*15,1)
d:�domino(displayX(player),displayY(player),N1,N2,N3,N4)
n(�choice=3 � �computer � �key(choice)
x�V%>J-1
��
�
��move
� colour=�oldxspot+d,oldyspot)
�oldxspot=xspot
�oldyspot=yspot
�xspot=xspot+xmove
�yspot=yspot+ymove
�,� xspot<200 � xspot>1010 �xspot=oldxspot
�,� yspot<100 � yspot>910 � yspot=oldyspot
�#�spot(oldxspot,oldyspot,colour)
�colour=8
��spot(xspot,yspot,colour)
�oldxspot=xspot
oldyspot=yspot
�
��spot(aa,bb,colour)
"
�0,colour
,
�69,aa,bb
6�69,aa+4,bb
@�69,aa+4,bb+4
J�69,aa+4,bb-4
T�
^��check
hscore=0
r*� �xspot-a-d,yspot)=N1 � score=score+1
|*� �xspot,yspot+a+d)=N2 � score=score+1
�*� �xspot+a+d,yspot)=N3 � score=score+1
�*� �xspot,yspot-a-d)=N4 � score=score+1
�� score=2 � score=3:�
�� score=3 � score=5
�� score=4 � score=7
��
���checksum
�	sum=0
�;� �xspot-a-d,yspot)=0 ��xspot-a-d,yspot)=N1 � sum=sum+1
�= � �xspot,yspot+a+d)=0 � �xspot,yspot+a+d)=N2 � sum=sum+1
�= � �xspot+a+d,yspot)=0 � �xspot+a+d,yspot)=N3 � sum=sum+1
�<� �xspot,yspot-a-d)=0 � �xspot,yspot-a-d)=N4 � sum=sum+1
��
��total(player)

�check
�player=2 � tab=15 � tab=0
&�score=0 � �
0f=50
:� T=1 �score
D
f=f+10
N�sound(f,2)
X�1+tab,19);score(player)+T
bI=�(15)
l� T
v%score(player)=score(player)+score
�� score=7 � �topscore
�score=0
��
���dominoIN(player)
�6�domino(displayX(player),displayY(player),7,7,7,7)
�$�domino(xspot,yspot,N1,N2,N3,N4)
��
���dominoOUT(player)
�6�domino(displayX(player),displayY(player),7,7,7,7)
��
���sound(f,envelope)
�I=�(20)
��1,envelope,f,2
�1,-15,f,1
�

��shuffle
 A%=�(J)
*� domino=1 �A%
4N%=�(J)
>� domino
H�
RN%=0
\�
fA%=�(J)
p� domino%(A%) � �DfH
z� domino
�domino%(A%)=domino
�N%=N%+1
�
� N%=J
��
���empty
�
� M=1 � J
�domino%(M)=0
�� M
��
���titles:�:�9
��2,3);"Q U A R T E R S"
��7
�a=12
	�
		a=2*a
	�domino(600,500,1,2,3,4)
	$� a >300
	.�0,7
	8 �1,29)"Instructions? (Y/N)"
	B�:a%=�"YyNn",�):�a%
	L�a%<3 �instr ��
	V�
	`��choice
	j�:�132:�
	t�1,6);"Choose your game"
	~ �1,12);"1  one player"
	��1,14);"2  two players"
	�!�1,16);"3  against computer"
	��1,20);"Enter 1,2 or 3  "
	��
	�G=�
	�
G=G-48
	�� G>0 � G<4
	�choice=G
	��
	��0,7
	��
	���layout
�0,7:�128:�

�1,20);"Shuffling....."
�shuffle
�
(�grid(200,100,2*a)
2�frame(0,730,150,120)
<�frame(55,370,90,145)
F�frame(1076,730,150,120)
P�frame(1010,370,90,145)
Z� player=1 � 2
d�dominoOUT(player)
n�player
x�
�
��endgame
�
�topscore
�
�topscore
��8:�5,2)"GAME OVER"
�
�space
��132:�7:�0,132
��:�
�� choice=1 � �:�:�DTK
�# �0,2)"                      "
�1�0,2)"Final scores ";score(1);"  ";score(2);
�
�space
�4�score(1)>score(2) � gamescore(1)=gamescore(1)+1
�4�score(2)>score(1) � gamescore(2)=gamescore(2)+1
(totalscore(1)=totalscore(1)+score(1)
(totalscore(2)=totalscore(2)+score(2)
score(1)=0:score(2)=0
"�:�
,(�0,2);"gamescore(1)= ";gamescore(1)
6(�0,5);"gamescore(2)= ";gamescore(2)
@-�0,12);"total points(1)= ";totalscore(1)
J-�0,15);"total points(2)= ";totalscore(2)
T)� score(1)>HIscore � HIscore=score(1)
^�choice<>1 � �D|K
h&�0,5);"Highest score is ";HIscore
r%�1,9);"Your score was ";score(1)
|score(1)=0
�I=�(123)
�
�space
�
�0,128
��
���key(player)
��
�G=�
�9� G=127 � G=136 � G=137 � G=138 � G=139 � G=82 � G=80
�8� G=127� �sound(5,2):�dominoOUT(player):I=�(8):�TfL
��G=136 � xmove=-2*a:�T\L
��G=137 � xmove=+2*a:�T\L
��G=138 � ymove=-2*a:�T\L
��G=139 � ymove=+2*a:�T\L
#�G=82 � �rotation(player):�txK
f�G=80 � �checksum:�sum=4 � �dominoIN(player):�total(player):�move:�TfL:� �dominoOUT(player):�TfL
�move:xmove=0:ymove=0:�txK
&xmove=0:ymove=0
0�
:��computer
Dpp=xspot:qq=yspot
Nplayer=2
XcompX=155:compY=145
b�
lprint=0
v�
�compX=compX+2*a
��limits
�P=�compX+12,compY)
�%� compY>945 � P=0:count=4:print=1
�	� P=0
�count=0
�xspot=compX:yspot=compY
��
�
�checksum
�D� sum=4 � �dominoIN(player):�total(player):count=4:print=1:�dnL
��rotation(2)
�count=count+1
�
� count>4

�print=1

xspot=pp:yspot=qq

�

 ��limits

**�compX>975 � compX=245:compY=compY+2*a

4�

>��topscore

H�1,2,40,12

R�

\��space

f�2,29);"Press SPACE bar"

p
���-99

z�

���instr

��:�'�3);"Q U A R T E R S"

�:�''"The flashing spot is"'"moved by the cursor"'"keys"

�<�''"'R' will rotate the"'"domino currently on"'"display"

�F�''"'P' plays the domino"'"at the position of"'"the flashing spot"

��3,29);"Press SPACE bar"

�
���-99

��

� �6:�"FX4":�:�" at line ";�:�
�
00000000  0d 00 0a 0b ee 85 e5 8d  64 54 4d 0d 00 14 11 f4  |........dTM.....|
00000010  20 51 55 41 52 54 45 52  53 28 34 29 0d 00 1e 0b  | QUARTERS(4)....|
00000020  2a 46 58 39 2c 31 30 0d  00 28 13 eb 32 3a ef 32  |*FX9,10..(..2:.2|
00000030  33 2c 31 2c 30 3b 30 3b  30 3b 0d 00 32 0b f2 74  |3,1,0;0;0;..2..t|
00000040  69 74 6c 65 73 0d 00 3c  09 f2 69 6e 69 74 0d 00  |itles..<..init..|
00000050  46 05 f5 0d 00 50 0b f2  63 68 6f 69 63 65 0d 00  |F....P..choice..|
00000060  5a 0b f2 6c 61 79 6f 75  74 0d 00 64 0b f2 61 63  |Z..layout..d..ac|
00000070  74 69 6f 6e 0d 00 6e 0c  f2 65 6e 64 67 61 6d 65  |tion..n..endgame|
00000080  0d 00 78 0a f2 65 6d 70  74 79 0d 00 82 07 fd 20  |..x..empty..... |
00000090  a3 0d 00 8c 05 e0 0d 00  96 14 dd f2 67 72 69 64  |............grid|
000000a0  28 58 2c 59 2c 73 74 65  70 29 0d 00 a0 07 41 3d  |(X,Y,step)....A=|
000000b0  58 0d 00 aa 07 42 3d 59  0d 00 b4 11 6c 65 6e 67  |X....B=Y....leng|
000000c0  74 68 3d 39 2a 73 74 65  70 0d 00 be 05 db 0d 00  |th=9*step.......|
000000d0  c8 05 f5 0d 00 d2 09 ec  20 41 2c 59 0d 00 dc 10  |........ A,Y....|
000000e0  df 20 41 2c 59 2b 6c 65  6e 67 74 68 0d 00 e6 09  |. A,Y+length....|
000000f0  ec 20 58 2c 42 0d 00 f0  10 df 20 58 2b 6c 65 6e  |. X,B..... X+len|
00000100  67 74 68 2c 42 0d 00 fa  0c 41 3d 41 2b 73 74 65  |gth,B....A=A+ste|
00000110  70 0d 01 04 0c 42 3d 42  2b 73 74 65 70 0d 01 0e  |p....B=B+step...|
00000120  10 fd 20 41 3e 58 2b 6c  65 6e 67 74 68 0d 01 18  |.. A>X+length...|
00000130  05 e1 0d 01 22 1f dd f2  66 72 61 6d 65 28 58 70  |...."...frame(Xp|
00000140  6f 73 2c 59 70 6f 73 2c  76 65 72 74 2c 68 6f 72  |os,Ypos,vert,hor|
00000150  29 0d 01 2c 0e ec 58 70  6f 73 2c 59 70 6f 73 0d  |)..,..Xpos,Ypos.|
00000160  01 36 13 df 58 70 6f 73  2c 59 70 6f 73 2b 76 65  |.6..Xpos,Ypos+ve|
00000170  72 74 0d 01 40 17 df 58  70 6f 73 2b 68 6f 72 2c  |rt..@..Xpos+hor,|
00000180  59 70 6f 73 2b 76 65 72  74 0d 01 4a 12 df 58 70  |Ypos+vert..J..Xp|
00000190  6f 73 2b 68 6f 72 2c 59  70 6f 73 0d 01 54 0e df  |os+hor,Ypos..T..|
000001a0  58 70 6f 73 2c 59 70 6f  73 0d 01 5e 05 e1 0d 01  |Xpos,Ypos..^....|
000001b0  68 1f dd f2 64 6f 6d 69  6e 6f 28 58 58 2c 59 59  |h...domino(XX,YY|
000001c0  2c 4e 31 2c 4e 32 2c 4e  33 2c 4e 34 29 0d 01 72  |,N1,N2,N3,N4)..r|
000001d0  1d f2 74 72 69 61 6e 67  6c 65 28 4e 31 2c 2d 61  |..triangle(N1,-a|
000001e0  2c 2d 61 2c 2d 61 2c 2b  61 29 0d 01 7c 1d f2 74  |,-a,-a,+a)..|..t|
000001f0  72 69 61 6e 67 6c 65 28  4e 32 2c 2d 61 2c 2b 61  |riangle(N2,-a,+a|
00000200  2c 2b 61 2c 2b 61 29 0d  01 86 1d f2 74 72 69 61  |,+a,+a).....tria|
00000210  6e 67 6c 65 28 4e 33 2c  2b 61 2c 2b 61 2c 2b 61  |ngle(N3,+a,+a,+a|
00000220  2c 2d 61 29 0d 01 90 1d  f2 74 72 69 61 6e 67 6c  |,-a).....triangl|
00000230  65 28 4e 34 2c 2b 61 2c  2d 61 2c 2d 61 2c 2d 61  |e(N4,+a,-a,-a,-a|
00000240  29 0d 01 9a 05 e1 0d 01  a4 1e dd f2 74 72 69 61  |)...........tria|
00000250  6e 67 6c 65 28 63 6f 6c  6f 75 72 2c 70 2c 71 2c  |ngle(colour,p,q,|
00000260  72 2c 73 29 0d 01 ae 0d  e6 30 2c 63 6f 6c 6f 75  |r,s).....0,colou|
00000270  72 0d 01 b8 0b ec 20 58  58 2c 59 59 0d 01 c2 0f  |r..... XX,YY....|
00000280  ec 20 58 58 2b 70 2c 59  59 2b 71 0d 01 cc 11 f0  |. XX+p,YY+q.....|
00000290  38 35 2c 58 58 2b 72 2c  59 59 2b 73 0d 01 d6 05  |85,XX+r,YY+s....|
000002a0  e1 0d 01 e0 0a dd f2 69  6e 69 74 0d 01 ea 2a e2  |.......init...*.|
000002b0  32 2c 31 2c 35 2c 30 2c  30 2c 32 35 2c 30 2c 30  |2,1,5,0,0,25,0,0|
000002c0  2c 31 32 36 2c 30 2c 30  2c 2d 31 32 36 2c 31 32  |,126,0,0,-126,12|
000002d0  36 2c 31 32 36 0d 01 f4  23 4a 3d 37 30 3a f4 20  |6,126...#J=70:. |
000002e0  74 6f 74 61 6c 20 6e 75  6d 62 65 72 20 6f 66 20  |total number of |
000002f0  64 6f 6d 69 6e 6f 65 73  0d 01 fe 0d de 73 63 6f  |dominoes.....sco|
00000300  72 65 28 32 29 0d 02 08  11 de 67 61 6d 65 73 63  |re(2).....gamesc|
00000310  6f 72 65 28 32 29 0d 02  12 12 de 74 6f 74 61 6c  |ore(2).....total|
00000320  73 63 6f 72 65 28 32 29  0d 02 1c 10 de 64 69 73  |score(2).....dis|
00000330  70 6c 61 79 58 28 32 29  0d 02 26 10 de 64 69 73  |playX(2)..&..dis|
00000340  70 6c 61 79 59 28 32 29  0d 02 30 0f de 64 6f 6d  |playY(2)..0..dom|
00000350  69 6e 6f 25 28 4a 29 0d  02 3a 1f 61 3d 34 35 3a  |ino%(J)..:.a=45:|
00000360  f4 20 68 61 6c 66 20 77  69 64 74 68 20 6f 66 20  |. half width of |
00000370  64 6f 6d 69 6e 6f 0d 02  44 0d 61 61 3d 30 3a 62  |domino..D.aa=0:b|
00000380  62 3d 30 0d 02 4e 0c 63  6f 6c 6f 75 72 3d 30 0d  |b=0..N.colour=0.|
00000390  02 58 17 63 6f 6d 70 58  3d 31 36 35 3a 63 6f 6d  |.X.compX=165:com|
000003a0  70 59 3d 31 34 35 0d 02  62 08 64 3d 31 32 0d 02  |pY=145..b.d=12..|
000003b0  6c 22 64 69 73 70 6c 61  79 58 28 31 29 3d 36 34  |l"displayX(1)=64|
000003c0  3a 64 69 73 70 6c 61 79  59 28 31 29 3d 38 30 30  |:displayY(1)=800|
000003d0  0d 02 76 24 64 69 73 70  6c 61 79 58 28 32 29 3d  |..v$displayX(2)=|
000003e0  31 31 33 36 3a 64 69 73  70 6c 61 79 59 28 32 29  |1136:displayY(2)|
000003f0  3d 38 30 30 0d 02 80 12  67 61 6d 65 73 63 6f 72  |=800....gamescor|
00000400  65 28 31 29 3d 30 0d 02  8a 12 67 61 6d 65 73 63  |e(1)=0....gamesc|
00000410  6f 72 65 28 32 29 3d 30  0d 02 94 0f 48 49 73 63  |ore(2)=0....HIsc|
00000420  6f 72 65 3d 31 36 30 0d  02 9e 0b 78 6d 6f 76 65  |ore=160....xmove|
00000430  3d 30 0d 02 a8 0b 79 6d  6f 76 65 3d 30 0d 02 b2  |=0....ymove=0...|
00000440  0b 70 72 69 6e 74 3d 30  0d 02 bc 07 50 3d 30 0d  |.print=0....P=0.|
00000450  02 c6 08 70 70 3d 30 0d  02 d0 08 71 71 3d 30 0d  |...pp=0....qq=0.|
00000460  02 da 0c 70 6c 61 79 65  72 3d 31 0d 02 e4 19 73  |...player=1....s|
00000470  63 6f 72 65 28 31 29 3d  30 3a 73 63 6f 72 65 28  |core(1)=0:score(|
00000480  32 29 3d 30 0d 02 ee 0b  73 63 6f 72 65 3d 30 0d  |2)=0....score=0.|
00000490  02 f8 13 74 6f 74 61 6c  73 63 6f 72 65 28 31 29  |...totalscore(1)|
000004a0  3d 30 0d 03 02 13 74 6f  74 61 6c 73 63 6f 72 65  |=0....totalscore|
000004b0  28 32 29 3d 30 0d 03 0c  17 78 73 70 6f 74 3d 32  |(2)=0....xspot=2|
000004c0  34 35 3a 79 73 70 6f 74  3d 31 34 35 0d 03 16 21  |45:yspot=145...!|
000004d0  6f 6c 64 78 73 70 6f 74  3d 78 73 70 6f 74 3a 6f  |oldxspot=xspot:o|
000004e0  6c 64 79 73 70 6f 74 3d  79 73 70 6f 74 0d 03 20  |ldyspot=yspot.. |
000004f0  05 e1 0d 03 2a 18 dc 31  31 31 31 2c 32 32 32 32  |....*..1111,2222|
00000500  2c 33 33 33 33 2c 34 34  34 34 0d 03 34 13 dc 31  |,3333,4444..4..1|
00000510  31 31 32 2c 31 31 31 33  2c 31 31 31 34 0d 03 3e  |112,1113,1114..>|
00000520  13 dc 32 32 32 31 2c 32  32 32 33 2c 32 32 32 34  |..2221,2223,2224|
00000530  0d 03 48 13 dc 33 33 33  31 2c 33 33 33 32 2c 33  |..H..3331,3332,3|
00000540  33 33 34 0d 03 52 13 dc  34 34 34 31 2c 34 34 34  |334..R..4441,444|
00000550  32 2c 34 34 34 33 0d 03  5c 13 dc 31 31 32 32 2c  |2,4443..\..1122,|
00000560  31 31 33 33 2c 31 31 34  34 0d 03 66 13 dc 32 32  |1133,1144..f..22|
00000570  33 33 2c 32 32 34 34 2c  33 33 34 34 0d 03 70 13  |33,2244,3344..p.|
00000580  dc 31 32 31 32 2c 31 33  31 33 2c 31 34 31 34 0d  |.1212,1313,1414.|
00000590  03 7a 13 dc 32 33 32 33  2c 32 34 32 34 2c 33 34  |.z..2323,2424,34|
000005a0  33 34 0d 03 84 13 dc 31  31 32 33 2c 31 31 33 32  |34.....1123,1132|
000005b0  2c 31 31 32 34 0d 03 8e  13 dc 31 31 34 32 2c 31  |,1124.....1142,1|
000005c0  31 33 34 2c 31 31 34 33  0d 03 98 13 dc 32 32 31  |134,1143.....221|
000005d0  33 2c 32 32 33 31 2c 32  32 31 34 0d 03 a2 13 dc  |3,2231,2214.....|
000005e0  32 32 34 31 2c 32 32 33  34 2c 32 32 34 33 0d 03  |2241,2234,2243..|
000005f0  ac 13 dc 33 33 31 34 2c  33 33 34 31 2c 33 33 32  |...3314,3341,332|
00000600  34 0d 03 b6 13 dc 33 33  34 32 2c 33 33 31 32 2c  |4.....3342,3312,|
00000610  33 33 32 31 0d 03 c0 13  dc 34 34 31 32 2c 34 34  |3321.....4412,44|
00000620  32 31 2c 34 34 31 33 0d  03 ca 13 dc 34 34 33 31  |21,4413.....4431|
00000630  2c 34 34 32 33 2c 34 34  33 32 0d 03 d4 13 dc 31  |,4423,4432.....1|
00000640  32 31 33 2c 31 32 31 34  2c 31 33 31 34 0d 03 de  |213,1214,1314...|
00000650  13 dc 32 31 32 33 2c 32  31 32 34 2c 32 33 32 34  |..2123,2124,2324|
00000660  0d 03 e8 13 dc 33 31 33  32 2c 33 31 33 34 2c 33  |.....3132,3134,3|
00000670  32 33 34 0d 03 f2 13 dc  34 31 34 32 2c 34 31 34  |234.....4142,414|
00000680  33 2c 34 32 34 33 0d 03  fc 13 dc 31 32 33 34 2c  |3,4243.....1234,|
00000690  31 32 34 33 2c 31 33 32  34 0d 04 06 13 dc 31 33  |1243,1324.....13|
000006a0  34 32 2c 31 34 32 33 2c  31 34 33 32 0d 04 10 12  |42,1423,1432....|
000006b0  dd f2 73 65 70 61 72 61  74 65 28 4e 25 29 0d 04  |..separate(N%)..|
000006c0  1a 0c 4e 34 3d 4e 25 83  31 30 0d 04 24 11 4e 33  |..N4=N%.10..$.N3|
000006d0  3d 28 4e 25 81 31 30 29  83 31 30 0d 04 2e 12 4e  |=(N%.10).10....N|
000006e0  32 3d 28 4e 25 81 31 30  30 29 83 31 30 0d 04 38  |2=(N%.100).10..8|
000006f0  0e 4e 31 3d 4e 25 81 31  30 30 30 0d 04 42 05 e1  |.N1=N%.1000..B..|
00000700  0d 04 4c 10 dd a4 72 6f  74 61 74 65 28 51 25 29  |..L...rotate(Q%)|
00000710  0d 04 56 17 3d 51 25 83  31 30 30 30 2a 31 30 2b  |..V.=Q%.1000*10+|
00000720  51 25 81 31 30 30 30 0d  04 60 16 dd f2 72 6f 74  |Q%.1000..`...rot|
00000730  61 74 69 6f 6e 28 70 6c  61 79 65 72 29 0d 04 6a  |ation(player)..j|
00000740  13 20 47 25 3d a4 72 6f  74 61 74 65 28 4e 25 29  |. G%=.rotate(N%)|
00000750  0d 04 74 09 4e 25 3d 47  25 0d 04 7e 11 f2 73 65  |..t.N%=G%..~..se|
00000760  70 61 72 61 74 65 28 4e  25 29 0d 04 88 3a f2 64  |parate(N%)...:.d|
00000770  6f 6d 69 6e 6f 28 64 69  73 70 6c 61 79 58 28 70  |omino(displayX(p|
00000780  6c 61 79 65 72 29 2c 64  69 73 70 6c 61 79 59 28  |layer),displayY(|
00000790  70 6c 61 79 65 72 29 2c  4e 31 2c 4e 32 2c 4e 33  |player),N1,N2,N3|
000007a0  2c 4e 34 29 0d 04 92 05  e1 0d 04 9c 0c dd f2 61  |,N4)...........a|
000007b0  63 74 69 6f 6e 0d 04 a6  09 f2 6d 6f 76 65 0d 04  |ction.....move..|
000007c0  b0 0a 2a 46 58 34 2c 31  0d 04 ba 0e 55 25 3d 30  |..*FX4,1....U%=0|
000007d0  3a 56 25 3d 33 35 0d 04  c4 05 f5 0d 04 ce 0c 70  |:V%=35.........p|
000007e0  6c 61 79 65 72 3d 31 0d  04 d8 0b 55 25 3d 55 25  |layer=1....U%=U%|
000007f0  2b 31 0d 04 e2 0d f1 8a  30 2c 32 29 3b 55 25 0d  |+1......0,2);U%.|
00000800  04 ec 12 4e 25 3d 64 6f  6d 69 6e 6f 25 28 55 25  |...N%=domino%(U%|
00000810  29 0d 04 f6 11 f2 73 65  70 61 72 61 74 65 28 4e  |).....separate(N|
00000820  25 29 0d 05 00 1b f2 73  6f 75 6e 64 28 31 30 30  |%).....sound(100|
00000830  2b 70 6c 61 79 65 72 2a  31 35 2c 31 29 0d 05 0a  |+player*15,1)...|
00000840  3a f2 64 6f 6d 69 6e 6f  28 64 69 73 70 6c 61 79  |:.domino(display|
00000850  58 28 70 6c 61 79 65 72  29 2c 64 69 73 70 6c 61  |X(player),displa|
00000860  79 59 28 70 6c 61 79 65  72 29 2c 4e 31 2c 4e 32  |yY(player),N1,N2|
00000870  2c 4e 33 2c 4e 34 29 0d  05 14 10 f2 6b 65 79 28  |,N3,N4).....key(|
00000880  70 6c 61 79 65 72 29 0d  05 1e 0b 56 25 3d 56 25  |player)....V%=V%|
00000890  2b 31 0d 05 28 11 70 6c  61 79 65 72 3d 63 68 6f  |+1..(.player=cho|
000008a0  69 63 65 0d 05 32 18 e7  63 68 6f 69 63 65 3d 33  |ice..2..choice=3|
000008b0  20 8c 20 70 6c 61 79 65  72 3d 32 0d 05 3c 11 f1  | . player=2..<..|
000008c0  8a 31 37 2c 32 29 3b 56  25 2d 33 35 0d 05 46 12  |.17,2);V%-35..F.|
000008d0  4e 25 3d 64 6f 6d 69 6e  6f 25 28 56 25 29 0d 05  |N%=domino%(V%)..|
000008e0  50 11 f2 73 65 70 61 72  61 74 65 28 4e 25 29 0d  |P..separate(N%).|
000008f0  05 5a 1b f2 73 6f 75 6e  64 28 31 30 30 2b 70 6c  |.Z..sound(100+pl|
00000900  61 79 65 72 2a 31 35 2c  31 29 0d 05 64 3a f2 64  |ayer*15,1)..d:.d|
00000910  6f 6d 69 6e 6f 28 64 69  73 70 6c 61 79 58 28 70  |omino(displayX(p|
00000920  6c 61 79 65 72 29 2c 64  69 73 70 6c 61 79 59 28  |layer),displayY(|
00000930  70 6c 61 79 65 72 29 2c  4e 31 2c 4e 32 2c 4e 33  |player),N1,N2,N3|
00000940  2c 4e 34 29 0d 05 6e 28  e7 63 68 6f 69 63 65 3d  |,N4)..n(.choice=|
00000950  33 20 8c 20 f2 63 6f 6d  70 75 74 65 72 20 8b 20  |3 . .computer . |
00000960  f2 6b 65 79 28 63 68 6f  69 63 65 29 0d 05 78 0b  |.key(choice)..x.|
00000970  fd 56 25 3e 4a 2d 31 0d  05 82 05 e1 0d 05 8c 0a  |.V%>J-1.........|
00000980  dd f2 6d 6f 76 65 0d 05  96 20 63 6f 6c 6f 75 72  |..move... colour|
00000990  3d b0 6f 6c 64 78 73 70  6f 74 2b 64 2c 6f 6c 64  |=.oldxspot+d,old|
000009a0  79 73 70 6f 74 29 0d 05  a0 12 6f 6c 64 78 73 70  |yspot)....oldxsp|
000009b0  6f 74 3d 78 73 70 6f 74  0d 05 aa 12 6f 6c 64 79  |ot=xspot....oldy|
000009c0  73 70 6f 74 3d 79 73 70  6f 74 0d 05 b4 15 78 73  |spot=yspot....xs|
000009d0  70 6f 74 3d 78 73 70 6f  74 2b 78 6d 6f 76 65 0d  |pot=xspot+xmove.|
000009e0  05 be 15 79 73 70 6f 74  3d 79 73 70 6f 74 2b 79  |...yspot=yspot+y|
000009f0  6d 6f 76 65 0d 05 c8 2c  e7 20 78 73 70 6f 74 3c  |move...,. xspot<|
00000a00  32 30 30 20 84 20 78 73  70 6f 74 3e 31 30 31 30  |200 . xspot>1010|
00000a10  20 8c 78 73 70 6f 74 3d  6f 6c 64 78 73 70 6f 74  | .xspot=oldxspot|
00000a20  0d 05 d2 2c e7 20 79 73  70 6f 74 3c 31 30 30 20  |...,. yspot<100 |
00000a30  84 20 79 73 70 6f 74 3e  39 31 30 20 8c 20 79 73  |. yspot>910 . ys|
00000a40  70 6f 74 3d 6f 6c 64 79  73 70 6f 74 0d 05 dc 23  |pot=oldyspot...#|
00000a50  f2 73 70 6f 74 28 6f 6c  64 78 73 70 6f 74 2c 6f  |.spot(oldxspot,o|
00000a60  6c 64 79 73 70 6f 74 2c  63 6f 6c 6f 75 72 29 0d  |ldyspot,colour).|
00000a70  05 e6 0c 63 6f 6c 6f 75  72 3d 38 0d 05 f0 1d f2  |...colour=8.....|
00000a80  73 70 6f 74 28 78 73 70  6f 74 2c 79 73 70 6f 74  |spot(xspot,yspot|
00000a90  2c 63 6f 6c 6f 75 72 29  0d 05 fa 12 6f 6c 64 78  |,colour)....oldx|
00000aa0  73 70 6f 74 3d 78 73 70  6f 74 0d 06 04 12 6f 6c  |spot=xspot....ol|
00000ab0  64 79 73 70 6f 74 3d 79  73 70 6f 74 0d 06 0e 05  |dyspot=yspot....|
00000ac0  e1 0d 06 18 18 dd f2 73  70 6f 74 28 61 61 2c 62  |.......spot(aa,b|
00000ad0  62 2c 63 6f 6c 6f 75 72  29 0d 06 22 0d e6 30 2c  |b,colour).."..0,|
00000ae0  63 6f 6c 6f 75 72 0d 06  2c 0d f0 36 39 2c 61 61  |colour..,..69,aa|
00000af0  2c 62 62 0d 06 36 0f f0  36 39 2c 61 61 2b 34 2c  |,bb..6..69,aa+4,|
00000b00  62 62 0d 06 40 11 f0 36  39 2c 61 61 2b 34 2c 62  |bb..@..69,aa+4,b|
00000b10  62 2b 34 0d 06 4a 11 f0  36 39 2c 61 61 2b 34 2c  |b+4..J..69,aa+4,|
00000b20  62 62 2d 34 0d 06 54 05  e1 0d 06 5e 0b dd f2 63  |bb-4..T....^...c|
00000b30  68 65 63 6b 0d 06 68 0b  73 63 6f 72 65 3d 30 0d  |heck..h.score=0.|
00000b40  06 72 2a e7 20 b0 78 73  70 6f 74 2d 61 2d 64 2c  |.r*. .xspot-a-d,|
00000b50  79 73 70 6f 74 29 3d 4e  31 20 8c 20 73 63 6f 72  |yspot)=N1 . scor|
00000b60  65 3d 73 63 6f 72 65 2b  31 0d 06 7c 2a e7 20 b0  |e=score+1..|*. .|
00000b70  78 73 70 6f 74 2c 79 73  70 6f 74 2b 61 2b 64 29  |xspot,yspot+a+d)|
00000b80  3d 4e 32 20 8c 20 73 63  6f 72 65 3d 73 63 6f 72  |=N2 . score=scor|
00000b90  65 2b 31 0d 06 86 2a e7  20 b0 78 73 70 6f 74 2b  |e+1...*. .xspot+|
00000ba0  61 2b 64 2c 79 73 70 6f  74 29 3d 4e 33 20 8c 20  |a+d,yspot)=N3 . |
00000bb0  73 63 6f 72 65 3d 73 63  6f 72 65 2b 31 0d 06 90  |score=score+1...|
00000bc0  2a e7 20 b0 78 73 70 6f  74 2c 79 73 70 6f 74 2d  |*. .xspot,yspot-|
00000bd0  61 2d 64 29 3d 4e 34 20  8c 20 73 63 6f 72 65 3d  |a-d)=N4 . score=|
00000be0  73 63 6f 72 65 2b 31 0d  06 9a 19 e7 20 73 63 6f  |score+1..... sco|
00000bf0  72 65 3d 32 20 8c 20 73  63 6f 72 65 3d 33 3a e1  |re=2 . score=3:.|
00000c00  0d 06 a4 17 e7 20 73 63  6f 72 65 3d 33 20 8c 20  |..... score=3 . |
00000c10  73 63 6f 72 65 3d 35 0d  06 ae 17 e7 20 73 63 6f  |score=5..... sco|
00000c20  72 65 3d 34 20 8c 20 73  63 6f 72 65 3d 37 0d 06  |re=4 . score=7..|
00000c30  b8 05 e1 0d 06 c2 0e dd  f2 63 68 65 63 6b 73 75  |.........checksu|
00000c40  6d 0d 06 cc 09 73 75 6d  3d 30 0d 06 d6 3b e7 20  |m....sum=0...;. |
00000c50  b0 78 73 70 6f 74 2d 61  2d 64 2c 79 73 70 6f 74  |.xspot-a-d,yspot|
00000c60  29 3d 30 20 84 b0 78 73  70 6f 74 2d 61 2d 64 2c  |)=0 ..xspot-a-d,|
00000c70  79 73 70 6f 74 29 3d 4e  31 20 8c 20 73 75 6d 3d  |yspot)=N1 . sum=|
00000c80  73 75 6d 2b 31 0d 06 e0  3d 20 e7 20 b0 78 73 70  |sum+1...= . .xsp|
00000c90  6f 74 2c 79 73 70 6f 74  2b 61 2b 64 29 3d 30 20  |ot,yspot+a+d)=0 |
00000ca0  84 20 b0 78 73 70 6f 74  2c 79 73 70 6f 74 2b 61  |. .xspot,yspot+a|
00000cb0  2b 64 29 3d 4e 32 20 8c  20 73 75 6d 3d 73 75 6d  |+d)=N2 . sum=sum|
00000cc0  2b 31 0d 06 ea 3d 20 e7  20 b0 78 73 70 6f 74 2b  |+1...= . .xspot+|
00000cd0  61 2b 64 2c 79 73 70 6f  74 29 3d 30 20 84 20 b0  |a+d,yspot)=0 . .|
00000ce0  78 73 70 6f 74 2b 61 2b  64 2c 79 73 70 6f 74 29  |xspot+a+d,yspot)|
00000cf0  3d 4e 33 20 8c 20 73 75  6d 3d 73 75 6d 2b 31 0d  |=N3 . sum=sum+1.|
00000d00  06 f4 3c e7 20 b0 78 73  70 6f 74 2c 79 73 70 6f  |..<. .xspot,yspo|
00000d10  74 2d 61 2d 64 29 3d 30  20 84 20 b0 78 73 70 6f  |t-a-d)=0 . .xspo|
00000d20  74 2c 79 73 70 6f 74 2d  61 2d 64 29 3d 4e 34 20  |t,yspot-a-d)=N4 |
00000d30  8c 20 73 75 6d 3d 73 75  6d 2b 31 0d 06 fe 05 e1  |. sum=sum+1.....|
00000d40  0d 07 08 13 dd f2 74 6f  74 61 6c 28 70 6c 61 79  |......total(play|
00000d50  65 72 29 0d 07 12 0a f2  63 68 65 63 6b 0d 07 1c  |er).....check...|
00000d60  1e e7 70 6c 61 79 65 72  3d 32 20 8c 20 74 61 62  |..player=2 . tab|
00000d70  3d 31 35 20 8b 20 74 61  62 3d 30 0d 07 26 10 e7  |=15 . tab=0..&..|
00000d80  73 63 6f 72 65 3d 30 20  8c 20 e1 0d 07 30 08 66  |score=0 . ...0.f|
00000d90  3d 35 30 0d 07 3a 10 e3  20 54 3d 31 20 b8 73 63  |=50..:.. T=1 .sc|
00000da0  6f 72 65 0d 07 44 0a 66  3d 66 2b 31 30 0d 07 4e  |ore..D.f=f+10..N|
00000db0  0f f2 73 6f 75 6e 64 28  66 2c 32 29 0d 07 58 1f  |..sound(f,2)..X.|
00000dc0  f1 8a 31 2b 74 61 62 2c  31 39 29 3b 73 63 6f 72  |..1+tab,19);scor|
00000dd0  65 28 70 6c 61 79 65 72  29 2b 54 0d 07 62 0b 49  |e(player)+T..b.I|
00000de0  3d a6 28 31 35 29 0d 07  6c 07 ed 20 54 0d 07 76  |=.(15)..l.. T..v|
00000df0  25 73 63 6f 72 65 28 70  6c 61 79 65 72 29 3d 73  |%score(player)=s|
00000e00  63 6f 72 65 28 70 6c 61  79 65 72 29 2b 73 63 6f  |core(player)+sco|
00000e10  72 65 0d 07 80 19 e7 20  73 63 6f 72 65 3d 37 20  |re..... score=7 |
00000e20  8c 20 f2 74 6f 70 73 63  6f 72 65 0d 07 8a 0b 73  |. .topscore....s|
00000e30  63 6f 72 65 3d 30 0d 07  94 05 e1 0d 07 9e 16 dd  |core=0..........|
00000e40  f2 64 6f 6d 69 6e 6f 49  4e 28 70 6c 61 79 65 72  |.dominoIN(player|
00000e50  29 0d 07 a8 36 f2 64 6f  6d 69 6e 6f 28 64 69 73  |)...6.domino(dis|
00000e60  70 6c 61 79 58 28 70 6c  61 79 65 72 29 2c 64 69  |playX(player),di|
00000e70  73 70 6c 61 79 59 28 70  6c 61 79 65 72 29 2c 37  |splayY(player),7|
00000e80  2c 37 2c 37 2c 37 29 0d  07 b2 24 f2 64 6f 6d 69  |,7,7,7)...$.domi|
00000e90  6e 6f 28 78 73 70 6f 74  2c 79 73 70 6f 74 2c 4e  |no(xspot,yspot,N|
00000ea0  31 2c 4e 32 2c 4e 33 2c  4e 34 29 0d 07 bc 05 e1  |1,N2,N3,N4).....|
00000eb0  0d 07 c6 17 dd f2 64 6f  6d 69 6e 6f 4f 55 54 28  |......dominoOUT(|
00000ec0  70 6c 61 79 65 72 29 0d  07 d0 36 f2 64 6f 6d 69  |player)...6.domi|
00000ed0  6e 6f 28 64 69 73 70 6c  61 79 58 28 70 6c 61 79  |no(displayX(play|
00000ee0  65 72 29 2c 64 69 73 70  6c 61 79 59 28 70 6c 61  |er),displayY(pla|
00000ef0  79 65 72 29 2c 37 2c 37  2c 37 2c 37 29 0d 07 da  |yer),7,7,7,7)...|
00000f00  05 e1 0d 07 e4 17 dd f2  73 6f 75 6e 64 28 66 2c  |........sound(f,|
00000f10  65 6e 76 65 6c 6f 70 65  29 0d 07 ee 0b 49 3d a6  |envelope)....I=.|
00000f20  28 32 30 29 0d 07 f8 13  d4 31 2c 65 6e 76 65 6c  |(20).....1,envel|
00000f30  6f 70 65 2c 66 2c 32 0d  08 02 0e d4 31 2c 2d 31  |ope,f,2.....1,-1|
00000f40  35 2c 66 2c 31 0d 08 0c  05 e1 0d 08 16 0d dd f2  |5,f,1...........|
00000f50  73 68 75 66 66 6c 65 0d  08 20 0b 41 25 3d b3 28  |shuffle.. .A%=.(|
00000f60  4a 29 0d 08 2a 12 e3 20  64 6f 6d 69 6e 6f 3d 31  |J)..*.. domino=1|
00000f70  20 b8 41 25 0d 08 34 0b  4e 25 3d b3 28 4a 29 0d  | .A%..4.N%=.(J).|
00000f80  08 3e 0c ed 20 64 6f 6d  69 6e 6f 0d 08 48 05 f7  |.>.. domino..H..|
00000f90  0d 08 52 08 4e 25 3d 30  0d 08 5c 05 f5 0d 08 66  |..R.N%=0..\....f|
00000fa0  0b 41 25 3d b3 28 4a 29  0d 08 70 18 e7 20 64 6f  |.A%=.(J)..p.. do|
00000fb0  6d 69 6e 6f 25 28 41 25  29 20 8c 20 8d 44 66 48  |mino%(A%) . .DfH|
00000fc0  0d 08 7a 0c f3 20 64 6f  6d 69 6e 6f 0d 08 84 16  |..z.. domino....|
00000fd0  64 6f 6d 69 6e 6f 25 28  41 25 29 3d 64 6f 6d 69  |domino%(A%)=domi|
00000fe0  6e 6f 0d 08 8e 0b 4e 25  3d 4e 25 2b 31 0d 08 98  |no....N%=N%+1...|
00000ff0  0a fd 20 4e 25 3d 4a 0d  08 a2 05 e1 0d 08 ac 0b  |.. N%=J.........|
00001000  dd f2 65 6d 70 74 79 0d  08 b6 0d e3 20 4d 3d 31  |..empty..... M=1|
00001010  20 b8 20 4a 0d 08 c0 10  64 6f 6d 69 6e 6f 25 28  | . J....domino%(|
00001020  4d 29 3d 30 0d 08 ca 07  ed 20 4d 0d 08 d4 05 e1  |M)=0..... M.....|
00001030  0d 08 de 11 dd f2 74 69  74 6c 65 73 3a db 3a fb  |......titles:.:.|
00001040  39 0d 08 e8 1c f1 8a 32  2c 33 29 3b 22 51 20 55  |9......2,3);"Q U|
00001050  20 41 20 52 20 54 20 45  20 52 20 53 22 0d 08 f2  | A R T E R S"...|
00001060  06 fb 37 0d 08 fc 08 61  3d 31 32 0d 09 06 05 f5  |..7....a=12.....|
00001070  0d 09 10 09 61 3d 32 2a  61 0d 09 1a 1c f2 64 6f  |....a=2*a.....do|
00001080  6d 69 6e 6f 28 36 30 30  2c 35 30 30 2c 31 2c 32  |mino(600,500,1,2|
00001090  2c 33 2c 34 29 0d 09 24  0c fd 20 61 20 3e 33 30  |,3,4)..$.. a >30|
000010a0  30 0d 09 2e 08 e6 30 2c  37 0d 09 38 20 f1 8a 31  |0.....0,7..8 ..1|
000010b0  2c 32 39 29 22 49 6e 73  74 72 75 63 74 69 6f 6e  |,29)"Instruction|
000010c0  73 3f 20 28 59 2f 4e 29  22 0d 09 42 17 f5 3a 61  |s? (Y/N)"..B..:a|
000010d0  25 3d a7 22 59 79 4e 6e  22 2c be 29 3a fd 61 25  |%=."YyNn",.):.a%|
000010e0  0d 09 4c 13 e7 61 25 3c  33 20 f2 69 6e 73 74 72  |..L..a%<3 .instr|
000010f0  20 8b e1 0d 09 56 05 e1  0d 09 60 0c dd f2 63 68  | ....V....`...ch|
00001100  6f 69 63 65 0d 09 6a 0c  da 3a fb 31 33 32 3a db  |oice..j..:.132:.|
00001110  0d 09 74 1d f1 8a 31 2c  36 29 3b 22 43 68 6f 6f  |..t...1,6);"Choo|
00001120  73 65 20 79 6f 75 72 20  67 61 6d 65 22 0d 09 7e  |se your game"..~|
00001130  1c 20 f1 8a 31 2c 31 32  29 3b 22 31 20 20 6f 6e  |. ..1,12);"1  on|
00001140  65 20 70 6c 61 79 65 72  22 0d 09 88 1c f1 8a 31  |e player"......1|
00001150  2c 31 34 29 3b 22 32 20  20 74 77 6f 20 70 6c 61  |,14);"2  two pla|
00001160  79 65 72 73 22 0d 09 92  21 f1 8a 31 2c 31 36 29  |yers"...!..1,16)|
00001170  3b 22 33 20 20 61 67 61  69 6e 73 74 20 63 6f 6d  |;"3  against com|
00001180  70 75 74 65 72 22 0d 09  9c 1e f1 8a 31 2c 32 30  |puter"......1,20|
00001190  29 3b 22 45 6e 74 65 72  20 31 2c 32 20 6f 72 20  |);"Enter 1,2 or |
000011a0  33 20 20 22 0d 09 a6 05  f5 0d 09 b0 07 47 3d a5  |3  ".........G=.|
000011b0  0d 09 ba 0a 47 3d 47 2d  34 38 0d 09 c4 0f fd 20  |....G=G-48..... |
000011c0  47 3e 30 20 80 20 47 3c  34 0d 09 ce 0c 63 68 6f  |G>0 . G<4....cho|
000011d0  69 63 65 3d 47 0d 09 d8  05 da 0d 09 e2 08 e6 30  |ice=G..........0|
000011e0  2c 37 0d 09 ec 05 e1 0d  09 f6 0c dd f2 6c 61 79  |,7...........lay|
000011f0  6f 75 74 0d 0a 00 0f e6  30 2c 37 3a fb 31 32 38  |out.....0,7:.128|
00001200  3a db 0d 0a 0a 1c f1 8a  31 2c 32 30 29 3b 22 53  |:.......1,20);"S|
00001210  68 75 66 66 6c 69 6e 67  2e 2e 2e 2e 2e 22 0d 0a  |huffling....."..|
00001220  14 0c f2 73 68 75 66 66  6c 65 0d 0a 1e 05 db 0d  |...shuffle......|
00001230  0a 28 16 f2 67 72 69 64  28 32 30 30 2c 31 30 30  |.(..grid(200,100|
00001240  2c 32 2a 61 29 0d 0a 32  19 f2 66 72 61 6d 65 28  |,2*a)..2..frame(|
00001250  30 2c 37 33 30 2c 31 35  30 2c 31 32 30 29 0d 0a  |0,730,150,120)..|
00001260  3c 19 f2 66 72 61 6d 65  28 35 35 2c 33 37 30 2c  |<..frame(55,370,|
00001270  39 30 2c 31 34 35 29 0d  0a 46 1c f2 66 72 61 6d  |90,145)..F..fram|
00001280  65 28 31 30 37 36 2c 37  33 30 2c 31 35 30 2c 31  |e(1076,730,150,1|
00001290  32 30 29 0d 0a 50 1b f2  66 72 61 6d 65 28 31 30  |20)..P..frame(10|
000012a0  31 30 2c 33 37 30 2c 39  30 2c 31 34 35 29 0d 0a  |10,370,90,145)..|
000012b0  5a 12 e3 20 70 6c 61 79  65 72 3d 31 20 b8 20 32  |Z.. player=1 . 2|
000012c0  0d 0a 64 16 f2 64 6f 6d  69 6e 6f 4f 55 54 28 70  |..d..dominoOUT(p|
000012d0  6c 61 79 65 72 29 0d 0a  6e 0b ed 70 6c 61 79 65  |layer)..n..playe|
000012e0  72 0d 0a 78 05 e1 0d 0a  82 0d dd f2 65 6e 64 67  |r..x........endg|
000012f0  61 6d 65 0d 0a 8c 0d f2  74 6f 70 73 63 6f 72 65  |ame.....topscore|
00001300  0d 0a 96 0d f2 74 6f 70  73 63 6f 72 65 0d 0a a0  |.....topscore...|
00001310  18 fb 38 3a f1 8a 35 2c  32 29 22 47 41 4d 45 20  |..8:..5,2)"GAME |
00001320  4f 56 45 52 22 0d 0a aa  0a f2 73 70 61 63 65 0d  |OVER".....space.|
00001330  0a b4 12 fb 31 33 32 3a  fb 37 3a e6 30 2c 31 33  |....132:.7:.0,13|
00001340  32 0d 0a be 07 db 3a da  0d 0a c8 1a e7 20 63 68  |2.....:...... ch|
00001350  6f 69 63 65 3d 31 20 8c  20 db 3a da 3a e5 8d 44  |oice=1 . .:.:..D|
00001360  54 4b 0d 0a d2 23 20 f1  8a 30 2c 32 29 22 20 20  |TK...# ..0,2)"  |
00001370  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001380  20 20 20 20 22 0d 0a dc  31 f1 8a 30 2c 32 29 22  |    "...1..0,2)"|
00001390  46 69 6e 61 6c 20 73 63  6f 72 65 73 20 22 3b 73  |Final scores ";s|
000013a0  63 6f 72 65 28 31 29 3b  22 20 20 22 3b 73 63 6f  |core(1);"  ";sco|
000013b0  72 65 28 32 29 3b 0d 0a  e6 0a f2 73 70 61 63 65  |re(2);.....space|
000013c0  0d 0a f0 34 e7 73 63 6f  72 65 28 31 29 3e 73 63  |...4.score(1)>sc|
000013d0  6f 72 65 28 32 29 20 8c  20 67 61 6d 65 73 63 6f  |ore(2) . gamesco|
000013e0  72 65 28 31 29 3d 67 61  6d 65 73 63 6f 72 65 28  |re(1)=gamescore(|
000013f0  31 29 2b 31 0d 0a fa 34  e7 73 63 6f 72 65 28 32  |1)+1...4.score(2|
00001400  29 3e 73 63 6f 72 65 28  31 29 20 8c 20 67 61 6d  |)>score(1) . gam|
00001410  65 73 63 6f 72 65 28 32  29 3d 67 61 6d 65 73 63  |escore(2)=gamesc|
00001420  6f 72 65 28 32 29 2b 31  0d 0b 04 28 74 6f 74 61  |ore(2)+1...(tota|
00001430  6c 73 63 6f 72 65 28 31  29 3d 74 6f 74 61 6c 73  |lscore(1)=totals|
00001440  63 6f 72 65 28 31 29 2b  73 63 6f 72 65 28 31 29  |core(1)+score(1)|
00001450  0d 0b 0e 28 74 6f 74 61  6c 73 63 6f 72 65 28 32  |...(totalscore(2|
00001460  29 3d 74 6f 74 61 6c 73  63 6f 72 65 28 32 29 2b  |)=totalscore(2)+|
00001470  73 63 6f 72 65 28 32 29  0d 0b 18 19 73 63 6f 72  |score(2)....scor|
00001480  65 28 31 29 3d 30 3a 73  63 6f 72 65 28 32 29 3d  |e(1)=0:score(2)=|
00001490  30 0d 0b 22 07 db 3a da  0d 0b 2c 28 f1 8a 30 2c  |0.."..:...,(..0,|
000014a0  32 29 3b 22 67 61 6d 65  73 63 6f 72 65 28 31 29  |2);"gamescore(1)|
000014b0  3d 20 22 3b 67 61 6d 65  73 63 6f 72 65 28 31 29  |= ";gamescore(1)|
000014c0  0d 0b 36 28 f1 8a 30 2c  35 29 3b 22 67 61 6d 65  |..6(..0,5);"game|
000014d0  73 63 6f 72 65 28 32 29  3d 20 22 3b 67 61 6d 65  |score(2)= ";game|
000014e0  73 63 6f 72 65 28 32 29  0d 0b 40 2d f1 8a 30 2c  |score(2)..@-..0,|
000014f0  31 32 29 3b 22 74 6f 74  61 6c 20 70 6f 69 6e 74  |12);"total point|
00001500  73 28 31 29 3d 20 22 3b  74 6f 74 61 6c 73 63 6f  |s(1)= ";totalsco|
00001510  72 65 28 31 29 0d 0b 4a  2d f1 8a 30 2c 31 35 29  |re(1)..J-..0,15)|
00001520  3b 22 74 6f 74 61 6c 20  70 6f 69 6e 74 73 28 32  |;"total points(2|
00001530  29 3d 20 22 3b 74 6f 74  61 6c 73 63 6f 72 65 28  |)= ";totalscore(|
00001540  32 29 0d 0b 54 29 e7 20  73 63 6f 72 65 28 31 29  |2)..T). score(1)|
00001550  3e 48 49 73 63 6f 72 65  20 8c 20 48 49 73 63 6f  |>HIscore . HIsco|
00001560  72 65 3d 73 63 6f 72 65  28 31 29 0d 0b 5e 16 e7  |re=score(1)..^..|
00001570  63 68 6f 69 63 65 3c 3e  31 20 8c 20 e5 8d 44 7c  |choice<>1 . ..D||
00001580  4b 0d 0b 68 26 f1 8a 30  2c 35 29 3b 22 48 69 67  |K..h&..0,5);"Hig|
00001590  68 65 73 74 20 73 63 6f  72 65 20 69 73 20 22 3b  |hest score is ";|
000015a0  48 49 73 63 6f 72 65 0d  0b 72 25 f1 8a 31 2c 39  |HIscore..r%..1,9|
000015b0  29 3b 22 59 6f 75 72 20  73 63 6f 72 65 20 77 61  |);"Your score wa|
000015c0  73 20 22 3b 73 63 6f 72  65 28 31 29 0d 0b 7c 0e  |s ";score(1)..|.|
000015d0  73 63 6f 72 65 28 31 29  3d 30 0d 0b 86 0c 49 3d  |score(1)=0....I=|
000015e0  a6 28 31 32 33 29 0d 0b  90 0a f2 73 70 61 63 65  |.(123).....space|
000015f0  0d 0b 9a 0a e6 30 2c 31  32 38 0d 0b a4 05 e1 0d  |.....0,128......|
00001600  0b ae 11 dd f2 6b 65 79  28 70 6c 61 79 65 72 29  |.....key(player)|
00001610  0d 0b b8 05 f5 0d 0b c2  07 47 3d a5 0d 0b cc 39  |.........G=....9|
00001620  fd 20 47 3d 31 32 37 20  84 20 47 3d 31 33 36 20  |. G=127 . G=136 |
00001630  84 20 47 3d 31 33 37 20  84 20 47 3d 31 33 38 20  |. G=137 . G=138 |
00001640  84 20 47 3d 31 33 39 20  84 20 47 3d 38 32 20 84  |. G=139 . G=82 .|
00001650  20 47 3d 38 30 0d 0b d6  38 e7 20 47 3d 31 32 37  | G=80...8. G=127|
00001660  8c 20 f2 73 6f 75 6e 64  28 35 2c 32 29 3a f2 64  |. .sound(5,2):.d|
00001670  6f 6d 69 6e 6f 4f 55 54  28 70 6c 61 79 65 72 29  |ominoOUT(player)|
00001680  3a 49 3d a6 28 38 29 3a  e5 8d 54 66 4c 0d 0b e0  |:I=.(8):..TfL...|
00001690  1d e7 47 3d 31 33 36 20  8c 20 78 6d 6f 76 65 3d  |..G=136 . xmove=|
000016a0  2d 32 2a 61 3a e5 8d 54  5c 4c 0d 0b ea 1d e7 47  |-2*a:..T\L.....G|
000016b0  3d 31 33 37 20 8c 20 78  6d 6f 76 65 3d 2b 32 2a  |=137 . xmove=+2*|
000016c0  61 3a e5 8d 54 5c 4c 0d  0b f4 1d e7 47 3d 31 33  |a:..T\L.....G=13|
000016d0  38 20 8c 20 79 6d 6f 76  65 3d 2d 32 2a 61 3a e5  |8 . ymove=-2*a:.|
000016e0  8d 54 5c 4c 0d 0b fe 1d  e7 47 3d 31 33 39 20 8c  |.T\L.....G=139 .|
000016f0  20 79 6d 6f 76 65 3d 2b  32 2a 61 3a e5 8d 54 5c  | ymove=+2*a:..T\|
00001700  4c 0d 0c 08 23 e7 47 3d  38 32 20 8c 20 f2 72 6f  |L...#.G=82 . .ro|
00001710  74 61 74 69 6f 6e 28 70  6c 61 79 65 72 29 3a e5  |tation(player):.|
00001720  8d 74 78 4b 0d 0c 12 66  e7 47 3d 38 30 20 8c 20  |.txK...f.G=80 . |
00001730  f2 63 68 65 63 6b 73 75  6d 3a e7 73 75 6d 3d 34  |.checksum:.sum=4|
00001740  20 8c 20 f2 64 6f 6d 69  6e 6f 49 4e 28 70 6c 61  | . .dominoIN(pla|
00001750  79 65 72 29 3a f2 74 6f  74 61 6c 28 70 6c 61 79  |yer):.total(play|
00001760  65 72 29 3a f2 6d 6f 76  65 3a e5 8d 54 66 4c 3a  |er):.move:..TfL:|
00001770  8b 20 f2 64 6f 6d 69 6e  6f 4f 55 54 28 70 6c 61  |. .dominoOUT(pla|
00001780  79 65 72 29 3a e5 8d 54  66 4c 0d 0c 1c 1f f2 6d  |yer):..TfL.....m|
00001790  6f 76 65 3a 78 6d 6f 76  65 3d 30 3a 79 6d 6f 76  |ove:xmove=0:ymov|
000017a0  65 3d 30 3a e5 8d 74 78  4b 0d 0c 26 13 78 6d 6f  |e=0:..txK..&.xmo|
000017b0  76 65 3d 30 3a 79 6d 6f  76 65 3d 30 0d 0c 30 05  |ve=0:ymove=0..0.|
000017c0  e1 0d 0c 3a 0e dd f2 63  6f 6d 70 75 74 65 72 0d  |...:...computer.|
000017d0  0c 44 15 70 70 3d 78 73  70 6f 74 3a 71 71 3d 79  |.D.pp=xspot:qq=y|
000017e0  73 70 6f 74 0d 0c 4e 0c  70 6c 61 79 65 72 3d 32  |spot..N.player=2|
000017f0  0d 0c 58 17 63 6f 6d 70  58 3d 31 35 35 3a 63 6f  |..X.compX=155:co|
00001800  6d 70 59 3d 31 34 35 0d  0c 62 05 f5 0d 0c 6c 0b  |mpY=145..b....l.|
00001810  70 72 69 6e 74 3d 30 0d  0c 76 05 f5 0d 0c 80 13  |print=0..v......|
00001820  63 6f 6d 70 58 3d 63 6f  6d 70 58 2b 32 2a 61 0d  |compX=compX+2*a.|
00001830  0c 8a 0b f2 6c 69 6d 69  74 73 0d 0c 94 16 50 3d  |....limits....P=|
00001840  b0 63 6f 6d 70 58 2b 31  32 2c 63 6f 6d 70 59 29  |.compX+12,compY)|
00001850  0d 0c 9e 25 e7 20 63 6f  6d 70 59 3e 39 34 35 20  |...%. compY>945 |
00001860  8c 20 50 3d 30 3a 63 6f  75 6e 74 3d 34 3a 70 72  |. P=0:count=4:pr|
00001870  69 6e 74 3d 31 0d 0c a8  09 fd 20 50 3d 30 0d 0c  |int=1..... P=0..|
00001880  b2 0b 63 6f 75 6e 74 3d  30 0d 0c bc 1b 78 73 70  |..count=0....xsp|
00001890  6f 74 3d 63 6f 6d 70 58  3a 79 73 70 6f 74 3d 63  |ot=compX:yspot=c|
000018a0  6f 6d 70 59 0d 0c c6 05  f5 0d 0c d0 0d f2 63 68  |ompY..........ch|
000018b0  65 63 6b 73 75 6d 0d 0c  da 44 e7 20 73 75 6d 3d  |ecksum...D. sum=|
000018c0  34 20 8c 20 f2 64 6f 6d  69 6e 6f 49 4e 28 70 6c  |4 . .dominoIN(pl|
000018d0  61 79 65 72 29 3a f2 74  6f 74 61 6c 28 70 6c 61  |ayer):.total(pla|
000018e0  79 65 72 29 3a 63 6f 75  6e 74 3d 34 3a 70 72 69  |yer):count=4:pri|
000018f0  6e 74 3d 31 3a e5 8d 64  6e 4c 0d 0c e4 10 f2 72  |nt=1:..dnL.....r|
00001900  6f 74 61 74 69 6f 6e 28  32 29 0d 0c ee 11 63 6f  |otation(2)....co|
00001910  75 6e 74 3d 63 6f 75 6e  74 2b 31 0d 0c f8 0d fd  |unt=count+1.....|
00001920  20 63 6f 75 6e 74 3e 34  0d 0d 02 0c fd 70 72 69  | count>4.....pri|
00001930  6e 74 3d 31 0d 0d 0c 15  78 73 70 6f 74 3d 70 70  |nt=1....xspot=pp|
00001940  3a 79 73 70 6f 74 3d 71  71 0d 0d 16 05 e1 0d 0d  |:yspot=qq.......|
00001950  20 0c dd f2 6c 69 6d 69  74 73 0d 0d 2a 2a e7 63  | ...limits..**.c|
00001960  6f 6d 70 58 3e 39 37 35  20 8c 20 63 6f 6d 70 58  |ompX>975 . compX|
00001970  3d 32 34 35 3a 63 6f 6d  70 59 3d 63 6f 6d 70 59  |=245:compY=compY|
00001980  2b 32 2a 61 0d 0d 34 05  e1 0d 0d 3e 0e dd f2 74  |+2*a..4....>...t|
00001990  6f 70 73 63 6f 72 65 0d  0d 48 0e d4 31 2c 32 2c  |opscore..H..1,2,|
000019a0  34 30 2c 31 32 0d 0d 52  05 e1 0d 0d 5c 0b dd f2  |40,12..R....\...|
000019b0  73 70 61 63 65 0d 0d 66  1d f1 8a 32 2c 32 39 29  |space..f...2,29)|
000019c0  3b 22 50 72 65 73 73 20  53 50 41 43 45 20 62 61  |;"Press SPACE ba|
000019d0  72 22 0d 0d 70 0a f5 fd  a6 2d 39 39 0d 0d 7a 05  |r"..p....-99..z.|
000019e0  e1 0d 0d 84 0b dd f2 69  6e 73 74 72 0d 0d 8e 1d  |.......instr....|
000019f0  db 3a f1 27 8a 33 29 3b  22 51 20 55 20 41 20 52  |.:.'.3);"Q U A R|
00001a00  20 54 20 45 20 52 20 53  22 0d 0d 98 3a f1 27 27  | T E R S"...:.''|
00001a10  22 54 68 65 20 66 6c 61  73 68 69 6e 67 20 73 70  |"The flashing sp|
00001a20  6f 74 20 69 73 22 27 22  6d 6f 76 65 64 20 62 79  |ot is"'"moved by|
00001a30  20 74 68 65 20 63 75 72  73 6f 72 22 27 22 6b 65  | the cursor"'"ke|
00001a40  79 73 22 0d 0d a2 3c f1  27 27 22 27 52 27 20 77  |ys"...<.''"'R' w|
00001a50  69 6c 6c 20 72 6f 74 61  74 65 20 74 68 65 22 27  |ill rotate the"'|
00001a60  22 64 6f 6d 69 6e 6f 20  63 75 72 72 65 6e 74 6c  |"domino currentl|
00001a70  79 20 6f 6e 22 27 22 64  69 73 70 6c 61 79 22 0d  |y on"'"display".|
00001a80  0d ac 46 f1 27 27 22 27  50 27 20 70 6c 61 79 73  |..F.''"'P' plays|
00001a90  20 74 68 65 20 64 6f 6d  69 6e 6f 22 27 22 61 74  | the domino"'"at|
00001aa0  20 74 68 65 20 70 6f 73  69 74 69 6f 6e 20 6f 66  | the position of|
00001ab0  22 27 22 74 68 65 20 66  6c 61 73 68 69 6e 67 20  |"'"the flashing |
00001ac0  73 70 6f 74 22 0d 0d b6  1d f1 8a 33 2c 32 39 29  |spot"......3,29)|
00001ad0  3b 22 50 72 65 73 73 20  53 50 41 43 45 20 62 61  |;"Press SPACE ba|
00001ae0  72 22 0d 0d c0 0a f5 fd  a6 2d 39 39 0d 0d ca 05  |r".......-99....|
00001af0  e1 0d 0d d4 20 eb 36 3a  ff 22 46 58 34 22 3a f6  |.... .6:."FX4":.|
00001b00  3a f1 22 20 61 74 20 6c  69 6e 65 20 22 3b 9e 3a  |:." at line ";.:|
00001b10  e0 0d ff                                          |...|
00001b13
QUARTS.m0
QUARTS.m1
QUARTS.m2
QUARTS.m4
QUARTS.m5