Home » Archimedes archive » Acorn User » AU 1997-Xmas B.adf » Regulars » StarInfo/Smale/Blaster/CRYSTALS

StarInfo/Smale/Blaster/CRYSTALS

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-Xmas B.adf » Regulars
Filename: StarInfo/Smale/Blaster/CRYSTALS
Read OK:
File size: 09E8 bytes
Load address: 0000
Exec address: 0000
File contents
   10MODE15:MODE12:OFF
   20ON ERROR MODE3:REPORT:PRINTERL:END
   30
   40N%=4:N%-=1
   50M%=100
   60TM=12
   70DIM X%(63),Y%(63),DX(63),DY(63),Q%(63),C%(63)
   80PROCnewballs_please
   90SYS 6,112,2
  100SYS 6,113,2
  110CLS
  120PROCprint
  130SYS 6,112,1
  140SYS 6,113,1
  150PROCprint
  160
  170VDU 28,0,31,79,3
  180
  190REPEAT
  200SYS 6,112,B%
  210B%=B% EOR 3
  220SYS 6,113,B%
  230WAIT:CLS
  240
  250FOR I%=0 TO N%
  260X%(I%)+=DX(I%)
  270Y%(I%)+=DY(I%)
  280IF X%(I%)<0 X%(I%)=0:DX(I%)=-DX(I%)
  290IF X%(I%)>1279 X%(I%)=1279:DX(I%)=-DX(I%)
  300IF Y%(I%)<0 Y%(I%)=0:DY(I%)=-DY(I%)
  310IF Y%(I%)>908 Y%(I%)=908:DY(I%)=-DY(I%)
  320NEXT
  330
  340FOR I%=0 TO N%
  350
  360IF I%<N% THEN
  370FOR J%=I%+1 TO N%
  380XD%=X%(J%)-X%(I%)
  390YD%=Y%(J%)-Y%(I%)
  400D=(XD%^2)+(YD%^2)
  410IF D<(Q%(I%)+Q%(J%))*2 AND D>256 GCOL 7:LINE X%(I%),Y%(I%),X%(J%),Y%(J%)
  420IF D<(Q%(I%)+Q%(J%)) AND D>0 PROCjoin:D=-(SQR D)*TM:D=D*M%/50:IF INKEY-101 D=D/6
  430IF D<>0 A=M%/D:XT=XD%*A:YT=YD%*A:DX(I%)+=XT:DY(I%)+=YT:DX(J%)-=XT:DY(J%)-=YT
  440NEXT
  450ENDIF
  460GCOL C%(I%)
  470CIRCLEFILL X%(I%),Y%(I%),16
  480IF INKEY-58 TM=TM/1.05:IF TM<2 TM=2
  490IF INKEY-42 TM=TM*1.05:IF TM>16 TM=16
  500IF INKEY-26 M%-=1:IF M%<0 M%=0
  510IF INKEY-122 M%+=1:IF M%>800 M%=800
  520IF INKEY-99 PROCcalm
  530IF INKEY-86 PROCnumber
  540NEXT
  550IF INKEY-38 PROCimpure
  560
  570GCOL 7
  580
  590UNTIL 0
  600
  610DEFPROCcalm
  620FOR P%=0 TO N%
  630DX(P%)=DX(P%)*0.95
  640DY(P%)=DY(P%)*0.95
  650NEXT
  660ENDPROC
  670
  680DEFPROCimpure
  690SYS 6,112,B% EOR 3
  700SYS 6,113,B% EOR 3
  710MOUSEON
  720VDU 28,0,3,79,0
  730CLS
  740PRINT'"Click select on a molecule to toggle between large and normal."
  750PRINT"Click adjust on a molecule to toggle between small and normal."
  760PRINT"  Press SPACE to finish."
  770
  780REPEAT
  790REPEAT MOUSE X,Y,Z:UNTIL Z>0 OR INKEY-99
  800REPEAT MOUSE A,B,C:UNTIL C=0
  810IF NOT (INKEY-99 OR Z=2) THEN
  820HD=100000:WN%=0
  830
  840FOR K%=0 TO N%
  850D=(X%(K%)-X)^2+(Y%(K%)-Y)^2
  860IF D<HD HD=D:WN%=K%
  870NEXT
  880
  890IF Z=4 THEN
  900IF Q%(WN%)=2048 Q%(WN%)=10000:C%(WN%)=1 ELSE Q%(WN%)=2048:C%(WN%)=7
  910ELSE
  920IF Q%(WN%)=2048 Q%(WN%)=500:C%(WN%)=4 ELSE Q%(WN%)=2048:C%(WN%)=7
  930ENDIF
  940
  950GCOL C%(WN%)
  960CIRCLEFILL X%(WN%),Y%(WN%),16
  970ENDIF
  980UNTIL INKEY-99
  990
 1000CLS
 1010PROCprint
 1020VDU 28,0,31,79,3
 1030ENDPROC
 1040
 1050DEFPROCnumber
 1060SYS 6,112,1
 1070SYS 6,113,1
 1080CLS
 1090REPEAT UNTIL NOT INKEY-86
 1100*FX 15,1
 1110O%=N%+1
 1120INPUT"How many molecules? (2-64) "N%
 1130IF N%<2 OR N%>64 N%=O%-1:ENDPROC
 1140M%=M%*O%/N%
 1150
 1160N%-=1
 1170PROCnewballs_please
 1180ENDPROC
 1190
 1200DEFPROCjoin
 1210NDX=(DX(I%)+DX(J%))/2
 1220NDY=(DY(I%)+DY(J%))/2
 1230DX(I%)=NDX:DY(I%)=NDY
 1240DX(J%)=NDX:DY(J%)=NDY
 1250ENDPROC
 1260
 1270DEFPROCnewballs_please
 1280FOR I%=0 TO N%
 1290X%(I%)=RND(1279)
 1300Y%(I%)=RND(908)
 1310DX(I%)=RND(9)-4
 1320DY(I%)=RND(9)-4
 1330NEXT
 1340B%=2
 1350Q%()=2048
 1360C%()=7
 1370ENDPROC
 1380
 1390DEFPROCprint
 1400PRINTTAB(0,0);"Press �,� to change attraction, �,� to change repulsion, SPACEto calm"TAB(0,1);" molecules, N to change number of molecules,I to add impurities, B to split."
 1410ENDPROC


