设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8055|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
0 |2 g( Z1 ?) d
' v0 ?: ]* Z5 @5 v$ \但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
5 ~. o2 F$ Q5 f' S3 C0 J$ V
2 {+ t9 |! o# C2 z, Y& Oturtles-own [a b c d k f g h$ t' t8 V5 y, Q
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
/ f0 ]7 i: G$ Y' ]6 h7 Y]
; [" t  a/ h& U0 s/ q; k6 Tto new  q* X3 E4 s/ g0 S2 ?8 l
  ca
! h7 j9 s. Z  m, @& K  @- u  crt 5 * num_of_building- o( ~& m) ~1 |; m. l  N+ _
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
& y+ H- u: X5 H: B  scatter     ;;keep center-turtle random positions & Y8 F# ~  m* w! ?
  unit_plan   ;;make up the building plan3 w7 `$ T) E  g2 s  m! k
end
8 y  `* M2 w+ {, ]to scatter
$ u8 q0 [  E9 I# M5 X, e5 wask turtles with [remainder who 5 = 0]
8 n3 d! H$ v/ L" s' G/ t0 e[/ H6 X% }6 @. Z& h4 p
set xcor xcor - 6 + random-float 155 f3 L  ?, X- P! s' W. _9 R/ h
set ycor ycor - 6 + random-float 15" V* V* i( V$ Z* g8 D7 q
]) A& h( l/ ?3 [0 [
end
0 M- j. i$ x& w1 O; y) R5 ?to unit_plan
8 A$ y0 ]) k- `/ Q. L) m9 Eask turtles [! G' N4 L$ F% F# a1 M3 E
if (remainder who 5 = 1) [set a who
9 f! t( S7 m  g- ^/ E                          set x ( 0 - Wid / 2 )
  L* f) L) }% h6 h7 q5 C. k! k                          set y  Dep / 2 ]3 G3 ]+ s# J8 @
           set b  int (a / 5) * 5( S0 P  |" V+ }8 F6 `6 {
    setxy ( xcor-of turtle b + x )- _. `# A/ J, f' W2 ]
          ( ycor-of turtle b + y )# F; }$ I, a  s0 S$ ~
if (remainder who 5 = 2) [set c who
0 A6 w" ^) l3 N7 G6 u, T. o                          set x ( 0 - Wid / 2 ) 0 A" K; ?1 P' ~; T7 r* x: q" C
                          set y (0 - Dep / 2 )  ]4 C! ^, z: Q9 H; d2 f% @6 q  x; l
                          set d int (c / 5) * 5
1 ]0 m# z4 Y& B& @! [$ R- Y- v   setxy   ( xcor-of turtle d + x )+ X. n, N; v! m: a* O9 _, _
           (ycor-of turtle d + y ) 4 [/ M9 `( L- L2 r) C0 w4 T
          % n! s& k, Q  h. z+ N/ Z9 j
            . Y$ z; F# s6 E; [5 R4 i# B7 ~
if (remainder who 5 = 3) [set k who
5 S7 A9 i5 R) b3 A9 s7 H                          set x( Wid / 2)  4 e6 m5 u* z* n& q5 y
                          set y (0 - Dep / 2 ) ], s. }, d7 L) @$ o
                          set f int (k / 5) * 5  N& W$ f5 ]* y) K& W3 v- q9 v$ Y
  setxy   ( xcor-of turtle f + x )3 n0 m5 R; D2 n* u
           (ycor-of turtle f + y )
" D- V5 z: {! z2 m' U; b! ?           7 L$ e5 d# `) ~7 h: f* _
           
3 ~4 Z4 l8 C; K6 D3 Bif (remainder who 5 = 4) [set g who" t, b0 C0 x+ I7 k$ h) I
                          set x Wid / 2 " Q( U& W" |, Q/ w0 g( c
                          set y  Dep / 2 ]- J2 C/ I; J% z1 ]7 C
                          set h  int (g / 5) * 5
! P; C, D" Z% [# C& {/ k& M# ^2 G# c  setxy   ( xcor-of turtle h + x )7 S% z1 A& y  Z" A5 u1 [+ U
           (ycor-of turtle h + y ) . h% P6 k7 P. G9 ?" S) A  p- J
                          ; l8 c6 f1 d0 s
                          $ u$ J/ I  K9 C9 L) x8 g
                          ]
; [# v9 y: x6 s! oend
  `5 f3 G7 ]! n; a% V9 K
4 i! c% \* J/ _  @# N[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,' w/ n0 P- h/ l6 i# z
应该是- K) Y6 \1 p( B
ask turtles [
5 Z; p- N' d* U8 G+ Bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) . n& h. u- P( A) C! e0 y5 h
                          set y  Dep / 2
2 X. J# X* S. U0 ^* z- k+ ?. G           set b  int (who / 5) * 5, s3 h5 k9 Z6 |# J5 Y
    setxy ( xcor-of turtle b + x )
# }8 ~5 z1 p! B! i! A          ( ycor-of turtle b + y )]]' q$ }& t6 Y8 m- W; y; `4 E6 ~
end$ f2 l4 c+ A7 c$ w! u
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-2 02:39 , Processed in 0.016467 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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