我新调试好的程序如下,应该是对的,供参考
$ f6 C0 d8 F* j4 g; P因为特殊要求,这里的边的长度是二维座标内的空间距离
9 h: {5 {4 x0 A' k' o0 \9 B- D0 `0 s( q' V. C) l0 |* G$ }
to find-distance
0 ?0 ^" Z! Z% Y# j! l9 R/ m let i 0
1 _4 O( d. m( `( ~ let j 0' {, W( T3 d& L) ~
let nodedistance 05 V. q U; W+ R9 a
let linknumber 0
$ U. a* s5 }) B2 H
" `) Q- w, J& O+ b q9 j5 v' J! E while [j < count turtles]
5 ?, n7 _. `7 o [
6 M, A. ^ s1 n while [i < count turtles]8 D' Z) E8 e9 _; d# N3 F# l+ Y
[ if link-neighbor? turtle i
9 p5 s. K* }$ B- X- W# E" n [ask turtle j [set nodedistance nodedistance + distance turtle i]* `' c" ], y, q' P5 \. ]
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i], m3 S% Q! ?' V7 D
]7 y& P# F7 t9 y- Y
set i i + 10 q( W/ F2 j/ d
] 9 @) X# B4 G }6 p
set j j + 1
6 E( v7 X& }; |/ Y9 U ]& M/ }* B6 I& M8 T9 z" g
set average-path-length nodedistance / (linknumber * 2)+ ]' Z1 ?. `; r
end |