我新调试好的程序如下,应该是对的,供参考- N! ?/ ~. B- U: t1 I( ~4 c
因为特殊要求,这里的边的长度是二维座标内的空间距离
7 c& }8 ^9 z5 W2 D% D
& I* C, k4 L. N ^+ ito find-distance( J' @1 O" }# D/ A7 R) c' Q' E/ R
let i 0
" a8 t+ `! D; S3 R3 w4 @ let j 0+ y. B& C9 B. {4 I
let nodedistance 0
3 r) L0 l3 e6 b# z# l& a, E let linknumber 0
) R$ l& ?" v( Y z2 k' f( E
4 o; E0 j# T+ u( I# X while [j < count turtles]# |* U' V6 r$ p
[
9 V0 G* y7 W5 J. n {& N while [i < count turtles]
- s$ f$ U1 D+ m' P/ b/ i [ if link-neighbor? turtle i
; h& C- O, r" f6 {4 s [ask turtle j [set nodedistance nodedistance + distance turtle i]+ O& x* @; |4 w. S
ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
3 r. k# b C: x ]
& U, l- L! [. L- r& R. d% v set i i + 1
! _6 u& B: Z/ i ] 4 W. \& ~) i$ c$ x0 P: ?- o# Q
set j j + 1/ c, J L2 _& T" @, `' w5 }5 {2 [" G; v
]
5 V* a C5 S: I set average-path-length nodedistance / (linknumber * 2)% f" v" u9 _2 k. ?0 j
end |