我新调试好的程序如下,应该是对的,供参考
% P6 ~) _: e3 t. ^+ X因为特殊要求,这里的边的长度是二维座标内的空间距离8 q' r" k% k' S* b
2 j' ~" ?3 s2 B1 i0 ~$ u6 K E
to find-distance
5 w7 c- p3 E1 K- T let i 0
# K9 s) c" F1 ^3 D3 }, L let j 0
, y# H$ [ W8 S) |8 l let nodedistance 04 g" E: n! |% ^
let linknumber 0' J; a2 M) b% I9 w
; W, R! I* [. o$ u) y( B7 r
while [j < count turtles]* y& ~, R4 D/ [$ J9 c5 J) w
[
& n( B) l9 h, N2 B while [i < count turtles]
! [' Z0 X4 ]) p0 U6 _! u/ C [ if link-neighbor? turtle i
8 f1 b9 w p1 g) }+ k( B [ask turtle j [set nodedistance nodedistance + distance turtle i]. @9 Z) v$ E, f9 a8 @, D+ z
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]/ e) N$ f( u. x( B7 O$ b" {
]
8 j8 y1 p2 M7 r" f3 D& [5 [; x set i i + 1: C( X( t: f% ?8 y5 z
] - m4 d+ Q: \8 Y. p9 t: V% L
set j j + 1* f1 S( b* N4 S+ a
]
( u! j' G/ ^: f3 w* ~ set average-path-length nodedistance / (linknumber * 2)* F& g0 c! m m8 H$ o; t2 A1 j' T
end |