设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7801|回复: 1

[交流] 看看这段代码的问题

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
5 ?! ^5 {7 Q' B% q0 ^; r9 d7 ^+ |: T
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。0 }+ Z. w' |) V1 C( L& R

1 S5 F, r8 F5 T- @+ Tturtles-own [a b c d k f g h5 t3 @& X2 \$ d! C
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ' s. [# X+ m8 o( ~
]+ C& S3 _$ {5 G- ?
to new* y0 E, M. _! E3 Y2 I3 K
  ca
. f" b: O7 M* E3 }3 y* o  crt 5 * num_of_building
! `# H) \8 J  c1 i/ S' c" G  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
& {/ N+ l% N; A# o/ p  scatter     ;;keep center-turtle random positions
6 R, k$ H* I' d3 ^; d  unit_plan   ;;make up the building plan- j8 c% d9 ?, G5 h
end
  B# O' V- y# l; J1 _to scatter
, Q' J8 }' n' k! h5 Hask turtles with [remainder who 5 = 0]
& M5 k$ j7 m8 q- v' n* E+ l[
# l, i5 t# F% y- q5 P( Uset xcor xcor - 6 + random-float 15
+ [" o! M& G7 C3 ~set ycor ycor - 6 + random-float 15& u8 r. E0 `" I, H
]
% h. x9 f: v4 z5 oend! N5 w; h! I, e/ E7 N* d
to unit_plan
1 f9 M8 [. k1 l3 Oask turtles [% o$ e4 [, u% C, s4 L8 [
if (remainder who 5 = 1) [set a who 4 j6 ?& Y+ j! M$ B7 A3 N) T
                          set x ( 0 - Wid / 2 ) 3 ]9 V9 n; {3 \: [2 V- x" x' r
                          set y  Dep / 2 ]
" W' }. M  N$ P& v! o# M. i           set b  int (a / 5) * 5
6 S( Q7 R! M9 `8 y* V/ t    setxy ( xcor-of turtle b + x )
, H4 F/ J+ t* s* D9 l          ( ycor-of turtle b + y )
  B# [& k6 ~) m3 M! c8 Kif (remainder who 5 = 2) [set c who
) T$ k' H/ O$ \" x) f                          set x ( 0 - Wid / 2 ) $ T  |: x2 Q& E* o9 m
                          set y (0 - Dep / 2 )  ]
4 W9 _5 p& ^  k) C7 ?                          set d int (c / 5) * 5
4 i1 c; e' b" ?   setxy   ( xcor-of turtle d + x )' `/ L& N9 e8 }  A
           (ycor-of turtle d + y ) 6 j5 ]) R$ D. P
         
* |% r0 D$ _7 S+ e) g7 T            
  D9 }, l( S* I' R* E3 ^" Wif (remainder who 5 = 3) [set k who
' z, d6 _) ^) z' K                          set x( Wid / 2)  
# J( r( X  v# T- N1 i0 o                          set y (0 - Dep / 2 ) ]
. l# e8 h( E: J* g% m                          set f int (k / 5) * 5
% ~# S  ]7 d6 q4 O( m, C  setxy   ( xcor-of turtle f + x )0 C; x  v; e6 _8 q  C, K
           (ycor-of turtle f + y )
5 r, Y& M, f( k4 ^" j           
9 ]" g5 m4 t2 B5 t1 t           
% N- ^0 ~/ O% c% C) J2 Yif (remainder who 5 = 4) [set g who
$ C! B4 |9 W2 C( N                          set x Wid / 2 & I, K, p2 ^# w$ |
                          set y  Dep / 2 ]4 c. A8 |. P; `+ n) X& V
                          set h  int (g / 5) * 5
4 o  x+ o1 a4 M$ r! f  setxy   ( xcor-of turtle h + x )
& u8 l6 [  V" H* K- B& W           (ycor-of turtle h + y ) 2 y# ~9 ~* j+ X! w% w
                          - p$ Y. e! n, i$ F
                          
! z4 A8 [% I" m: V                          ]) q7 g1 P! t* d
end
5 v  R) k& M, }! m. F
8 R" [8 A# T5 ~% E[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# k0 j. V+ F3 _0 y1 e& t
应该是
0 D; A8 e6 _! V' C1 o* \& [, Bask turtles [+ Y1 s! A2 T% u* F
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ; @+ @+ p2 `* S( I, C6 m: O4 F3 {
                          set y  Dep / 2 4 j6 w' x& H+ O2 m3 Y
           set b  int (who / 5) * 5
, w2 q$ ?6 N  `' h- a" b" q! C' d    setxy ( xcor-of turtle b + x ): ]& s. L0 ?1 b5 i1 t9 o' F
          ( ycor-of turtle b + y )]]* M0 |+ h/ _1 k" v
end
: i; R: N; E6 b) n之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-4-2 20:00 , Processed in 0.021199 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表