我新调试好的程序如下,应该是对的,供参考
+ _) D$ f% j, x$ w" {1 x因为特殊要求,这里的边的长度是二维座标内的空间距离
, O) o$ k! E4 F% Z, B+ f) T* s \( ~. ^4 b0 E7 q2 `
to find-distance7 D5 i& ^6 P2 ?- A3 I
let i 0# ~ W8 [0 \2 H" ?
let j 0$ `. ]6 O, M& X6 q3 K3 w) f
let nodedistance 0
8 J9 h ?8 K7 x% u% | let linknumber 0
" ]( G. F: D7 J ' A4 j+ h* U( Z4 H1 s8 I/ f. S4 F
while [j < count turtles]6 U! ]# X [8 g" e& D Z# L) J! p
[
4 w( o' T7 J- d5 i# r, T while [i < count turtles]
/ i9 a2 h& G( k, |' X/ h, W [ if link-neighbor? turtle i
- y3 v8 b% W' b+ N [ask turtle j [set nodedistance nodedistance + distance turtle i]
p: |4 v! B$ T# [% E1 a! | ask turtle j [set linknumber linknumber + count [link-neighbors] of turtle i]
# E8 w) S3 v+ t; o( W ]9 ^- E! z# ^3 X, S% c
set i i + 1
. N- R# D( ?7 i4 n% [ ] 1 B0 ?, |0 Q& v( f- w! j
set j j + 1
+ X! Q4 Z6 X X ]
6 @5 @3 \! B' v: g# Y9 ] set average-path-length nodedistance / (linknumber * 2)" Z' B+ I" R) y9 } w7 C8 z
end |