设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7596|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。6 Y0 h& h! Z0 W0 S, _, Q
9 A3 g2 Y* |" R( z5 r* d7 g; Y
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 Y. C. ?+ H) ?  x- N* q& H
9 w) j) w% N9 {) _( w: m( H- }6 M5 A
turtles-own [a b c d k f g h
+ ^2 z4 G! X9 {8 f, e# x: G" G% k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) w: l9 @4 u" F0 }3 H; r+ C]
  [, Q, Q: H- wto new3 ?3 }& b/ L# F7 Y
  ca8 l: C6 j  ^2 T9 g) \, S1 E
  crt 5 * num_of_building
( J. A2 C3 m6 Z' \6 b  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 z4 k4 \/ v$ f0 b4 f  scatter     ;;keep center-turtle random positions " o, U7 Z+ g, ~" R8 W
  unit_plan   ;;make up the building plan
" w' ^! b8 s3 k1 V: f9 o4 E- Kend2 E, d3 |; Q& r7 H- j2 _
to scatter
+ c  j  k. Q8 ~- Q: H. yask turtles with [remainder who 5 = 0], ^( o% L7 [6 _5 W( K
[
) k7 g1 ~. A* g# z0 z8 w7 O9 gset xcor xcor - 6 + random-float 15
. \! A/ _( e! \0 f( mset ycor ycor - 6 + random-float 15
: b; j3 P) v0 U9 ~, x, x) S5 l' U]: }/ {2 a  f5 I: G' i
end
& ^; z( D$ _. jto unit_plan
, ?$ b- H: h! C# P, K" }- Pask turtles [/ k6 v3 C3 z! U, i
if (remainder who 5 = 1) [set a who " a! C" s. l* Q, ]1 _0 ]% i
                          set x ( 0 - Wid / 2 )
6 N% `: X% i6 n7 p3 j( W( F- s9 j! L% f                          set y  Dep / 2 ]" D. H6 ^/ i. d# B
           set b  int (a / 5) * 5* M4 M7 N4 v' Z
    setxy ( xcor-of turtle b + x )/ W/ o4 V, v0 ?5 M, J  Z
          ( ycor-of turtle b + y )! A5 b  e/ d7 I- a# E8 s
if (remainder who 5 = 2) [set c who6 ]% i# s2 G: g* G
                          set x ( 0 - Wid / 2 ) % d& U; D, z/ a. e2 U
                          set y (0 - Dep / 2 )  ]' C8 w$ D! U, R$ o' X
                          set d int (c / 5) * 5
1 Q+ D% |$ [. [/ t6 q   setxy   ( xcor-of turtle d + x )6 m+ N0 L, l* f# H- v
           (ycor-of turtle d + y )
, D$ s: o) k# W& G& v& _          2 \1 }, j' ?, V* S) }
            2 j& f, j, I' q9 ~
if (remainder who 5 = 3) [set k who
  Z/ o. c3 a6 r1 x0 h! T; M# \                          set x( Wid / 2)  $ T' c3 ?' M: p0 ?
                          set y (0 - Dep / 2 ) ]  v$ l3 x; N- j2 G0 q
                          set f int (k / 5) * 5
. e+ Q8 l" }4 Z+ k3 N  setxy   ( xcor-of turtle f + x )
) K- F& r) r) G0 ^! W           (ycor-of turtle f + y ) # |! W) Y1 B# Q8 n! E
           
* r# |$ y0 M$ d- E% `4 W1 @           
$ t/ J& w: K6 p) [if (remainder who 5 = 4) [set g who
5 l! U- D' v& g0 t( m9 o3 r                          set x Wid / 2
8 w. H( z5 L7 z* B) h! a0 H% z" m                          set y  Dep / 2 ]4 i1 \" I: z1 e5 |
                          set h  int (g / 5) * 5
8 o- f# P3 n2 \1 N: \& j  setxy   ( xcor-of turtle h + x )
8 M; m; ?& }; v4 g0 O           (ycor-of turtle h + y )
9 Q0 P9 Y3 W5 {; y- ~2 @                          
/ H% |5 N. {7 l1 P$ F0 k' ~                          
' _& `7 H7 q  v/ |  C                          ]+ a, n2 w6 t# l2 n. O$ b% h) U
end8 Y! W4 v* D5 |9 U3 u+ q. L
& i: [- L* x. ?; E: \
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,( B  l0 O8 I- m- I1 k
应该是0 g/ X5 m9 {+ Z9 u
ask turtles [
7 b- j: A  \& M6 D7 F% e0 j" Oif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
( t) b0 h  t0 v! I9 w4 s' T! X# a% V* R/ K                          set y  Dep / 2 2 ^4 d# P9 ~6 m- P' B0 F9 f
           set b  int (who / 5) * 5
9 P' R+ u$ Z9 N# v4 u; l) ]/ F' t    setxy ( xcor-of turtle b + x )! s. c% ?6 @& c& X' n
          ( ycor-of turtle b + y )]]1 S% V- R5 [) l' p
end" ?; U( h: N7 A' Z2 [1 P
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-3 07:44 , Processed in 0.014587 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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