设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8443|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( S( \9 ?! c/ |1 E  L- Q6 i7 c6 n, b* q: Z, k
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
( r2 w3 u3 B0 s2 v" Q5 S
4 |) ?! K$ V! R& ?0 rturtles-own [a b c d k f g h1 M* V% X5 @' c2 E
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; r7 F" j6 H' l6 Z& l, i" ^]
2 o  H( `; `1 x1 Ato new2 }6 j- E- V$ t8 v: d! ]* s4 ]
  ca
9 s7 B8 N8 T, ~4 p$ S, k  crt 5 * num_of_building  @" U1 o, ?% K/ e: H
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]! A  Y+ Y+ ^- ]9 `/ F( t! ]; A
  scatter     ;;keep center-turtle random positions
6 q, a8 z" b6 _( b! a- `  unit_plan   ;;make up the building plan
* G" L, E) s7 {5 c/ Rend
* K6 F: Z0 h" |6 t, Pto scatter( E# J5 h$ ]* w! y6 V
ask turtles with [remainder who 5 = 0]
. |" w( e6 T! E1 ][
6 M. [' t5 Y# }  a5 fset xcor xcor - 6 + random-float 15
# H5 D! i6 P. y. i- b2 Hset ycor ycor - 6 + random-float 15
" H( \* J+ n* w8 N/ []! F% c' d! w& Q4 R
end
! s" [$ v7 P/ K1 ]2 Sto unit_plan 1 G9 m. V, c7 }; a
ask turtles [
+ z% O- x" z& G" R5 gif (remainder who 5 = 1) [set a who - ?0 M2 h- i% E. A# S6 k
                          set x ( 0 - Wid / 2 )
" F1 J( J- Z+ C( z6 o                          set y  Dep / 2 ]% N' {/ o  d7 f4 I6 V
           set b  int (a / 5) * 5
4 A0 {# z' |* C8 z6 C# @    setxy ( xcor-of turtle b + x )7 ^6 H" M3 v3 i0 Z4 {
          ( ycor-of turtle b + y ): r' D) p% x% z) M( j8 s
if (remainder who 5 = 2) [set c who, W9 i0 A5 B; g+ i# U5 l: |0 H
                          set x ( 0 - Wid / 2 )
/ }8 S3 C, q/ `                          set y (0 - Dep / 2 )  ]/ ?! l+ V2 h: T1 O/ n/ o# I( \" A
                          set d int (c / 5) * 5$ q6 m) e, ^6 X) ]9 w5 @
   setxy   ( xcor-of turtle d + x )# Q$ b0 q7 W' W4 ^! c
           (ycor-of turtle d + y ) * c3 l! ^! y6 z7 J4 y( L& L; ~
         
1 j- \% u, B1 v            $ A, K! k+ V+ V; E' h
if (remainder who 5 = 3) [set k who
' u% C+ T: ]1 F7 i) e3 H                          set x( Wid / 2)  ) s, p5 ]. v: f3 c) ?% S5 w# c
                          set y (0 - Dep / 2 ) ]* q, i" n- e: _  X
                          set f int (k / 5) * 5
" X( Z( h2 `: @% r/ r  setxy   ( xcor-of turtle f + x )+ c/ J& g4 @9 R
           (ycor-of turtle f + y )
0 z+ @% _( `0 L$ K           ! O: {3 `. R: g* z+ c9 v
           * V5 v5 A/ J* s3 A( Y
if (remainder who 5 = 4) [set g who6 K7 N6 P$ W0 r2 E- }8 T5 k# _
                          set x Wid / 2
) R/ n- @$ Z5 K. E                          set y  Dep / 2 ]; W" Y! E. E. x% M- z7 c. C: M
                          set h  int (g / 5) * 5
6 K$ a1 j4 l$ ]1 K+ Y2 M1 t, J  setxy   ( xcor-of turtle h + x )
3 S7 m/ D$ G  t8 f/ T8 r$ }           (ycor-of turtle h + y ) 2 R. p1 x) E- U4 ?# V* H
                          
- y3 X( ~% W$ k# \8 X/ `                          
# Y, v9 n* k3 J                          ]
- J# F+ o; [3 gend' M! @1 r: [: @; b7 y" J+ z
( H( x# `% `7 E! w! P$ E. N/ E
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,+ }0 b- C* q4 v; ~2 c) H8 s" q
应该是
/ C7 ]* M& n% X  Sask turtles [. o' H, f0 E  z/ s$ X5 K
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
7 u7 e0 l0 I2 B5 g3 B                          set y  Dep / 2 . v! s. l& g. N. ?
           set b  int (who / 5) * 5! w; U# M7 a8 j" ~8 ~0 I
    setxy ( xcor-of turtle b + x )
1 c# P- z3 }: O6 k/ f          ( ycor-of turtle b + y )]]
- Y4 s0 i3 R0 G5 G0 g/ Z+ Bend- ^: a7 Q& [) `  z
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-26 22:13 , Processed in 0.018315 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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