我新调试好的程序如下,应该是对的,供参考
+ P% ]7 l, A' f因为特殊要求,这里的边的长度是二维座标内的空间距离
7 W2 v( O6 |0 Q
; H- G/ b+ ]5 Zto find-distance
2 K# f7 x) I; y% {+ E; o4 k* ^ let i 0( M A' E h4 a. _9 ^
let j 0
9 N5 _ b1 H/ |" O( W$ K let nodedistance 07 b" Y, W) T+ N6 l0 _+ j2 P
let linknumber 0, g, _. U Q! c! z4 @6 f l* E# z: S
/ r/ H' F* U' E1 c while [j < count turtles]
: F/ @: f; o2 t [
- C7 p2 C0 M% L2 Q8 } while [i < count turtles]
% q! k3 v0 T" L5 Q* V4 G [ if link-neighbor? turtle i' [( g% H7 Q2 E0 L( V. z. S
[ask turtle j [set nodedistance nodedistance + distance turtle i]. d1 d$ {0 m$ I. J5 z
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]' O/ o; Y) I0 A
]
) D3 g3 G" N; ~. Y8 `( Q set i i + 1' V: m. _: ~$ u) A P( @; q" N: n [+ Q
]
& N. x9 |! l. G' ]% ]' w set j j + 14 a$ z6 l6 e% h& h( e1 D
]1 k; w' L$ K$ `5 j9 n7 U
set average-path-length nodedistance / (linknumber * 2)" P: O' b8 ?, n4 k3 q- \
end |