我新调试好的程序如下,应该是对的,供参考7 q e: @4 ~6 l* @1 I
因为特殊要求,这里的边的长度是二维座标内的空间距离
" D: r; B! H+ W; f$ G4 N5 v2 m' D, N$ J" \$ M# I7 d, A
to find-distance
7 F) t& b* G* H/ w6 G let i 0
, ]5 Q, X) v* V4 f% L let j 0
+ t& Z+ y% M! w* D; Z let nodedistance 0. o6 E8 s8 W4 @
let linknumber 0
5 f! T4 Y$ T* O/ y% @; f ( F) k4 g8 x$ r% T
while [j < count turtles]3 M: q1 t0 ]; |( V! D
[' C5 s/ ~: W# v% o
while [i < count turtles]6 A8 O. y% A9 h; Q t$ @- B5 V
[ if link-neighbor? turtle i
- r) j5 I1 l* { z9 ? [ask turtle j [set nodedistance nodedistance + distance turtle i]7 ~1 _8 c% j, F% b$ P* P& J3 x
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
' U% y( j' Q! f7 e ]8 h* {! Z, Y6 ?# g8 G( U( q0 q
set i i + 1
6 V' |0 S0 S( x ] ( E# d9 F& Q. j# N2 K
set j j + 1
$ ?9 K' E7 [" z ]
6 {; l. {- a6 |) q" E set average-path-length nodedistance / (linknumber * 2)0 o/ {9 X0 m, x. x
end |