�15:�12:�
� � �3:�:�:�

(N%=4:N%-=1
2
M%=100
<	TM=12
F/� X%(63),Y%(63),DX(63),DY(63),Q%(63),C%(63)
P�newballs_please
Zș 6,112,2
dș 6,113,2
n�
x
�print
�ș 6,112,1
�ș 6,113,1
�
�print
�
�� 28,0,31,79,3
�
��
�ș 6,112,B%
�
B%=B% � 3
�ș 6,113,B%
�Ȗ:�
�
�� I%=0 � N%
X%(I%)+=DX(I%)
Y%(I%)+=DY(I%)
&� X%(I%)<0 X%(I%)=0:DX(I%)=-DX(I%)
",� X%(I%)>1279 X%(I%)=1279:DX(I%)=-DX(I%)
,&� Y%(I%)<0 Y%(I%)=0:DY(I%)=-DY(I%)
6*� Y%(I%)>908 Y%(I%)=908:DY(I%)=-DY(I%)
@�
J
T� I%=0 � N%
^
h
� I%<N% �
r� J%=I%+1 � N%
|XD%=X%(J%)-X%(I%)
�YD%=Y%(J%)-Y%(I%)
�D=(XD%^2)+(YD%^2)
�C� D<(Q%(I%)+Q%(J%))*2 � D>256 � 7:� X%(I%),Y%(I%),X%(J%),Y%(J%)
�G� D<(Q%(I%)+Q%(J%)) � D>0 �join:D=-(� D)*TM:D=D*M%/50:� �-101 D=D/6
�O� D<>0 A=M%/D:XT=XD%*A:YT=YD%*A:DX(I%)+=XT:DY(I%)+=YT:DX(J%)-=XT:DY(J%)-=YT
��
��
�� C%(I%)
�ȏȐ X%(I%),Y%(I%),16
�!� �-58 TM=TM/1.05:� TM<2 TM=2
�#� �-42 TM=TM*1.05:� TM>16 TM=16
�� �-26 M%-=1:� M%<0 M%=0
�!� �-122 M%+=1:� M%>800 M%=800
� �-99 �calm
� �-86 �number
�
&� �-38 �impure
0
:� 7
D
N� 0
X
b
��calm
l� P%=0 � N%
vDX(P%)=DX(P%)*0.95
�DY(P%)=DY(P%)*0.95
��
��
�
���impure
�ș 6,112,B% � 3
�ș 6,113,B% � 3
�ȗ�
�� 28,0,3,79,0
��
�F�'"Click select on a molecule to toggle between large and normal."
�E�"Click adjust on a molecule to toggle between small and normal."
��"  Press SPACE to finish."

�
� ȗ X,Y,Z:� Z>0 � �-99
 � ȗ A,B,C:� C=0
*� � (�-99 � Z=2) �
4HD=100000:WN%=0
>
H� K%=0 � N%
RD=(X%(K%)-X)^2+(Y%(K%)-Y)^2
\� D<HD HD=D:WN%=K%
f�
p
z� Z=4 �
�C� Q%(WN%)=2048 Q%(WN%)=10000:C%(WN%)=1 � Q%(WN%)=2048:C%(WN%)=7
��
�A� Q%(WN%)=2048 Q%(WN%)=500:C%(WN%)=4 � Q%(WN%)=2048:C%(WN%)=7
��
�
�
� C%(WN%)
�ȏȐ X%(WN%),Y%(WN%),16
��
�
� �-99
�
��
�
�print
�� 28,0,31,79,3
�

��number
$ș 6,112,1
.ș 6,113,1
8�
B� � � �-86
L*FX 15,1
VO%=N%+1
`$�"How many molecules? (2-64) "N%
j� N%<2 � N%>64 N%=O%-1:�
tM%=M%*O%/N%
~
�	N%-=1
��newballs_please
��
�
�
��join
�NDX=(DX(I%)+DX(J%))/2
�NDY=(DY(I%)+DY(J%))/2
�DX(I%)=NDX:DY(I%)=NDY
�DX(J%)=NDX:DY(J%)=NDY
��
�
���newballs_please
� I%=0 � N%

X%(I%)=�(1279)
Y%(I%)=�(908)
DX(I%)=�(9)-4
(DY(I%)=�(9)-4
2�
<B%=2
F
Q%()=2048
P
C%()=7
Z�
d
n��print
x��0,0);"Press �,� to change attraction, �,� to change repulsion, SPACEto calm"�0,1);" molecules, N to change number of molecules,I to add impurities, B to split."
��
�
00000000  0d 00 0a 0d eb 31 35 3a  eb 31 32 3a 87 0d 00 14  |.....15:.12:....|
00000010  11 ee 20 85 20 eb 33 3a  f6 3a f1 9e 3a e0 0d 00  |.. . .3:.:..:...|
00000020  1e 04 0d 00 28 0e 4e 25  3d 34 3a 4e 25 2d 3d 31  |....(.N%=4:N%-=1|
00000030  0d 00 32 0a 4d 25 3d 31  30 30 0d 00 3c 09 54 4d  |..2.M%=100..<.TM|
00000040  3d 31 32 0d 00 46 2f de  20 58 25 28 36 33 29 2c  |=12..F/. X%(63),|
00000050  59 25 28 36 33 29 2c 44  58 28 36 33 29 2c 44 59  |Y%(63),DX(63),DY|
00000060  28 36 33 29 2c 51 25 28  36 33 29 2c 43 25 28 36  |(63),Q%(63),C%(6|
00000070  33 29 0d 00 50 14 f2 6e  65 77 62 61 6c 6c 73 5f  |3)..P..newballs_|
00000080  70 6c 65 61 73 65 0d 00  5a 0e c8 99 20 36 2c 31  |please..Z... 6,1|
00000090  31 32 2c 32 0d 00 64 0e  c8 99 20 36 2c 31 31 33  |12,2..d... 6,113|
000000a0  2c 32 0d 00 6e 05 db 0d  00 78 0a f2 70 72 69 6e  |,2..n....x..prin|
000000b0  74 0d 00 82 0e c8 99 20  36 2c 31 31 32 2c 31 0d  |t...... 6,112,1.|
000000c0  00 8c 0e c8 99 20 36 2c  31 31 33 2c 31 0d 00 96  |..... 6,113,1...|
000000d0  0a f2 70 72 69 6e 74 0d  00 a0 04 0d 00 aa 12 ef  |..print.........|
000000e0  20 32 38 2c 30 2c 33 31  2c 37 39 2c 33 0d 00 b4  | 28,0,31,79,3...|
000000f0  04 0d 00 be 05 f5 0d 00  c8 0f c8 99 20 36 2c 31  |............ 6,1|
00000100  31 32 2c 42 25 0d 00 d2  0d 42 25 3d 42 25 20 82  |12,B%....B%=B% .|
00000110  20 33 0d 00 dc 0f c8 99  20 36 2c 31 31 33 2c 42  | 3...... 6,113,B|
00000120  25 0d 00 e6 08 c8 96 3a  db 0d 00 f0 04 0d 00 fa  |%......:........|
00000130  0f e3 20 49 25 3d 30 20  b8 20 4e 25 0d 01 04 12  |.. I%=0 . N%....|
00000140  58 25 28 49 25 29 2b 3d  44 58 28 49 25 29 0d 01  |X%(I%)+=DX(I%)..|
00000150  0e 12 59 25 28 49 25 29  2b 3d 44 59 28 49 25 29  |..Y%(I%)+=DY(I%)|
00000160  0d 01 18 26 e7 20 58 25  28 49 25 29 3c 30 20 58  |...&. X%(I%)<0 X|
00000170  25 28 49 25 29 3d 30 3a  44 58 28 49 25 29 3d 2d  |%(I%)=0:DX(I%)=-|
00000180  44 58 28 49 25 29 0d 01  22 2c e7 20 58 25 28 49  |DX(I%)..",. X%(I|
00000190  25 29 3e 31 32 37 39 20  58 25 28 49 25 29 3d 31  |%)>1279 X%(I%)=1|
000001a0  32 37 39 3a 44 58 28 49  25 29 3d 2d 44 58 28 49  |279:DX(I%)=-DX(I|
000001b0  25 29 0d 01 2c 26 e7 20  59 25 28 49 25 29 3c 30  |%)..,&. Y%(I%)<0|
000001c0  20 59 25 28 49 25 29 3d  30 3a 44 59 28 49 25 29  | Y%(I%)=0:DY(I%)|
000001d0  3d 2d 44 59 28 49 25 29  0d 01 36 2a e7 20 59 25  |=-DY(I%)..6*. Y%|
000001e0  28 49 25 29 3e 39 30 38  20 59 25 28 49 25 29 3d  |(I%)>908 Y%(I%)=|
000001f0  39 30 38 3a 44 59 28 49  25 29 3d 2d 44 59 28 49  |908:DY(I%)=-DY(I|
00000200  25 29 0d 01 40 05 ed 0d  01 4a 04 0d 01 54 0f e3  |%)..@....J...T..|
00000210  20 49 25 3d 30 20 b8 20  4e 25 0d 01 5e 04 0d 01  | I%=0 . N%..^...|
00000220  68 0d e7 20 49 25 3c 4e  25 20 8c 0d 01 72 12 e3  |h.. I%<N% ...r..|
00000230  20 4a 25 3d 49 25 2b 31  20 b8 20 4e 25 0d 01 7c  | J%=I%+1 . N%..||
00000240  15 58 44 25 3d 58 25 28  4a 25 29 2d 58 25 28 49  |.XD%=X%(J%)-X%(I|
00000250  25 29 0d 01 86 15 59 44  25 3d 59 25 28 4a 25 29  |%)....YD%=Y%(J%)|
00000260  2d 59 25 28 49 25 29 0d  01 90 15 44 3d 28 58 44  |-Y%(I%)....D=(XD|
00000270  25 5e 32 29 2b 28 59 44  25 5e 32 29 0d 01 9a 43  |%^2)+(YD%^2)...C|
00000280  e7 20 44 3c 28 51 25 28  49 25 29 2b 51 25 28 4a  |. D<(Q%(I%)+Q%(J|
00000290  25 29 29 2a 32 20 80 20  44 3e 32 35 36 20 e6 20  |%))*2 . D>256 . |
000002a0  37 3a 86 20 58 25 28 49  25 29 2c 59 25 28 49 25  |7:. X%(I%),Y%(I%|
000002b0  29 2c 58 25 28 4a 25 29  2c 59 25 28 4a 25 29 0d  |),X%(J%),Y%(J%).|
000002c0  01 a4 47 e7 20 44 3c 28  51 25 28 49 25 29 2b 51  |..G. D<(Q%(I%)+Q|
000002d0  25 28 4a 25 29 29 20 80  20 44 3e 30 20 f2 6a 6f  |%(J%)) . D>0 .jo|
000002e0  69 6e 3a 44 3d 2d 28 b6  20 44 29 2a 54 4d 3a 44  |in:D=-(. D)*TM:D|
000002f0  3d 44 2a 4d 25 2f 35 30  3a e7 20 a6 2d 31 30 31  |=D*M%/50:. .-101|
00000300  20 44 3d 44 2f 36 0d 01  ae 4f e7 20 44 3c 3e 30  | D=D/6...O. D<>0|
00000310  20 41 3d 4d 25 2f 44 3a  58 54 3d 58 44 25 2a 41  | A=M%/D:XT=XD%*A|
00000320  3a 59 54 3d 59 44 25 2a  41 3a 44 58 28 49 25 29  |:YT=YD%*A:DX(I%)|
00000330  2b 3d 58 54 3a 44 59 28  49 25 29 2b 3d 59 54 3a  |+=XT:DY(I%)+=YT:|
00000340  44 58 28 4a 25 29 2d 3d  58 54 3a 44 59 28 4a 25  |DX(J%)-=XT:DY(J%|
00000350  29 2d 3d 59 54 0d 01 b8  05 ed 0d 01 c2 05 cd 0d  |)-=YT...........|
00000360  01 cc 0c e6 20 43 25 28  49 25 29 0d 01 d6 19 c8  |.... C%(I%).....|
00000370  8f c8 90 20 58 25 28 49  25 29 2c 59 25 28 49 25  |... X%(I%),Y%(I%|
00000380  29 2c 31 36 0d 01 e0 21  e7 20 a6 2d 35 38 20 54  |),16...!. .-58 T|
00000390  4d 3d 54 4d 2f 31 2e 30  35 3a e7 20 54 4d 3c 32  |M=TM/1.05:. TM<2|
000003a0  20 54 4d 3d 32 0d 01 ea  23 e7 20 a6 2d 34 32 20  | TM=2...#. .-42 |
000003b0  54 4d 3d 54 4d 2a 31 2e  30 35 3a e7 20 54 4d 3e  |TM=TM*1.05:. TM>|
000003c0  31 36 20 54 4d 3d 31 36  0d 01 f4 1c e7 20 a6 2d  |16 TM=16..... .-|
000003d0  32 36 20 4d 25 2d 3d 31  3a e7 20 4d 25 3c 30 20  |26 M%-=1:. M%<0 |
000003e0  4d 25 3d 30 0d 01 fe 21  e7 20 a6 2d 31 32 32 20  |M%=0...!. .-122 |
000003f0  4d 25 2b 3d 31 3a e7 20  4d 25 3e 38 30 30 20 4d  |M%+=1:. M%>800 M|
00000400  25 3d 38 30 30 0d 02 08  10 e7 20 a6 2d 39 39 20  |%=800..... .-99 |
00000410  f2 63 61 6c 6d 0d 02 12  12 e7 20 a6 2d 38 36 20  |.calm..... .-86 |
00000420  f2 6e 75 6d 62 65 72 0d  02 1c 05 ed 0d 02 26 12  |.number.......&.|
00000430  e7 20 a6 2d 33 38 20 f2  69 6d 70 75 72 65 0d 02  |. .-38 .impure..|
00000440  30 04 0d 02 3a 07 e6 20  37 0d 02 44 04 0d 02 4e  |0...:.. 7..D...N|
00000450  07 fd 20 30 0d 02 58 04  0d 02 62 0a dd f2 63 61  |.. 0..X...b...ca|
00000460  6c 6d 0d 02 6c 0f e3 20  50 25 3d 30 20 b8 20 4e  |lm..l.. P%=0 . N|
00000470  25 0d 02 76 16 44 58 28  50 25 29 3d 44 58 28 50  |%..v.DX(P%)=DX(P|
00000480  25 29 2a 30 2e 39 35 0d  02 80 16 44 59 28 50 25  |%)*0.95....DY(P%|
00000490  29 3d 44 59 28 50 25 29  2a 30 2e 39 35 0d 02 8a  |)=DY(P%)*0.95...|
000004a0  05 ed 0d 02 94 05 e1 0d  02 9e 04 0d 02 a8 0c dd  |................|
000004b0  f2 69 6d 70 75 72 65 0d  02 b2 13 c8 99 20 36 2c  |.impure...... 6,|
000004c0  31 31 32 2c 42 25 20 82  20 33 0d 02 bc 13 c8 99  |112,B% . 3......|
000004d0  20 36 2c 31 31 33 2c 42  25 20 82 20 33 0d 02 c6  | 6,113,B% . 3...|
000004e0  07 c8 97 ee 0d 02 d0 11  ef 20 32 38 2c 30 2c 33  |......... 28,0,3|
000004f0  2c 37 39 2c 30 0d 02 da  05 db 0d 02 e4 46 f1 27  |,79,0........F.'|
00000500  22 43 6c 69 63 6b 20 73  65 6c 65 63 74 20 6f 6e  |"Click select on|
00000510  20 61 20 6d 6f 6c 65 63  75 6c 65 20 74 6f 20 74  | a molecule to t|
00000520  6f 67 67 6c 65 20 62 65  74 77 65 65 6e 20 6c 61  |oggle between la|
00000530  72 67 65 20 61 6e 64 20  6e 6f 72 6d 61 6c 2e 22  |rge and normal."|
00000540  0d 02 ee 45 f1 22 43 6c  69 63 6b 20 61 64 6a 75  |...E."Click adju|
00000550  73 74 20 6f 6e 20 61 20  6d 6f 6c 65 63 75 6c 65  |st on a molecule|
00000560  20 74 6f 20 74 6f 67 67  6c 65 20 62 65 74 77 65  | to toggle betwe|
00000570  65 6e 20 73 6d 61 6c 6c  20 61 6e 64 20 6e 6f 72  |en small and nor|
00000580  6d 61 6c 2e 22 0d 02 f8  1f f1 22 20 20 50 72 65  |mal."....."  Pre|
00000590  73 73 20 53 50 41 43 45  20 74 6f 20 66 69 6e 69  |ss SPACE to fini|
000005a0  73 68 2e 22 0d 03 02 04  0d 03 0c 05 f5 0d 03 16  |sh."............|
000005b0  1b f5 20 c8 97 20 58 2c  59 2c 5a 3a fd 20 5a 3e  |.. .. X,Y,Z:. Z>|
000005c0  30 20 84 20 a6 2d 39 39  0d 03 20 14 f5 20 c8 97  |0 . .-99.. .. ..|
000005d0  20 41 2c 42 2c 43 3a fd  20 43 3d 30 0d 03 2a 16  | A,B,C:. C=0..*.|
000005e0  e7 20 ac 20 28 a6 2d 39  39 20 84 20 5a 3d 32 29  |. . (.-99 . Z=2)|
000005f0  20 8c 0d 03 34 13 48 44  3d 31 30 30 30 30 30 3a  | ...4.HD=100000:|
00000600  57 4e 25 3d 30 0d 03 3e  04 0d 03 48 0f e3 20 4b  |WN%=0..>...H.. K|
00000610  25 3d 30 20 b8 20 4e 25  0d 03 52 1f 44 3d 28 58  |%=0 . N%..R.D=(X|
00000620  25 28 4b 25 29 2d 58 29  5e 32 2b 28 59 25 28 4b  |%(K%)-X)^2+(Y%(K|
00000630  25 29 2d 59 29 5e 32 0d  03 5c 16 e7 20 44 3c 48  |%)-Y)^2..\.. D<H|
00000640  44 20 48 44 3d 44 3a 57  4e 25 3d 4b 25 0d 03 66  |D HD=D:WN%=K%..f|
00000650  05 ed 0d 03 70 04 0d 03  7a 0b e7 20 5a 3d 34 20  |....p...z.. Z=4 |
00000660  8c 0d 03 84 43 e7 20 51  25 28 57 4e 25 29 3d 32  |....C. Q%(WN%)=2|
00000670  30 34 38 20 51 25 28 57  4e 25 29 3d 31 30 30 30  |048 Q%(WN%)=1000|
00000680  30 3a 43 25 28 57 4e 25  29 3d 31 20 8b 20 51 25  |0:C%(WN%)=1 . Q%|
00000690  28 57 4e 25 29 3d 32 30  34 38 3a 43 25 28 57 4e  |(WN%)=2048:C%(WN|
000006a0  25 29 3d 37 0d 03 8e 05  cc 0d 03 98 41 e7 20 51  |%)=7........A. Q|
000006b0  25 28 57 4e 25 29 3d 32  30 34 38 20 51 25 28 57  |%(WN%)=2048 Q%(W|
000006c0  4e 25 29 3d 35 30 30 3a  43 25 28 57 4e 25 29 3d  |N%)=500:C%(WN%)=|
000006d0  34 20 8b 20 51 25 28 57  4e 25 29 3d 32 30 34 38  |4 . Q%(WN%)=2048|
000006e0  3a 43 25 28 57 4e 25 29  3d 37 0d 03 a2 05 cd 0d  |:C%(WN%)=7......|
000006f0  03 ac 04 0d 03 b6 0d e6  20 43 25 28 57 4e 25 29  |........ C%(WN%)|
00000700  0d 03 c0 1b c8 8f c8 90  20 58 25 28 57 4e 25 29  |........ X%(WN%)|
00000710  2c 59 25 28 57 4e 25 29  2c 31 36 0d 03 ca 05 cd  |,Y%(WN%),16.....|
00000720  0d 03 d4 0a fd 20 a6 2d  39 39 0d 03 de 04 0d 03  |..... .-99......|
00000730  e8 05 db 0d 03 f2 0a f2  70 72 69 6e 74 0d 03 fc  |........print...|
00000740  12 ef 20 32 38 2c 30 2c  33 31 2c 37 39 2c 33 0d  |.. 28,0,31,79,3.|
00000750  04 06 05 e1 0d 04 10 04  0d 04 1a 0c dd f2 6e 75  |..............nu|
00000760  6d 62 65 72 0d 04 24 0e  c8 99 20 36 2c 31 31 32  |mber..$... 6,112|
00000770  2c 31 0d 04 2e 0e c8 99  20 36 2c 31 31 33 2c 31  |,1...... 6,113,1|
00000780  0d 04 38 05 db 0d 04 42  0e f5 20 fd 20 ac 20 a6  |..8....B.. . . .|
00000790  2d 38 36 0d 04 4c 0c 2a  46 58 20 31 35 2c 31 0d  |-86..L.*FX 15,1.|
000007a0  04 56 0b 4f 25 3d 4e 25  2b 31 0d 04 60 24 e8 22  |.V.O%=N%+1..`$."|
000007b0  48 6f 77 20 6d 61 6e 79  20 6d 6f 6c 65 63 75 6c  |How many molecul|
000007c0  65 73 3f 20 28 32 2d 36  34 29 20 22 4e 25 0d 04  |es? (2-64) "N%..|
000007d0  6a 1c e7 20 4e 25 3c 32  20 84 20 4e 25 3e 36 34  |j.. N%<2 . N%>64|
000007e0  20 4e 25 3d 4f 25 2d 31  3a e1 0d 04 74 0f 4d 25  | N%=O%-1:...t.M%|
000007f0  3d 4d 25 2a 4f 25 2f 4e  25 0d 04 7e 04 0d 04 88  |=M%*O%/N%..~....|
00000800  09 4e 25 2d 3d 31 0d 04  92 14 f2 6e 65 77 62 61  |.N%-=1.....newba|
00000810  6c 6c 73 5f 70 6c 65 61  73 65 0d 04 9c 05 e1 0d  |lls_please......|
00000820  04 a6 04 0d 04 b0 0a dd  f2 6a 6f 69 6e 0d 04 ba  |.........join...|
00000830  19 4e 44 58 3d 28 44 58  28 49 25 29 2b 44 58 28  |.NDX=(DX(I%)+DX(|
00000840  4a 25 29 29 2f 32 0d 04  c4 19 4e 44 59 3d 28 44  |J%))/2....NDY=(D|
00000850  59 28 49 25 29 2b 44 59  28 4a 25 29 29 2f 32 0d  |Y(I%)+DY(J%))/2.|
00000860  04 ce 19 44 58 28 49 25  29 3d 4e 44 58 3a 44 59  |...DX(I%)=NDX:DY|
00000870  28 49 25 29 3d 4e 44 59  0d 04 d8 19 44 58 28 4a  |(I%)=NDY....DX(J|
00000880  25 29 3d 4e 44 58 3a 44  59 28 4a 25 29 3d 4e 44  |%)=NDX:DY(J%)=ND|
00000890  59 0d 04 e2 05 e1 0d 04  ec 04 0d 04 f6 15 dd f2  |Y...............|
000008a0  6e 65 77 62 61 6c 6c 73  5f 70 6c 65 61 73 65 0d  |newballs_please.|
000008b0  05 00 0f e3 20 49 25 3d  30 20 b8 20 4e 25 0d 05  |.... I%=0 . N%..|
000008c0  0a 12 58 25 28 49 25 29  3d b3 28 31 32 37 39 29  |..X%(I%)=.(1279)|
000008d0  0d 05 14 11 59 25 28 49  25 29 3d b3 28 39 30 38  |....Y%(I%)=.(908|
000008e0  29 0d 05 1e 11 44 58 28  49 25 29 3d b3 28 39 29  |)....DX(I%)=.(9)|
000008f0  2d 34 0d 05 28 11 44 59  28 49 25 29 3d b3 28 39  |-4..(.DY(I%)=.(9|
00000900  29 2d 34 0d 05 32 05 ed  0d 05 3c 08 42 25 3d 32  |)-4..2....<.B%=2|
00000910  0d 05 46 0d 51 25 28 29  3d 32 30 34 38 0d 05 50  |..F.Q%()=2048..P|
00000920  0a 43 25 28 29 3d 37 0d  05 5a 05 e1 0d 05 64 04  |.C%()=7..Z....d.|
00000930  0d 05 6e 0b dd f2 70 72  69 6e 74 0d 05 78 a6 f1  |..n...print..x..|
00000940  8a 30 2c 30 29 3b 22 50  72 65 73 73 20 88 2c 89  |.0,0);"Press .,.|
00000950  20 74 6f 20 63 68 61 6e  67 65 20 61 74 74 72 61  | to change attra|
00000960  63 74 69 6f 6e 2c 20 8b  2c 8a 20 74 6f 20 63 68  |ction, .,. to ch|
00000970  61 6e 67 65 20 72 65 70  75 6c 73 69 6f 6e 2c 20  |ange repulsion, |
00000980  53 50 41 43 45 74 6f 20  63 61 6c 6d 22 8a 30 2c  |SPACEto calm".0,|
00000990  31 29 3b 22 20 6d 6f 6c  65 63 75 6c 65 73 2c 20  |1);" molecules, |
000009a0  4e 20 74 6f 20 63 68 61  6e 67 65 20 6e 75 6d 62  |N to change numb|
000009b0  65 72 20 6f 66 20 6d 6f  6c 65 63 75 6c 65 73 2c  |er of molecules,|
000009c0  49 20 74 6f 20 61 64 64  20 69 6d 70 75 72 69 74  |I to add impurit|
000009d0  69 65 73 2c 20 42 20 74  6f 20 73 70 6c 69 74 2e  |ies, B to split.|
000009e0  22 0d 05 82 05 e1 0d ff                           |".......|
000009e8