我新调试好的程序如下,应该是对的,供参考
* u; _, C' ]; N7 w5 v8 F7 S因为特殊要求,这里的边的长度是二维座标内的空间距离
/ C5 X% D: f7 V2 c: U
5 `/ W5 R' e. ^, _. @to find-distance5 F6 T$ M$ R/ g Z( X5 A
let i 0
. Z( Y1 e- _+ d. b2 i' N X3 l+ { let j 0
8 P9 s( L, b/ G# G: J0 A4 V let nodedistance 0
/ l3 o, k3 z6 r: g3 A/ L0 j let linknumber 0
0 w5 ~/ V: f& R& x 2 _6 v. x+ k1 l; k- G7 N1 E4 g
while [j < count turtles]8 e% c, e4 ], j: f8 S
[
4 N, V* B+ ^1 w6 H while [i < count turtles]
: y+ x. ~: \+ Y- i+ X5 R [ if link-neighbor? turtle i3 h" Z$ h# U3 \) G& k3 l' b2 K/ Z
[ask turtle j [set nodedistance nodedistance + distance turtle i]
6 M8 o9 r! t3 N) r# M+ e/ L ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
. p6 u3 g' c- H5 x: P. Q ]- B/ q/ M$ ~. c7 h8 x
set i i + 13 {6 \. v. y- Z7 ?
]
2 R1 P* H. P- g% @9 h7 L s set j j + 1
* u) x2 Z/ K3 M2 X ] P% ]/ N, z; n" M! f8 ~3 v, S+ b
set average-path-length nodedistance / (linknumber * 2)
+ f6 }; y, E. A/ z0 Uend |