Home » Personal collection » Acorn DFS disks » dfs_box03_disk06_games_4_backup.scp » DARTS

DARTS

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 DFS disks » dfs_box03_disk06_games_4_backup.scp
Filename: DARTS
Read OK:
File size: 1180 bytes
Load address: FF1900
Exec address: FF801F
Duplicates

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

File contents
   10MODE1:COLOUR128:BEEB=FALSE
   20DIMR(5),S(20),SCORE(1),DARTX(3),DARTY(3),NAME$(1)
   30PRINTTAB(15,2)"BEEB DARTS"
   40COLOUR3
   50PRINT:PRINT "The game is 501 down."
   60PRINT "Finish on a double or the bull"
   70COLOUR1
   80PRINT:PRINT" AIMING "
   90COLOUR3
  100PRINT:PRINT:PRINT "UP....*    DOWN....?"
  110PRINT:PRINT"LEFT....Z    RIGHT....X"
  120PRINT:PRINT:PRINT "Throw with the space bar"
  130PRINTTAB(6,20) "Will there be 1 or 2 players"
  140REPEAT
  150A$=GET$
  160UNTIL A$="1"ORA$="2"
  170IF A$="1" THEN BEEB=TRUE
  180PRINTTAB(6)"Name of player 1"
  190INPUT NAME$(0)
  200IF NOT BEEB THEN PRINTTAB(6)"Name of player 2":INPUT NAME$(1)
  210IF BEEB THEN PRINT" The BEEB will be player 2":NAME$(1)="BEEB"
  220PRINT'"PRESS SPACE TO PROCEED"
  230REPEAT
  240A$=GET$:UNTIL A$=" "
  250MODE1:GCOL0,130:CLG:COLOUR130:COLOUR0
  260PROCBOARD
  270FINISH=FALSE
  280REPEAT
  290FOR PLAYER=0TO1:SCORE(PLAYER)=501:PROCWRITESCORE
  300IF LEN(NAME$(PLAYER))>6 THEN NAME$(PLAYER)=LEFT$(NAME$(PLAYER),6)
  310NEXT
  320PLAYER=1
  330GAMEOVER=FALSE
  340REPEAT
  350PLAYER=ABS(PLAYER-1):DART=0:TSCORE=0
  360PROCWRITENAME
  370REPEAT
  380DART=DART+1
  390DOUBLE=FALSE:BUST=FALSE:WIREFLAG=FALSE
  400X=RND(470)-235:Y=RND(470)-235 
  410PROCMOVECROSS
  420IFPOINT(X,Y)=2 AND RND(7)=2 THEN WIREFLAG=TRUE
  430 PROCDART(X,Y)
  440*FX15,1
  450 PROCTHUD 
  460PROCSCORE
  470IF R<R(1) OR R<R(5) THEN WIREFLAG=FALSE
  480PROCWRITESUB
  490PROCTOTALISE
  500UNTIL DART=3 OR GAMEOVER OR BUST
  510IF NOT BUST THEN SCORE(PLAYER)=SCORE(PLAYER)-TSCORE
  520PROCWAIT
  530*FX15,1
  540PROCCLEARBOARD
  550PROCWRITESCORE
  560UNTIL GAMEOVER
  570PROCWRITEND
  580REPEAT A$=GET$:UNTIL A$="N"OR A$="Y"
  590IF A$="N" THEN FINISH=TRUE
  600PROCWRITEND
  610VDU4
  620UNTIL FINISH=TRUE
  630MODE1:PRINTTAB(18,10)"BYE"
  640END
  660DEF PROCSCORE
  670DARTX(DART)=X:DARTY(DART)=Y
  680R=SQR(X^2+Y^2):IF R<R(0) THEN SCORE=50:DOUBLE=TRUE:ENDPROC
  690IF R<=R(1) THEN SCORE=25:ENDPROC
  700IF R>R(5) THEN SCORE=0:ENDPROC
  710IF WIREFLAG THEN SCORE=0:ENDPROC
  720THETA=ACS(X/R):IF Y<0 THEN THETA=2*PI-THETA
  730THETA=INT(0.7+THETA*10/PI-PI/20)
  740SCORE=S(THETA):IF R>=R(4) THEN SCORE=SCORE*2:DOUBLE=TRUE:ENDPROC
  750 IF R<R(3) AND R>=R(2) THEN SCORE=SCORE*3:ENDPROC
  760ENDPROC
  780DEF PROCWRITESUB
  790 IF WIREFLAG THEN PRINTTAB(1+PLAYER*34,25+DART)"WIRE" ELSE PRINTTAB(1+PLAYER*36,25+DART);SCORE
  800ENDPROC
  820DEF PROCDART(X,Y)
  830D=DIF/2
  840MOVEX-D,Y-D
  850DRAWX+D,Y+D
  860MOVEX-D,Y+D
  870DRAWX+D,Y-D
  880ENDPROC
  900DEF PROCMOVECROSS
  910GCOL3,2
  920REPEAT
  930PROCRANDOM
  940IF X<XMIN THEN X=XMIN
  950IF X>XMAX THEN X=XMAX
  960 IF Y<YMIN THEN Y=YMIN
  970 IF Y>YMAX THEN Y=YMAX 
  980PROCCROSS
  990A$=INKEY$(10)
 1000PROCCROSS
 1010IFA$=":" Y=Y+MOTE
 1020IFA$="/" Y=Y-MOTE
 1030IFA$="Z" X=X-MOTE
 1040IFA$="X" X=X+MOTE
 1050IF BEEB AND PLAYER=1 THEN PROCMYGAME
 1060UNTIL A$=" "
 1070ENDPROC
 1090DEF PROCCROSS
 1100 MOVEX-DIF,Y
 1110DRAWX+DIF,Y
 1120MOVEX,Y-DIF
 1130DRAWX,Y+DIF
 1140ENDPROC
 1160DEF PROCBOARD
 1170XMIN=-630:XMAX=630:YMIN=-512:YMAX=512:DIF=50:MOTE=15
 1180FOR I=0TO20:READS(I):NEXT
 1190VDU5:VDU29,640;512;
 1200R(0)=18:R(1)=50:R(2)=250:R(3)=280:R(4)=440:R(5)=470:C=COS(PI/50):S=SIN(PI/50):K=1
 1210FOR I=PI/20TO2*PI-PI/20 STEP PI/10
 1220C1=COS(I):S1=SIN(I)
 1230FOR L=1TO4
 1240GCOL0,K:K=ABS(K-1)
 1250PROCSECTOR(R(L)*C1,R(L)*S1,R(L+1)*C1,R(L+1)*S1)
 1260NEXT L
 1270GCOL0,K:K=ABS(K-1)
 1280NEXT I
 1290FOR I=0TO19:MOVE490*COS(I*PI/10)-300-25*((S(I)=18)+(S(I)=13)+(S(I)=10)+(S(I)=15)),490*SIN(I*PI/10)+10
 1300PRINTS(I):NEXT
 1310GCOL0,2
 1320FOR I=PI/20TO2*PI-PI/20 STEP PI/10
 1330X=R(5)*COS(I):Y=R(5)*SIN(I)
 1340MOVE 0,0:DRAWX,Y
 1350NEXT
 1360FOR I=2TO4:PROCCIRCLE(R(I)):NEXT
 1370GCOL0,0
 1380C=PI/10:MOVE0,0
 1390FOR I=1TO21:X=R(0)*COS(C*(I-1)):Y=R(0)*SIN(C*(I-1))
 1400MOVE0,0:PLOT85,X,Y
 1410NEXT I
 1420VDU4
 1430ENDPROC
 1450DEF PROCSECTOR(X,Y,X1,Y1)
 1460MOVEX,Y:DRAWX1,Y1
 1470FOR J=1TO5
 1480 T=X*C-Y*S:Y=Y*C+X*S:X=T
 1490PLOT85,X,Y
 1500T=X1*C-Y1*S:Y1=Y1*C+X1*S:X1=T
 1510PLOT85,X1,Y1
 1520NEXT J
 1530ENDPROC
 1550DEF PROCTOTALISE
 1560IF SCORE=SCORE(PLAYER)-TSCORE AND DOUBLE=TRUE THEN GAMEOVER=TRUE:ENDPROC
 1570IF SCORE>=SCORE(PLAYER)-TSCORE-1 THEN PROCBUST:ENDPROC
 1580TSCORE=TSCORE+SCORE
 1590ENDPROC
 1610DEF PROCBUST
 1620SOUND 1,-15,100,10
 1630BUST=TRUE
 1640ENDPROC
 1660DEF PROCWRITESCORE
 1670FLAG=FALSE:SCORE=SCORE(PLAYER)
 1680IF SCORE<41 AND (SCORE/2-INT(SCORE/2))<0.1 THEN SCORE=SCORE/2:FLAG=TRUE
 1690PRINTTAB(1+PLAYER*35,4);"    "
 1700PRINTTAB(1+PLAYER*35,4);SCORE
 1710IF FLAG PRINT"x"
 1720ENDPROC
 1740DEF PROCCLEARBOARD
 1750FOR I=1TODART
 1760PROCDART(DARTX(I),DARTY(I))
 1770PRINTTAB(1+PLAYER*34,25+I)
 1780PROCWAIT
 1790NEXT I
 1800ENDPROC
 1820DEF PROCCIRCLE(R)
 1830 C=COS(0.05):S=SIN(0.05):X=R:Y=0
 1840MOVEX,Y
 1850FOR J=1TO128:T=X*C-Y*S:Y=Y*C+X*S:X=T
 1860DRAWX,Y
 1870NEXT J
 1880ENDPROC
 1900DEF PROCWAIT
 1910FOR J=1TO1000:NEXTJ
 1920ENDPROC
 1940DEF PROCMYGAME
 1950PROCWAIT
 1960A$=" "
 1970IF SCORE(PLAYER)>180THEN X=0:Y=R(2)+10:PROCRANDOM:ENDPROC
 1980IF SCORE(PLAYER)-TSCORE>100THEN X=0:Y=R(3)+25:PROCRANDOM:ENDPROC   
 1990IF SCORE(PLAYER)-TSCORE>61THEN X=30:Y=R(3)+30:PROCRANDOM:ENDPROC
 2000IF SCORE(PLAYER)-TSCORE=50THEN X=0:Y=5:PROCRANDOM:ENDPROC
 2010IF SCORE(PLAYER)-TSCORE>40THEN X=R(3)+30:Y=0:PROCRANDOM:ENDPROC
 2020SCORE=SCORE(PLAYER)-TSCORE/2
 2030IF SCORE-INT(SCORE)<.1 THEN I=0:REPEAT:I=I+1:UNTIL SCORE=S(I):THETA=PI*I/10-PI/20:R=R(4)+5:X=R*COS(THETA):Y=R*SIN(THETA):ELSE X=80:Y=330
 2040PROCRANDOM
 2050ENDPROC
 2070DEF PROCRANDOM
 2080D=RND(3)-2:E=RND(3)-2
 2090X=X+D*15:Y=Y+E*15
 2100ENDPROC
 2120DEF PROCWRITEND
 2130PRINTTAB(1,2)"     "
 2140VDU5:GCOL3,3
 2150MOVE-640,504:PRINT" WINNER: ";
 2160PRINT NAME$(PLAYER)
 2170PRINT "ANOTHER GAME?"
 2180PRINT "Y/N"
 2190ENDPROC
 2210DEF PROCWRITENAME
 2220IF PLAYER=0 THEN PRINTTAB(32,2)"    " ELSE PRINTTAB(1,2)"     "
 2230SOUND1,-15,100,3
 2240PRINTTAB(1+33*PLAYER,2)NAME$(PLAYER)
 2250ENDPROC
 2260 
 2270DEF PROCTHUD
 2280SOUND0,-15,6,5
 2290ENDPROC
 2310DATA 6,13,4,18,1,20,5,12,9,14,11,8,16,7,19,3,17,2,15,10,6

