我新调试好的程序如下,应该是对的,供参考
& v8 ~9 K' _( ^4 x; P T因为特殊要求,这里的边的长度是二维座标内的空间距离& i6 T2 [# }6 ?- z, S
* \% ]; T8 o- M; E3 K9 W
to find-distance1 x; l y0 }8 W9 J* D/ N+ @8 [
let i 0/ q4 _3 _* ^* V" r0 Z
let j 0
! y3 h. ~: d' k! a, S( e6 [, E8 I let nodedistance 07 C1 _; y) c9 f
let linknumber 0) X2 |$ ~% C7 T, \9 w& k+ B
q' n% f# r' _) F8 u
while [j < count turtles]2 N6 W8 ^& w) J
[
1 |; X5 d/ S$ I/ Y5 s' h while [i < count turtles]
' u Q+ V! g( `, l) L [ if link-neighbor? turtle i
% Q& w0 i+ Z4 l4 @0 H, m$ V [ask turtle j [set nodedistance nodedistance + distance turtle i]$ c7 x8 O5 V( s3 T Z' }! D
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
: f6 L; _) m" C1 T ]3 v) S/ p$ M A1 S( i! D' a# o3 e
set i i + 1
$ Y; w8 m+ r3 M3 N0 r, F! [ ]
8 R1 ~& y. ^! F9 w1 i% V set j j + 1$ {$ Z% ~! }' H9 g8 _5 c1 V
]
5 f' I; |) @! L: V/ } set average-path-length nodedistance / (linknumber * 2)
# g, b S4 M6 H% Cend |