我新调试好的程序如下,应该是对的,供参考+ R' {$ I. G2 q7 o( \" R! F' ~
因为特殊要求,这里的边的长度是二维座标内的空间距离
# [3 c3 ~! ?& ]4 c6 X$ n2 R" V/ e5 _0 x0 E( s9 N4 P
to find-distance
9 Z( E/ Z1 \4 J let i 0
- h/ X8 w' t6 N8 C let j 0
( Q# E3 b* B9 N( J% B8 r% b let nodedistance 0
3 q/ ~3 F% M( Q. a. q* z5 u/ Q let linknumber 0
. y) D" m: u, T+ V3 e ^7 }' H
6 o7 K# m& A1 i+ c: t while [j < count turtles]
/ u. ^4 X6 U) U0 k3 E6 W: f, ?; @ [, [- Q5 L# w& ~! `
while [i < count turtles]
9 m) Y- H( T/ `2 r0 K* y [ if link-neighbor? turtle i- i, U+ j8 }( S' t: t9 J
[ask turtle j [set nodedistance nodedistance + distance turtle i]
* L' n9 k& h* x+ E ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]" _1 Z9 d' C& I
]. N& t6 R& m7 f3 U
set i i + 1- P) ?# }9 r8 h2 }
]
, U% I4 d8 j# a set j j + 1 }, o* |( h) M$ F* M+ [$ b, j
]) |/ t- n! B- k3 t7 o9 O, V1 w- j
set average-path-length nodedistance / (linknumber * 2)* D) w% b% d2 z- H# G
end |