�1:�128:BEEB=�
3�R(5),S(20),SCORE(1),DARTX(3),DARTY(3),NAME$(1)
�15,2)"BEEB DARTS"
(�3
2�:� "The game is 501 down."
<&� "Finish on a double or the bull"
F�1
P�:�" AIMING "
Z�3
d �:�:� "UP....*    DOWN....?"
n �:�"LEFT....Z    RIGHT....X"
x$�:�:� "Throw with the space bar"
�*�6,20) "Will there be 1 or 2 players"
��
�A$=�
�� A$="1"�A$="2"
�� A$="1" � BEEB=�
��6)"Name of player 1"
�� NAME$(0)
�0� � BEEB � �6)"Name of player 2":� NAME$(1)
�:� BEEB � �" The BEEB will be player 2":NAME$(1)="BEEB"
��'"PRESS SPACE TO PROCEED"
��
�A$=�:� A$=" "
��1:�0,130:�:�130:�0

�BOARD
FINISH=�
�
".� PLAYER=0�1:SCORE(PLAYER)=501:�WRITESCORE
,:� �(NAME$(PLAYER))>6 � NAME$(PLAYER)=�NAME$(PLAYER),6)
6�
@PLAYER=1
JGAMEOVER=�
T�
^&PLAYER=�(PLAYER-1):DART=0:TSCORE=0
h�WRITENAME
r�
|DART=DART+1
�DOUBLE=�:BUST=�:WIREFLAG=�
�X=�(470)-235:Y=�(470)-235 
��MOVECROSS
�"�X,Y)=2 � �(7)=2 � WIREFLAG=�
� �DART(X,Y)
�*FX15,1
� �THUD 
�
�SCORE
�"� R<R(1) � R<R(5) � WIREFLAG=�
�
�WRITESUB
�
�TOTALISE
�� DART=3 � GAMEOVER � BUST
�1� � BUST � SCORE(PLAYER)=SCORE(PLAYER)-TSCORE
	�WAIT
*FX15,1
�CLEARBOARD
&�WRITESCORE
0� GAMEOVER
:�WRITEND
D� A$=�:� A$="N"� A$="Y"
N� A$="N" � FINISH=�
X�WRITEND
b�4
l� FINISH=�
v�1:�18,10)"BYE"
��
�� �SCORE
�DARTX(DART)=X:DARTY(DART)=Y
�/R=�(X^2+Y^2):� R<R(0) � SCORE=50:DOUBLE=�:�
�� R<=R(1) � SCORE=25:�
�� R>R(5) � SCORE=0:�
�� WIREFLAG � SCORE=0:�
�(THETA=�(X/R):� Y<0 � THETA=2*�-THETA
� THETA=�(0.7+THETA*10/�-�/20)
�7SCORE=S(THETA):� R>=R(4) � SCORE=SCORE*2:DOUBLE=�:�
�) � R<R(3) � R>=R(2) � SCORE=SCORE*3:�
��
� �WRITESUB
M � WIREFLAG � �1+PLAYER*34,25+DART)"WIRE" � �1+PLAYER*36,25+DART);SCORE
 �
