设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7604|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
, i- J5 Q8 Y' g
. U$ K+ Q, ?$ g! z7 l. p, z但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
4 ]. }& @0 v  z8 R1 B. t9 o5 e8 M. q9 g0 G' E9 H; s7 V/ L, ]5 h
turtles-own [a b c d k f g h3 I* z/ Z2 S6 G  [0 y! y
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
0 s) G  j% r9 q' `]! W. U1 i/ r6 z* f  k
to new
3 ~) }& B) S- w, ~, B  ca8 i  y0 q/ u8 E% y$ C
  crt 5 * num_of_building
( p8 ^/ |* _% m& C  @+ I8 C  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]- R3 |' i4 F  q' {& }
  scatter     ;;keep center-turtle random positions
8 W( W% V3 E" w8 g  unit_plan   ;;make up the building plan& K  \6 D: c3 z7 I5 O3 m! t: ~) W
end8 \* P2 L. Y* ?3 L8 o2 o& d
to scatter
: V6 F2 h# P% a0 o) w; y9 Task turtles with [remainder who 5 = 0]; g2 H: s2 K$ I" l7 x5 }4 N" M
[2 _) ]9 @' r& ]" G: b
set xcor xcor - 6 + random-float 157 m2 T# \' T9 o/ d& @$ d
set ycor ycor - 6 + random-float 15% j1 N2 q+ m' |" b" k9 R% g
]) F& _2 O/ J, B, d& n
end5 h' Q/ Y6 h6 L7 |
to unit_plan / a% ^5 l7 A) B# k$ r8 W, v- Z
ask turtles [) b9 _: X. T& g: x6 e8 D4 L: i
if (remainder who 5 = 1) [set a who
) N; a$ d0 S8 l9 G  O' b                          set x ( 0 - Wid / 2 ) * b8 Z4 {+ s, n7 ]. E, F0 o  a
                          set y  Dep / 2 ]
7 u# t( w4 n+ t" z; g           set b  int (a / 5) * 5* b4 u* K2 P7 B$ o" X
    setxy ( xcor-of turtle b + x )
5 P" J, l! ]8 C          ( ycor-of turtle b + y )/ k1 _& ]9 A* O3 P4 T
if (remainder who 5 = 2) [set c who
( t7 T) M5 w$ }- `( U; K! [                          set x ( 0 - Wid / 2 )
/ J; j: {! r: D: v; H% W$ _4 a& o! `- l                          set y (0 - Dep / 2 )  ]/ K: t4 ^' V4 s) O  S: m. l
                          set d int (c / 5) * 5
4 ]1 G( q& G. y% u   setxy   ( xcor-of turtle d + x )
+ z- r# I6 p0 k8 \# i& n3 W3 g" ~           (ycor-of turtle d + y ) & t+ i* P: G$ S
          ! a! V8 f( `1 w, I
            
2 b  c1 R' z& ^2 ~# ?, m. _" [! P8 pif (remainder who 5 = 3) [set k who
+ D1 X" ?% ?9 p) h7 f                          set x( Wid / 2)  $ H  H' P: K, u: V! m* n: I) U$ D
                          set y (0 - Dep / 2 ) ]) A+ `3 B& {8 P5 l7 x% L
                          set f int (k / 5) * 50 s1 g* k% B# g. _1 t
  setxy   ( xcor-of turtle f + x )/ I8 X- \* w) a2 U6 `
           (ycor-of turtle f + y ) * y' k4 ?3 _& b: `
           
  O- Y+ J0 [# n* ?( D$ @# \: `           6 z' o, B7 n( z, K& f- K
if (remainder who 5 = 4) [set g who
7 a' [3 F; s' K  I3 e                          set x Wid / 2 . e- L. E5 Q' O6 ~7 u
                          set y  Dep / 2 ]
/ g6 A2 B( }% Z9 n* n+ x' y                          set h  int (g / 5) * 5$ H/ b2 w) W( i
  setxy   ( xcor-of turtle h + x )% S3 |- z, }0 d4 s! [! r
           (ycor-of turtle h + y ) / o! b! b# b2 N2 u5 G% ?# ]
                          * \9 a; T. R+ T5 n1 y3 e: G7 {- P  W( E
                          0 Z. r, b7 m% c2 A
                          ]* v: e1 m/ P  F% U
end3 C1 o7 K1 {0 v4 A
* d6 J% H" ?4 b3 e3 a0 r" `
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,3 k+ W0 _4 h; M
应该是
2 i3 p7 T' O" [ask turtles [. m% F  i+ `  e9 ~0 L& T
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) : l: n8 Y  }5 j- m8 e9 o4 Y
                          set y  Dep / 2
, G1 A7 A+ o5 M           set b  int (who / 5) * 5& p, @* N  k( v, [
    setxy ( xcor-of turtle b + x )
  t1 q) H9 r: ]4 K9 `) h          ( ycor-of turtle b + y )]]
. u3 E2 {5 ~' t6 ~1 _8 Lend
# H0 T/ i8 s' S, ~7 A之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-3 23:10 , Processed in 0.017517 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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