设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8620|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
7 G# }2 b' ]- Q9 p' @2 B
6 ~4 K- h1 }: x! A9 a但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。& R5 g5 u) t$ M3 c: R
2 ?. c2 ?$ A* ^8 }( d5 P' W
turtles-own [a b c d k f g h: z9 o# \/ t) r0 ~9 q9 r* f
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle : X2 A/ l: k2 Z3 i
]+ d  s# ^5 z: ?1 @* L
to new% c* u$ k& o4 I) E. E) i
  ca
8 S3 N+ e1 j& O# G& Y8 H6 R4 z! i  crt 5 * num_of_building
# _6 v* \6 M. a2 K9 W  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]; `6 @: c! e! H1 h. K  d# ^
  scatter     ;;keep center-turtle random positions % T. T- H. h0 o$ N; O* F' e4 J
  unit_plan   ;;make up the building plan
: t. r8 o5 G0 P; B, @  S4 Qend+ |& {6 ]) Y& t1 v7 \+ Y1 Z& Q. Q1 C
to scatter
7 u. G" N' Z; J7 c+ eask turtles with [remainder who 5 = 0]
6 W: O$ L/ i3 [5 K4 D[% u( d, b6 [# ^/ c
set xcor xcor - 6 + random-float 156 w- U3 j8 x! N5 P7 ]
set ycor ycor - 6 + random-float 15
5 y5 y. y( Q% H# O]
3 m3 f# |  W1 a* i5 B) ^end# M+ h$ l' ~( O" r# W
to unit_plan
9 k" ~# V5 r1 S" ]: g2 task turtles [
3 d+ X) j$ ?9 p/ `6 l, p6 T3 n% d# aif (remainder who 5 = 1) [set a who
  Z9 C5 C2 ]# s" V6 u                          set x ( 0 - Wid / 2 ) 4 ~; \# q* ~) P% I! K8 B; D; S
                          set y  Dep / 2 ]5 w; s) A6 h' m+ b
           set b  int (a / 5) * 5
4 D* |$ w6 M9 k3 W    setxy ( xcor-of turtle b + x ): \/ O+ p7 Q9 i8 z! L
          ( ycor-of turtle b + y )
6 ?! [. k, J' F4 qif (remainder who 5 = 2) [set c who
6 F# L8 t* _5 i! B1 ^8 I4 k# Z                          set x ( 0 - Wid / 2 )
9 h$ D# c  U& D, }                          set y (0 - Dep / 2 )  ]
$ j: ^7 H( ^3 Y5 o) {2 b                          set d int (c / 5) * 5
2 z7 `% M$ o- o& F9 O, m   setxy   ( xcor-of turtle d + x )6 O- k! Q. c+ Z$ R- M/ Z
           (ycor-of turtle d + y )
5 ]0 B; w: H+ N! h" V          * b& V( T8 F2 m8 `7 t/ H( B
            + H) `+ ^3 P( V. g/ p2 O& m
if (remainder who 5 = 3) [set k who
( ]! c5 R3 z" M7 L7 s: c                          set x( Wid / 2)  
- Y( `6 V+ D- J! v                          set y (0 - Dep / 2 ) ]& R- R/ U7 X+ h6 D( L5 u
                          set f int (k / 5) * 5' [/ F( H1 V3 j/ O4 b3 P
  setxy   ( xcor-of turtle f + x )2 w8 `/ Z0 }0 A/ R
           (ycor-of turtle f + y ) / g4 Z: k6 D$ f8 Y- d% h4 e
           $ T' U) v) b: j9 [$ B; k
           
5 B& W4 u* r% L) ~% [1 \% o) iif (remainder who 5 = 4) [set g who
, |& M7 q) Z& S( H% r- e5 v) s: F" v                          set x Wid / 2 0 ]2 _9 T& u7 W: B( J
                          set y  Dep / 2 ]. B$ @3 m# o- n
                          set h  int (g / 5) * 5
9 w, a( Z9 [$ I; U: v" }  setxy   ( xcor-of turtle h + x ): C+ {9 A' }+ R5 L& ]' [1 Y. n
           (ycor-of turtle h + y ) ! f9 j2 Q6 b' \# ]+ j/ o
                          
! j1 \/ Y7 u% t. `                          ) p8 A, b/ P# Z- i1 p6 J+ @5 e  s1 |
                          ]
) F2 g) s* |8 g" wend
' v3 N( D, e0 f; v9 [
: o1 i" N( t8 i' U; `) h; q' O5 k[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
, _' G% ]- F& ]2 U8 O5 [6 s4 T* d应该是
6 c) m# g" ?5 F+ Lask turtles [# M/ [2 m$ U1 h) v
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 d5 M% ^  X  U( I7 ^' v* z
                          set y  Dep / 2 , `% ^9 N9 r" N* w% E0 h" F
           set b  int (who / 5) * 5' C" {5 N: s- y$ t& u" r+ I
    setxy ( xcor-of turtle b + x ). ?- N/ j( t2 v/ m/ }+ u
          ( ycor-of turtle b + y )]]) C! ?% n5 J: Y9 D; S! B
end
0 @1 g6 w" a# [: E) c之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-17 17:06 , Processed in 0.024118 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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