我新调试好的程序如下,应该是对的,供参考
. E$ O5 y) y- k9 r因为特殊要求,这里的边的长度是二维座标内的空间距离
S2 S; Y+ X8 h! \% V1 d2 f- n! d! V+ \; x
to find-distance7 ] x8 K# `2 ?! y/ Y' ]
let i 0
) m/ N( v* z5 o let j 0
( u* A8 p0 y& K' k8 `- n let nodedistance 0
" M# h& r, a* P) [ let linknumber 0
+ @0 R& t9 }/ I0 o
6 E% Q* ]( v6 ?0 P9 ~ while [j < count turtles]$ ?. q% m0 v) t
[
6 k* E! G- @3 p) [1 w1 o while [i < count turtles]
4 r4 Q4 M, o0 [ _, l: h& |* I R [ if link-neighbor? turtle i7 P7 {' x6 t- I
[ask turtle j [set nodedistance nodedistance + distance turtle i]1 s) ]/ X+ f& G1 Y" l* Y( g- `- ~
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
/ c) R& F9 |) e- j9 `1 Q, s( e- p ]2 ]0 r5 Z, \5 G5 m) R& K: w& Q- Q
set i i + 1
" Y6 W# |) c# b9 \" [* p ]
( p8 q Y) Z/ I/ Q$ H set j j + 1* L" Y" W0 E2 f0 a' L! S. q$ u2 K
]
" _2 S- R' _5 e# G set average-path-length nodedistance / (linknumber * 2)& }" A2 p; f8 H* w' W- @
end |