4� �DART(X,Y)
>D=DIF/2
H�X-D,Y-D
R�X+D,Y+D
\�X-D,Y+D
f�X+D,Y-D
p�
�� �MOVECROSS
��3,2
��
��RANDOM
�� X<XMIN � X=XMIN
�� X>XMAX � X=XMAX
� � Y<YMIN � Y=YMIN
� � Y>YMAX � Y=YMAX 
�
�CROSS
�A$=�(10)
�
�CROSS
��A$=":" Y=Y+MOTE
��A$="/" Y=Y-MOTE
�A$="Z" X=X-MOTE
�A$="X" X=X+MOTE
� BEEB � PLAYER=1 � �MYGAME
$� A$=" "
.�
B� �CROSS
L
 �X-DIF,Y
V�X+DIF,Y
`�X,Y-DIF
j�X,Y+DIF
t�
�� �BOARD
�8XMIN=-630:XMAX=630:YMIN=-512:YMAX=512:DIF=50:MOTE=15
�� I=0�20:�S(I):�
��5:�29,640;512;
�OR(0)=18:R(1)=50:R(2)=250:R(3)=280:R(4)=440:R(5)=470:C=�(�/50):S=�(�/50):K=1
�� I=�/20�2*�-�/20 � �/10
�C1=�(I):S1=�(I)
�� L=1�4
��0,K:K=�(K-1)
�0�SECTOR(R(L)*C1,R(L)*S1,R(L+1)*C1,R(L+1)*S1)
�� L
��0,K:K=�(K-1)
� I

]� I=0�19:�490*�(I*�/10)-300-25*((S(I)=18)+(S(I)=13)+(S(I)=10)+(S(I)=15)),490*�(I*�/10)+10
�S(I):�
�0,2
(� I=�/20�2*�-�/20 � �/10
2X=R(5)*�(I):Y=R(5)*�(I)
<� 0,0:�X,Y
F�
P� I=2�4:�CIRCLE(R(I)):�
Z�0,0
dC=�/10:�0,0
n0� I=1�21:X=R(0)*�(C*(I-1)):Y=R(0)*�(C*(I-1))
x�0,0:�85,X,Y
�� I
��4
��
�� �SECTOR(X,Y,X1,Y1)
��X,Y:�X1,Y1
�� J=1�5
� T=X*C-Y*S:Y=Y*C+X*S:X=T
��85,X,Y
�!T=X1*C-Y1*S:Y1=Y1*C+X1*S:X1=T
�
�85,X1,Y1
�� J
��
� �TOTALISE
:� SCORE=SCORE(PLAYER)-TSCORE � DOUBLE=� � GAMEOVER=�:�
"-� SCORE>=SCORE(PLAYER)-TSCORE-1 � �BUST:�
,TSCORE=TSCORE+SCORE
6�
J� �BUST
T� 1,-15,100,10
^
BUST=�
h�
|� �WRITESCORE
�FLAG=�:SCORE=SCORE(PLAYER)
�@� SCORE<41 � (SCORE/2-�(SCORE/2))<0.1 � SCORE=SCORE/2:FLAG=�
��1+PLAYER*35,4);"    "
��1+PLAYER*35,4);SCORE
�� FLAG �"x"
��
�� �CLEARBOARD
�� I=1�DART
��DART(DARTX(I),DARTY(I))
��1+PLAYER*34,25+I)
�	�WAIT
�� I
�
� �CIRCLE(R)
&  C=�(0.05):S=�(0.05):X=R:Y=0
0�X,Y
:%� J=1�128:T=X*C-Y*S:Y=Y*C+X*S:X=T
D�X,Y
N� J
X�
l� �WAIT
v� J=1�1000:�J
��
�
� �MYGAME
�	�WAIT
�
A$=" "
�0� SCORE(PLAYER)>180� X=0:Y=R(2)+10:�RANDOM:�
�:� SCORE(PLAYER)-TSCORE>100� X=0:Y=R(3)+25:�RANDOM:�   
�7� SCORE(PLAYER)-TSCORE>61� X=30:Y=R(3)+30:�RANDOM:�
�0� SCORE(PLAYER)-TSCORE=50� X=0:Y=5:�RANDOM:�
�6� SCORE(PLAYER)-TSCORE>40� X=R(3)+30:Y=0:�RANDOM:�
� SCORE=SCORE(PLAYER)-TSCORE/2
�t� SCORE-�(SCORE)<.1 � I=0:�:I=I+1:� SCORE=S(I):THETA=�*I/10-�/20:R=R(4)+5:X=R*�(THETA):Y=R*�(THETA):� X=80:Y=330
��RANDOM
�

� �RANDOM
 D=�(3)-2:E=�(3)-2
*X=X+D*15:Y=Y+E*15
4�
H� �WRITEND
R�1,2)"     "
\�5:�3,3
f�-640,504:�" WINNER: ";
p� NAME$(PLAYER)
z� "ANOTHER GAME?"
�� "Y/N"
��
�� �WRITENAME
�.� PLAYER=0 � �32,2)"    " � �1,2)"     "
��1,-15,100,3
�!�1+33*PLAYER,2)NAME$(PLAYER)
��
� 
�� �THUD
��0,-15,6,5
��
	:� 6,13,4,18,1,20,5,12,9,14,11,8,16,7,19,3,17,2,15,10,6
�
00000000  0d 00 0a 12 eb 31 3a fb  31 32 38 3a 42 45 45 42  |.....1:.128:BEEB|
00000010  3d a3 0d 00 14 33 de 52  28 35 29 2c 53 28 32 30  |=....3.R(5),S(20|
00000020  29 2c 53 43 4f 52 45 28  31 29 2c 44 41 52 54 58  |),SCORE(1),DARTX|
00000030  28 33 29 2c 44 41 52 54  59 28 33 29 2c 4e 41 4d  |(3),DARTY(3),NAM|
00000040  45 24 28 31 29 0d 00 1e  17 f1 8a 31 35 2c 32 29  |E$(1)......15,2)|
00000050  22 42 45 45 42 20 44 41  52 54 53 22 0d 00 28 06  |"BEEB DARTS"..(.|
00000060  fb 33 0d 00 32 1f f1 3a  f1 20 22 54 68 65 20 67  |.3..2..:. "The g|
00000070  61 6d 65 20 69 73 20 35  30 31 20 64 6f 77 6e 2e  |ame is 501 down.|
00000080  22 0d 00 3c 26 f1 20 22  46 69 6e 69 73 68 20 6f  |"..<&. "Finish o|
00000090  6e 20 61 20 64 6f 75 62  6c 65 20 6f 72 20 74 68  |n a double or th|
000000a0  65 20 62 75 6c 6c 22 0d  00 46 06 fb 31 0d 00 50  |e bull"..F..1..P|
000000b0  11 f1 3a f1 22 20 41 49  4d 49 4e 47 20 22 0d 00  |..:." AIMING "..|
000000c0  5a 06 fb 33 0d 00 64 20  f1 3a f1 3a f1 20 22 55  |Z..3..d .:.:. "U|
000000d0  50 2e 2e 2e 2e 2a 20 20  20 20 44 4f 57 4e 2e 2e  |P....*    DOWN..|
000000e0  2e 2e 3f 22 0d 00 6e 20  f1 3a f1 22 4c 45 46 54  |..?"..n .:."LEFT|
000000f0  2e 2e 2e 2e 5a 20 20 20  20 52 49 47 48 54 2e 2e  |....Z    RIGHT..|
00000100  2e 2e 58 22 0d 00 78 24  f1 3a f1 3a f1 20 22 54  |..X"..x$.:.:. "T|
00000110  68 72 6f 77 20 77 69 74  68 20 74 68 65 20 73 70  |hrow with the sp|
00000120  61 63 65 20 62 61 72 22  0d 00 82 2a f1 8a 36 2c  |ace bar"...*..6,|
00000130  32 30 29 20 22 57 69 6c  6c 20 74 68 65 72 65 20  |20) "Will there |
00000140  62 65 20 31 20 6f 72 20  32 20 70 6c 61 79 65 72  |be 1 or 2 player|
00000150  73 22 0d 00 8c 05 f5 0d  00 96 08 41 24 3d be 0d  |s".........A$=..|
00000160  00 a0 13 fd 20 41 24 3d  22 31 22 84 41 24 3d 22  |.... A$="1".A$="|
00000170  32 22 0d 00 aa 15 e7 20  41 24 3d 22 31 22 20 8c  |2"..... A$="1" .|
00000180  20 42 45 45 42 3d b9 0d  00 b4 1a f1 8a 36 29 22  | BEEB=.......6)"|
00000190  4e 61 6d 65 20 6f 66 20  70 6c 61 79 65 72 20 31  |Name of player 1|
000001a0  22 0d 00 be 0e e8 20 4e  41 4d 45 24 28 30 29 0d  |"..... NAME$(0).|
000001b0  00 c8 30 e7 20 ac 20 42  45 45 42 20 8c 20 f1 8a  |..0. . BEEB . ..|
000001c0  36 29 22 4e 61 6d 65 20  6f 66 20 70 6c 61 79 65  |6)"Name of playe|
000001d0  72 20 32 22 3a e8 20 4e  41 4d 45 24 28 31 29 0d  |r 2":. NAME$(1).|
000001e0  00 d2 3a e7 20 42 45 45  42 20 8c 20 f1 22 20 54  |..:. BEEB . ." T|
000001f0  68 65 20 42 45 45 42 20  77 69 6c 6c 20 62 65 20  |he BEEB will be |
00000200  70 6c 61 79 65 72 20 32  22 3a 4e 41 4d 45 24 28  |player 2":NAME$(|
00000210  31 29 3d 22 42 45 45 42  22 0d 00 dc 1e f1 27 22  |1)="BEEB".....'"|
00000220  50 52 45 53 53 20 53 50  41 43 45 20 54 4f 20 50  |PRESS SPACE TO P|
00000230  52 4f 43 45 45 44 22 0d  00 e6 05 f5 0d 00 f0 11  |ROCEED".........|
00000240  41 24 3d be 3a fd 20 41  24 3d 22 20 22 0d 00 fa  |A$=.:. A$=" "...|
00000250  17 eb 31 3a e6 30 2c 31  33 30 3a da 3a fb 31 33  |..1:.0,130:.:.13|
00000260  30 3a fb 30 0d 01 04 0a  f2 42 4f 41 52 44 0d 01  |0:.0.....BOARD..|
00000270  0e 0c 46 49 4e 49 53 48  3d a3 0d 01 18 05 f5 0d  |..FINISH=.......|
00000280  01 22 2e e3 20 50 4c 41  59 45 52 3d 30 b8 31 3a  |.".. PLAYER=0.1:|
00000290  53 43 4f 52 45 28 50 4c  41 59 45 52 29 3d 35 30  |SCORE(PLAYER)=50|
000002a0  31 3a f2 57 52 49 54 45  53 43 4f 52 45 0d 01 2c  |1:.WRITESCORE..,|
000002b0  3a e7 20 a9 28 4e 41 4d  45 24 28 50 4c 41 59 45  |:. .(NAME$(PLAYE|
000002c0  52 29 29 3e 36 20 8c 20  4e 41 4d 45 24 28 50 4c  |R))>6 . NAME$(PL|
000002d0  41 59 45 52 29 3d c0 4e  41 4d 45 24 28 50 4c 41  |AYER)=.NAME$(PLA|
000002e0  59 45 52 29 2c 36 29 0d  01 36 05 ed 0d 01 40 0c  |YER),6)..6....@.|
000002f0  50 4c 41 59 45 52 3d 31  0d 01 4a 0e 47 41 4d 45  |PLAYER=1..J.GAME|
00000300  4f 56 45 52 3d a3 0d 01  54 05 f5 0d 01 5e 26 50  |OVER=...T....^&P|
00000310  4c 41 59 45 52 3d 94 28  50 4c 41 59 45 52 2d 31  |LAYER=.(PLAYER-1|
00000320  29 3a 44 41 52 54 3d 30  3a 54 53 43 4f 52 45 3d  |):DART=0:TSCORE=|
00000330  30 0d 01 68 0e f2 57 52  49 54 45 4e 41 4d 45 0d  |0..h..WRITENAME.|
00000340  01 72 05 f5 0d 01 7c 0f  44 41 52 54 3d 44 41 52  |.r....|.DART=DAR|
00000350  54 2b 31 0d 01 86 1e 44  4f 55 42 4c 45 3d a3 3a  |T+1....DOUBLE=.:|
00000360  42 55 53 54 3d a3 3a 57  49 52 45 46 4c 41 47 3d  |BUST=.:WIREFLAG=|
00000370  a3 0d 01 90 1e 58 3d b3  28 34 37 30 29 2d 32 33  |.....X=.(470)-23|
00000380  35 3a 59 3d b3 28 34 37  30 29 2d 32 33 35 20 0d  |5:Y=.(470)-235 .|
00000390  01 9a 0e f2 4d 4f 56 45  43 52 4f 53 53 0d 01 a4  |....MOVECROSS...|
000003a0  22 e7 b0 58 2c 59 29 3d  32 20 80 20 b3 28 37 29  |"..X,Y)=2 . .(7)|
000003b0  3d 32 20 8c 20 57 49 52  45 46 4c 41 47 3d b9 0d  |=2 . WIREFLAG=..|
000003c0  01 ae 0f 20 f2 44 41 52  54 28 58 2c 59 29 0d 01  |... .DART(X,Y)..|
000003d0  b8 0b 2a 46 58 31 35 2c  31 0d 01 c2 0b 20 f2 54  |..*FX15,1.... .T|
000003e0  48 55 44 20 0d 01 cc 0a  f2 53 43 4f 52 45 0d 01  |HUD .....SCORE..|
000003f0  d6 22 e7 20 52 3c 52 28  31 29 20 84 20 52 3c 52  |.". R<R(1) . R<R|
00000400  28 35 29 20 8c 20 57 49  52 45 46 4c 41 47 3d a3  |(5) . WIREFLAG=.|
00000410  0d 01 e0 0d f2 57 52 49  54 45 53 55 42 0d 01 ea  |.....WRITESUB...|
00000420  0d f2 54 4f 54 41 4c 49  53 45 0d 01 f4 1e fd 20  |..TOTALISE..... |
00000430  44 41 52 54 3d 33 20 84  20 47 41 4d 45 4f 56 45  |DART=3 . GAMEOVE|
00000440  52 20 84 20 42 55 53 54  0d 01 fe 31 e7 20 ac 20  |R . BUST...1. . |
00000450  42 55 53 54 20 8c 20 53  43 4f 52 45 28 50 4c 41  |BUST . SCORE(PLA|
00000460  59 45 52 29 3d 53 43 4f  52 45 28 50 4c 41 59 45  |YER)=SCORE(PLAYE|
00000470  52 29 2d 54 53 43 4f 52  45 0d 02 08 09 f2 57 41  |R)-TSCORE.....WA|
00000480  49 54 0d 02 12 0b 2a 46  58 31 35 2c 31 0d 02 1c  |IT....*FX15,1...|
00000490  0f f2 43 4c 45 41 52 42  4f 41 52 44 0d 02 26 0f  |..CLEARBOARD..&.|
000004a0  f2 57 52 49 54 45 53 43  4f 52 45 0d 02 30 0e fd  |.WRITESCORE..0..|
000004b0  20 47 41 4d 45 4f 56 45  52 0d 02 3a 0c f2 57 52  | GAMEOVER..:..WR|
000004c0  49 54 45 4e 44 0d 02 44  1b f5 20 41 24 3d be 3a  |ITEND..D.. A$=.:|
000004d0  fd 20 41 24 3d 22 4e 22  84 20 41 24 3d 22 59 22  |. A$="N". A$="Y"|
000004e0  0d 02 4e 17 e7 20 41 24  3d 22 4e 22 20 8c 20 46  |..N.. A$="N" . F|
000004f0  49 4e 49 53 48 3d b9 0d  02 58 0c f2 57 52 49 54  |INISH=...X..WRIT|
00000500  45 4e 44 0d 02 62 06 ef  34 0d 02 6c 0e fd 20 46  |END..b..4..l.. F|
00000510  49 4e 49 53 48 3d b9 0d  02 76 14 eb 31 3a f1 8a  |INISH=...v..1:..|
00000520  31 38 2c 31 30 29 22 42  59 45 22 0d 02 80 05 e0  |18,10)"BYE".....|
00000530  0d 02 94 0c dd 20 f2 53  43 4f 52 45 0d 02 9e 1f  |..... .SCORE....|
00000540  44 41 52 54 58 28 44 41  52 54 29 3d 58 3a 44 41  |DARTX(DART)=X:DA|
00000550  52 54 59 28 44 41 52 54  29 3d 59 0d 02 a8 2f 52  |RTY(DART)=Y.../R|
00000560  3d b6 28 58 5e 32 2b 59  5e 32 29 3a e7 20 52 3c  |=.(X^2+Y^2):. R<|
00000570  52 28 30 29 20 8c 20 53  43 4f 52 45 3d 35 30 3a  |R(0) . SCORE=50:|
00000580  44 4f 55 42 4c 45 3d b9  3a e1 0d 02 b2 1a e7 20  |DOUBLE=.:...... |
00000590  52 3c 3d 52 28 31 29 20  8c 20 53 43 4f 52 45 3d  |R<=R(1) . SCORE=|
000005a0  32 35 3a e1 0d 02 bc 18  e7 20 52 3e 52 28 35 29  |25:...... R>R(5)|
000005b0  20 8c 20 53 43 4f 52 45  3d 30 3a e1 0d 02 c6 1a  | . SCORE=0:.....|
000005c0  e7 20 57 49 52 45 46 4c  41 47 20 8c 20 53 43 4f  |. WIREFLAG . SCO|
000005d0  52 45 3d 30 3a e1 0d 02  d0 28 54 48 45 54 41 3d  |RE=0:....(THETA=|
000005e0  95 28 58 2f 52 29 3a e7  20 59 3c 30 20 8c 20 54  |.(X/R):. Y<0 . T|
000005f0  48 45 54 41 3d 32 2a af  2d 54 48 45 54 41 0d 02  |HETA=2*.-THETA..|
00000600  da 20 54 48 45 54 41 3d  a8 28 30 2e 37 2b 54 48  |. THETA=.(0.7+TH|
00000610  45 54 41 2a 31 30 2f af  2d af 2f 32 30 29 0d 02  |ETA*10/.-./20)..|
00000620  e4 37 53 43 4f 52 45 3d  53 28 54 48 45 54 41 29  |.7SCORE=S(THETA)|
00000630  3a e7 20 52 3e 3d 52 28  34 29 20 8c 20 53 43 4f  |:. R>=R(4) . SCO|
00000640  52 45 3d 53 43 4f 52 45  2a 32 3a 44 4f 55 42 4c  |RE=SCORE*2:DOUBL|
00000650  45 3d b9 3a e1 0d 02 ee  29 20 e7 20 52 3c 52 28  |E=.:....) . R<R(|
00000660  33 29 20 80 20 52 3e 3d  52 28 32 29 20 8c 20 53  |3) . R>=R(2) . S|
00000670  43 4f 52 45 3d 53 43 4f  52 45 2a 33 3a e1 0d 02  |CORE=SCORE*3:...|
00000680  f8 05 e1 0d 03 0c 0f dd  20 f2 57 52 49 54 45 53  |........ .WRITES|
00000690  55 42 0d 03 16 4d 20 e7  20 57 49 52 45 46 4c 41  |UB...M . WIREFLA|
000006a0  47 20 8c 20 f1 8a 31 2b  50 4c 41 59 45 52 2a 33  |G . ..1+PLAYER*3|
000006b0  34 2c 32 35 2b 44 41 52  54 29 22 57 49 52 45 22  |4,25+DART)"WIRE"|
000006c0  20 8b 20 f1 8a 31 2b 50  4c 41 59 45 52 2a 33 36  | . ..1+PLAYER*36|
000006d0  2c 32 35 2b 44 41 52 54  29 3b 53 43 4f 52 45 0d  |,25+DART);SCORE.|
000006e0  03 20 05 e1 0d 03 34 10  dd 20 f2 44 41 52 54 28  |. ....4.. .DART(|
000006f0  58 2c 59 29 0d 03 3e 0b  44 3d 44 49 46 2f 32 0d  |X,Y)..>.D=DIF/2.|
00000700  03 48 0c ec 58 2d 44 2c  59 2d 44 0d 03 52 0c df  |.H..X-D,Y-D..R..|
00000710  58 2b 44 2c 59 2b 44 0d  03 5c 0c ec 58 2d 44 2c  |X+D,Y+D..\..X-D,|
00000720  59 2b 44 0d 03 66 0c df  58 2b 44 2c 59 2d 44 0d  |Y+D..f..X+D,Y-D.|
00000730  03 70 05 e1 0d 03 84 10  dd 20 f2 4d 4f 56 45 43  |.p....... .MOVEC|
00000740  52 4f 53 53 0d 03 8e 08  e6 33 2c 32 0d 03 98 05  |ROSS.....3,2....|
00000750  f5 0d 03 a2 0b f2 52 41  4e 44 4f 4d 0d 03 ac 15  |......RANDOM....|
00000760  e7 20 58 3c 58 4d 49 4e  20 8c 20 58 3d 58 4d 49  |. X<XMIN . X=XMI|
00000770  4e 0d 03 b6 15 e7 20 58  3e 58 4d 41 58 20 8c 20  |N..... X>XMAX . |
00000780  58 3d 58 4d 41 58 0d 03  c0 16 20 e7 20 59 3c 59  |X=XMAX.... . Y<Y|
00000790  4d 49 4e 20 8c 20 59 3d  59 4d 49 4e 0d 03 ca 17  |MIN . Y=YMIN....|
000007a0  20 e7 20 59 3e 59 4d 41  58 20 8c 20 59 3d 59 4d  | . Y>YMAX . Y=YM|
000007b0  41 58 20 0d 03 d4 0a f2  43 52 4f 53 53 0d 03 de  |AX .....CROSS...|
000007c0  0c 41 24 3d bf 28 31 30  29 0d 03 e8 0a f2 43 52  |.A$=.(10).....CR|
000007d0  4f 53 53 0d 03 f2 14 e7  41 24 3d 22 3a 22 20 59  |OSS.....A$=":" Y|
000007e0  3d 59 2b 4d 4f 54 45 0d  03 fc 14 e7 41 24 3d 22  |=Y+MOTE.....A$="|
000007f0  2f 22 20 59 3d 59 2d 4d  4f 54 45 0d 04 06 14 e7  |/" Y=Y-MOTE.....|
00000800  41 24 3d 22 5a 22 20 58  3d 58 2d 4d 4f 54 45 0d  |A$="Z" X=X-MOTE.|
00000810  04 10 14 e7 41 24 3d 22  58 22 20 58 3d 58 2b 4d  |....A$="X" X=X+M|
00000820  4f 54 45 0d 04 1a 1f e7  20 42 45 45 42 20 80 20  |OTE..... BEEB . |
00000830  50 4c 41 59 45 52 3d 31  20 8c 20 f2 4d 59 47 41  |PLAYER=1 . .MYGA|
00000840  4d 45 0d 04 24 0c fd 20  41 24 3d 22 20 22 0d 04  |ME..$.. A$=" "..|
00000850  2e 05 e1 0d 04 42 0c dd  20 f2 43 52 4f 53 53 0d  |.....B.. .CROSS.|
00000860  04 4c 0d 20 ec 58 2d 44  49 46 2c 59 0d 04 56 0c  |.L. .X-DIF,Y..V.|
00000870  df 58 2b 44 49 46 2c 59  0d 04 60 0c ec 58 2c 59  |.X+DIF,Y..`..X,Y|
00000880  2d 44 49 46 0d 04 6a 0c  df 58 2c 59 2b 44 49 46  |-DIF..j..X,Y+DIF|
00000890  0d 04 74 05 e1 0d 04 88  0c dd 20 f2 42 4f 41 52  |..t....... .BOAR|
000008a0  44 0d 04 92 38 58 4d 49  4e 3d 2d 36 33 30 3a 58  |D...8XMIN=-630:X|
000008b0  4d 41 58 3d 36 33 30 3a  59 4d 49 4e 3d 2d 35 31  |MAX=630:YMIN=-51|
000008c0  32 3a 59 4d 41 58 3d 35  31 32 3a 44 49 46 3d 35  |2:YMAX=512:DIF=5|
000008d0  30 3a 4d 4f 54 45 3d 31  35 0d 04 9c 14 e3 20 49  |0:MOTE=15..... I|
000008e0  3d 30 b8 32 30 3a f3 53  28 49 29 3a ed 0d 04 a6  |=0.20:.S(I):....|
000008f0  13 ef 35 3a ef 32 39 2c  36 34 30 3b 35 31 32 3b  |..5:.29,640;512;|
00000900  0d 04 b0 4f 52 28 30 29  3d 31 38 3a 52 28 31 29  |...OR(0)=18:R(1)|
00000910  3d 35 30 3a 52 28 32 29  3d 32 35 30 3a 52 28 33  |=50:R(2)=250:R(3|
00000920  29 3d 32 38 30 3a 52 28  34 29 3d 34 34 30 3a 52  |)=280:R(4)=440:R|
00000930  28 35 29 3d 34 37 30 3a  43 3d 9b 28 af 2f 35 30  |(5)=470:C=.(./50|
00000940  29 3a 53 3d b5 28 af 2f  35 30 29 3a 4b 3d 31 0d  |):S=.(./50):K=1.|
00000950  04 ba 1c e3 20 49 3d af  2f 32 30 b8 32 2a af 2d  |.... I=./20.2*.-|
00000960  af 2f 32 30 20 88 20 af  2f 31 30 0d 04 c4 13 43  |./20 . ./10....C|
00000970  31 3d 9b 28 49 29 3a 53  31 3d b5 28 49 29 0d 04  |1=.(I):S1=.(I)..|
00000980  ce 0b e3 20 4c 3d 31 b8  34 0d 04 d8 11 e6 30 2c  |... L=1.4.....0,|
00000990  4b 3a 4b 3d 94 28 4b 2d  31 29 0d 04 e2 30 f2 53  |K:K=.(K-1)...0.S|
000009a0  45 43 54 4f 52 28 52 28  4c 29 2a 43 31 2c 52 28  |ECTOR(R(L)*C1,R(|
000009b0  4c 29 2a 53 31 2c 52 28  4c 2b 31 29 2a 43 31 2c  |L)*S1,R(L+1)*C1,|
000009c0  52 28 4c 2b 31 29 2a 53  31 29 0d 04 ec 07 ed 20  |R(L+1)*S1)..... |
000009d0  4c 0d 04 f6 11 e6 30 2c  4b 3a 4b 3d 94 28 4b 2d  |L.....0,K:K=.(K-|
000009e0  31 29 0d 05 00 07 ed 20  49 0d 05 0a 5d e3 20 49  |1)..... I...]. I|
000009f0  3d 30 b8 31 39 3a ec 34  39 30 2a 9b 28 49 2a af  |=0.19:.490*.(I*.|
00000a00  2f 31 30 29 2d 33 30 30  2d 32 35 2a 28 28 53 28  |/10)-300-25*((S(|
00000a10  49 29 3d 31 38 29 2b 28  53 28 49 29 3d 31 33 29  |I)=18)+(S(I)=13)|
00000a20  2b 28 53 28 49 29 3d 31  30 29 2b 28 53 28 49 29  |+(S(I)=10)+(S(I)|
00000a30  3d 31 35 29 29 2c 34 39  30 2a b5 28 49 2a af 2f  |=15)),490*.(I*./|
00000a40  31 30 29 2b 31 30 0d 05  14 0b f1 53 28 49 29 3a  |10)+10.....S(I):|
00000a50  ed 0d 05 1e 08 e6 30 2c  32 0d 05 28 1c e3 20 49  |......0,2..(.. I|
00000a60  3d af 2f 32 30 b8 32 2a  af 2d af 2f 32 30 20 88  |=./20.2*.-./20 .|
00000a70  20 af 2f 31 30 0d 05 32  1b 58 3d 52 28 35 29 2a  | ./10..2.X=R(5)*|
00000a80  9b 28 49 29 3a 59 3d 52  28 35 29 2a b5 28 49 29  |.(I):Y=R(5)*.(I)|
00000a90  0d 05 3c 0e ec 20 30 2c  30 3a df 58 2c 59 0d 05  |..<.. 0,0:.X,Y..|
00000aa0  46 05 ed 0d 05 50 1b e3  20 49 3d 32 b8 34 3a f2  |F....P.. I=2.4:.|
00000ab0  43 49 52 43 4c 45 28 52  28 49 29 29 3a ed 0d 05  |CIRCLE(R(I)):...|
00000ac0  5a 08 e6 30 2c 30 0d 05  64 0f 43 3d af 2f 31 30  |Z..0,0..d.C=./10|
00000ad0  3a ec 30 2c 30 0d 05 6e  30 e3 20 49 3d 31 b8 32  |:.0,0..n0. I=1.2|
00000ae0  31 3a 58 3d 52 28 30 29  2a 9b 28 43 2a 28 49 2d  |1:X=R(0)*.(C*(I-|
00000af0  31 29 29 3a 59 3d 52 28  30 29 2a b5 28 43 2a 28  |1)):Y=R(0)*.(C*(|
00000b00  49 2d 31 29 29 0d 05 78  10 ec 30 2c 30 3a f0 38  |I-1))..x..0,0:.8|
00000b10  35 2c 58 2c 59 0d 05 82  07 ed 20 49 0d 05 8c 06  |5,X,Y..... I....|
00000b20  ef 34 0d 05 96 05 e1 0d  05 aa 18 dd 20 f2 53 45  |.4.......... .SE|
00000b30  43 54 4f 52 28 58 2c 59  2c 58 31 2c 59 31 29 0d  |CTOR(X,Y,X1,Y1).|
00000b40  05 b4 0f ec 58 2c 59 3a  df 58 31 2c 59 31 0d 05  |....X,Y:.X1,Y1..|
00000b50  be 0b e3 20 4a 3d 31 b8  35 0d 05 c8 1c 20 54 3d  |... J=1.5.... T=|
00000b60  58 2a 43 2d 59 2a 53 3a  59 3d 59 2a 43 2b 58 2a  |X*C-Y*S:Y=Y*C+X*|
00000b70  53 3a 58 3d 54 0d 05 d2  0b f0 38 35 2c 58 2c 59  |S:X=T.....85,X,Y|
00000b80  0d 05 dc 21 54 3d 58 31  2a 43 2d 59 31 2a 53 3a  |...!T=X1*C-Y1*S:|
00000b90  59 31 3d 59 31 2a 43 2b  58 31 2a 53 3a 58 31 3d  |Y1=Y1*C+X1*S:X1=|
00000ba0  54 0d 05 e6 0d f0 38 35  2c 58 31 2c 59 31 0d 05  |T.....85,X1,Y1..|
00000bb0  f0 07 ed 20 4a 0d 05 fa  05 e1 0d 06 0e 0f dd 20  |... J.......... |
00000bc0  f2 54 4f 54 41 4c 49 53  45 0d 06 18 3a e7 20 53  |.TOTALISE...:. S|
00000bd0  43 4f 52 45 3d 53 43 4f  52 45 28 50 4c 41 59 45  |CORE=SCORE(PLAYE|
00000be0  52 29 2d 54 53 43 4f 52  45 20 80 20 44 4f 55 42  |R)-TSCORE . DOUB|
00000bf0  4c 45 3d b9 20 8c 20 47  41 4d 45 4f 56 45 52 3d  |LE=. . GAMEOVER=|
00000c00  b9 3a e1 0d 06 22 2d e7  20 53 43 4f 52 45 3e 3d  |.:..."-. SCORE>=|
00000c10  53 43 4f 52 45 28 50 4c  41 59 45 52 29 2d 54 53  |SCORE(PLAYER)-TS|
00000c20  43 4f 52 45 2d 31 20 8c  20 f2 42 55 53 54 3a e1  |CORE-1 . .BUST:.|
00000c30  0d 06 2c 17 54 53 43 4f  52 45 3d 54 53 43 4f 52  |..,.TSCORE=TSCOR|
00000c40  45 2b 53 43 4f 52 45 0d  06 36 05 e1 0d 06 4a 0b  |E+SCORE..6....J.|
00000c50  dd 20 f2 42 55 53 54 0d  06 54 12 d4 20 31 2c 2d  |. .BUST..T.. 1,-|
00000c60  31 35 2c 31 30 30 2c 31  30 0d 06 5e 0a 42 55 53  |15,100,10..^.BUS|
00000c70  54 3d b9 0d 06 68 05 e1  0d 06 7c 11 dd 20 f2 57  |T=...h....|.. .W|
00000c80  52 49 54 45 53 43 4f 52  45 0d 06 86 1e 46 4c 41  |RITESCORE....FLA|
00000c90  47 3d a3 3a 53 43 4f 52  45 3d 53 43 4f 52 45 28  |G=.:SCORE=SCORE(|
00000ca0  50 4c 41 59 45 52 29 0d  06 90 40 e7 20 53 43 4f  |PLAYER)...@. SCO|
00000cb0  52 45 3c 34 31 20 80 20  28 53 43 4f 52 45 2f 32  |RE<41 . (SCORE/2|
00000cc0  2d a8 28 53 43 4f 52 45  2f 32 29 29 3c 30 2e 31  |-.(SCORE/2))<0.1|
00000cd0  20 8c 20 53 43 4f 52 45  3d 53 43 4f 52 45 2f 32  | . SCORE=SCORE/2|
00000ce0  3a 46 4c 41 47 3d b9 0d  06 9a 1b f1 8a 31 2b 50  |:FLAG=.......1+P|
00000cf0  4c 41 59 45 52 2a 33 35  2c 34 29 3b 22 20 20 20  |LAYER*35,4);"   |
00000d00  20 22 0d 06 a4 1a f1 8a  31 2b 50 4c 41 59 45 52  | "......1+PLAYER|
00000d10  2a 33 35 2c 34 29 3b 53  43 4f 52 45 0d 06 ae 0f  |*35,4);SCORE....|
00000d20  e7 20 46 4c 41 47 20 f1  22 78 22 0d 06 b8 05 e1  |. FLAG ."x".....|
00000d30  0d 06 cc 11 dd 20 f2 43  4c 45 41 52 42 4f 41 52  |..... .CLEARBOAR|
00000d40  44 0d 06 d6 0e e3 20 49  3d 31 b8 44 41 52 54 0d  |D..... I=1.DART.|
00000d50  06 e0 1c f2 44 41 52 54  28 44 41 52 54 58 28 49  |....DART(DARTX(I|
00000d60  29 2c 44 41 52 54 59 28  49 29 29 0d 06 ea 17 f1  |),DARTY(I)).....|
00000d70  8a 31 2b 50 4c 41 59 45  52 2a 33 34 2c 32 35 2b  |.1+PLAYER*34,25+|
00000d80  49 29 0d 06 f4 09 f2 57  41 49 54 0d 06 fe 07 ed  |I).....WAIT.....|
00000d90  20 49 0d 07 08 05 e1 0d  07 1c 10 dd 20 f2 43 49  | I.......... .CI|
00000da0  52 43 4c 45 28 52 29 0d  07 26 20 20 43 3d 9b 28  |RCLE(R)..&  C=.(|
00000db0  30 2e 30 35 29 3a 53 3d  b5 28 30 2e 30 35 29 3a  |0.05):S=.(0.05):|
00000dc0  58 3d 52 3a 59 3d 30 0d  07 30 08 ec 58 2c 59 0d  |X=R:Y=0..0..X,Y.|
00000dd0  07 3a 25 e3 20 4a 3d 31  b8 31 32 38 3a 54 3d 58  |.:%. J=1.128:T=X|
00000de0  2a 43 2d 59 2a 53 3a 59  3d 59 2a 43 2b 58 2a 53  |*C-Y*S:Y=Y*C+X*S|
00000df0  3a 58 3d 54 0d 07 44 08  df 58 2c 59 0d 07 4e 07  |:X=T..D..X,Y..N.|
00000e00  ed 20 4a 0d 07 58 05 e1  0d 07 6c 0b dd 20 f2 57  |. J..X....l.. .W|
00000e10  41 49 54 0d 07 76 11 e3  20 4a 3d 31 b8 31 30 30  |AIT..v.. J=1.100|
00000e20  30 3a ed 4a 0d 07 80 05  e1 0d 07 94 0d dd 20 f2  |0:.J.......... .|
00000e30  4d 59 47 41 4d 45 0d 07  9e 09 f2 57 41 49 54 0d  |MYGAME.....WAIT.|
00000e40  07 a8 0a 41 24 3d 22 20  22 0d 07 b2 30 e7 20 53  |...A$=" "...0. S|
00000e50  43 4f 52 45 28 50 4c 41  59 45 52 29 3e 31 38 30  |CORE(PLAYER)>180|
00000e60  8c 20 58 3d 30 3a 59 3d  52 28 32 29 2b 31 30 3a  |. X=0:Y=R(2)+10:|
00000e70  f2 52 41 4e 44 4f 4d 3a  e1 0d 07 bc 3a e7 20 53  |.RANDOM:....:. S|
00000e80  43 4f 52 45 28 50 4c 41  59 45 52 29 2d 54 53 43  |CORE(PLAYER)-TSC|
00000e90  4f 52 45 3e 31 30 30 8c  20 58 3d 30 3a 59 3d 52  |ORE>100. X=0:Y=R|
00000ea0  28 33 29 2b 32 35 3a f2  52 41 4e 44 4f 4d 3a e1  |(3)+25:.RANDOM:.|
00000eb0  20 20 20 0d 07 c6 37 e7  20 53 43 4f 52 45 28 50  |   ...7. SCORE(P|
00000ec0  4c 41 59 45 52 29 2d 54  53 43 4f 52 45 3e 36 31  |LAYER)-TSCORE>61|
00000ed0  8c 20 58 3d 33 30 3a 59  3d 52 28 33 29 2b 33 30  |. X=30:Y=R(3)+30|
00000ee0  3a f2 52 41 4e 44 4f 4d  3a e1 0d 07 d0 30 e7 20  |:.RANDOM:....0. |
00000ef0  53 43 4f 52 45 28 50 4c  41 59 45 52 29 2d 54 53  |SCORE(PLAYER)-TS|
00000f00  43 4f 52 45 3d 35 30 8c  20 58 3d 30 3a 59 3d 35  |CORE=50. X=0:Y=5|
00000f10  3a f2 52 41 4e 44 4f 4d  3a e1 0d 07 da 36 e7 20  |:.RANDOM:....6. |
00000f20  53 43 4f 52 45 28 50 4c  41 59 45 52 29 2d 54 53  |SCORE(PLAYER)-TS|
00000f30  43 4f 52 45 3e 34 30 8c  20 58 3d 52 28 33 29 2b  |CORE>40. X=R(3)+|
00000f40  33 30 3a 59 3d 30 3a f2  52 41 4e 44 4f 4d 3a e1  |30:Y=0:.RANDOM:.|
00000f50  0d 07 e4 20 53 43 4f 52  45 3d 53 43 4f 52 45 28  |... SCORE=SCORE(|
00000f60  50 4c 41 59 45 52 29 2d  54 53 43 4f 52 45 2f 32  |PLAYER)-TSCORE/2|
00000f70  0d 07 ee 74 e7 20 53 43  4f 52 45 2d a8 28 53 43  |...t. SCORE-.(SC|
00000f80  4f 52 45 29 3c 2e 31 20  8c 20 49 3d 30 3a f5 3a  |ORE)<.1 . I=0:.:|
00000f90  49 3d 49 2b 31 3a fd 20  53 43 4f 52 45 3d 53 28  |I=I+1:. SCORE=S(|
00000fa0  49 29 3a 54 48 45 54 41  3d af 2a 49 2f 31 30 2d  |I):THETA=.*I/10-|
00000fb0  af 2f 32 30 3a 52 3d 52  28 34 29 2b 35 3a 58 3d  |./20:R=R(4)+5:X=|
00000fc0  52 2a 9b 28 54 48 45 54  41 29 3a 59 3d 52 2a b5  |R*.(THETA):Y=R*.|
00000fd0  28 54 48 45 54 41 29 3a  8b 20 58 3d 38 30 3a 59  |(THETA):. X=80:Y|
00000fe0  3d 33 33 30 0d 07 f8 0b  f2 52 41 4e 44 4f 4d 0d  |=330.....RANDOM.|
00000ff0  08 02 05 e1 0d 08 16 0d  dd 20 f2 52 41 4e 44 4f  |......... .RANDO|
00001000  4d 0d 08 20 15 44 3d b3  28 33 29 2d 32 3a 45 3d  |M.. .D=.(3)-2:E=|
00001010  b3 28 33 29 2d 32 0d 08  2a 15 58 3d 58 2b 44 2a  |.(3)-2..*.X=X+D*|
00001020  31 35 3a 59 3d 59 2b 45  2a 31 35 0d 08 34 05 e1  |15:Y=Y+E*15..4..|
00001030  0d 08 48 0e dd 20 f2 57  52 49 54 45 4e 44 0d 08  |..H.. .WRITEND..|
00001040  52 11 f1 8a 31 2c 32 29  22 20 20 20 20 20 22 0d  |R...1,2)"     ".|
00001050  08 5c 0b ef 35 3a e6 33  2c 33 0d 08 66 1b ec 2d  |.\..5:.3,3..f..-|
00001060  36 34 30 2c 35 30 34 3a  f1 22 20 57 49 4e 4e 45  |640,504:." WINNE|
00001070  52 3a 20 22 3b 0d 08 70  13 f1 20 4e 41 4d 45 24  |R: ";..p.. NAME$|
00001080  28 50 4c 41 59 45 52 29  0d 08 7a 15 f1 20 22 41  |(PLAYER)..z.. "A|
00001090  4e 4f 54 48 45 52 20 47  41 4d 45 3f 22 0d 08 84  |NOTHER GAME?"...|
000010a0  0b f1 20 22 59 2f 4e 22  0d 08 8e 05 e1 0d 08 a2  |.. "Y/N"........|
000010b0  10 dd 20 f2 57 52 49 54  45 4e 41 4d 45 0d 08 ac  |.. .WRITENAME...|
000010c0  2e e7 20 50 4c 41 59 45  52 3d 30 20 8c 20 f1 8a  |.. PLAYER=0 . ..|
000010d0  33 32 2c 32 29 22 20 20  20 20 22 20 8b 20 f1 8a  |32,2)"    " . ..|
000010e0  31 2c 32 29 22 20 20 20  20 20 22 0d 08 b6 10 d4  |1,2)"     ".....|
000010f0  31 2c 2d 31 35 2c 31 30  30 2c 33 0d 08 c0 21 f1  |1,-15,100,3...!.|
00001100  8a 31 2b 33 33 2a 50 4c  41 59 45 52 2c 32 29 4e  |.1+33*PLAYER,2)N|
00001110  41 4d 45 24 28 50 4c 41  59 45 52 29 0d 08 ca 05  |AME$(PLAYER)....|
00001120  e1 0d 08 d4 05 20 0d 08  de 0b dd 20 f2 54 48 55  |..... ..... .THU|
00001130  44 0d 08 e8 0e d4 30 2c  2d 31 35 2c 36 2c 35 0d  |D.....0,-15,6,5.|
00001140  08 f2 05 e1 0d 09 06 3a  dc 20 36 2c 31 33 2c 34  |.......:. 6,13,4|
00001150  2c 31 38 2c 31 2c 32 30  2c 35 2c 31 32 2c 39 2c  |,18,1,20,5,12,9,|
00001160  31 34 2c 31 31 2c 38 2c  31 36 2c 37 2c 31 39 2c  |14,11,8,16,7,19,|
00001170  33 2c 31 37 2c 32 2c 31  35 2c 31 30 2c 36 0d ff  |3,17,2,15,10,6..|
00001180
DARTS.m0
DARTS.m1
DARTS.m2
DARTS.m4
DARTS.m5