设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6756|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。+ P$ ?2 E7 ^  D8 Q" N

( X! V' |; P: }) n+ H% d& @* s但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' J. Q. ^7 d6 c9 R, f/ p7 \

: b- S. y9 t+ @+ @turtles-own [a b c d k f g h# W4 K8 J0 ~- o! W% P5 x
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) H, m( t- Z( J* L
]! Z2 ?0 {: u& a  a/ k/ |" h$ m
to new
, L8 A% q, I5 H, m" d" o  ca
+ D: c: r# |8 ?+ H0 V, v  crt 5 * num_of_building
1 o9 d/ k) z0 b* J2 z! C  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
" z8 }& \/ B; o1 [: y: o0 `/ X/ }  scatter     ;;keep center-turtle random positions
4 @! |; J. f% W# Y1 F  unit_plan   ;;make up the building plan
7 s! h5 x3 F# K6 Xend" t1 o4 E/ @/ ~5 }
to scatter; X) D, @# [1 J4 k
ask turtles with [remainder who 5 = 0]
! g; K' P+ R* w8 d- z" i[
5 _. r  D$ B4 d/ C5 j. Q; Y7 j, G  d2 ]. K3 wset xcor xcor - 6 + random-float 15
3 L4 k" q$ w* Bset ycor ycor - 6 + random-float 15. Y) Y  l" i3 @" l# G5 c) r
]1 S' }0 a1 {8 j1 v3 n
end
  [- Q" C& v) @5 @to unit_plan
6 c; x% k6 z* |! v1 aask turtles [
" n5 v% L2 L1 I6 k% Fif (remainder who 5 = 1) [set a who 5 [' \& `8 u; I
                          set x ( 0 - Wid / 2 ) 3 A% y+ X0 g  h6 B# O* a
                          set y  Dep / 2 ]
9 M' h4 q$ T. `6 `- H' x           set b  int (a / 5) * 5) v+ y! D4 |  y+ q/ c: u9 Z8 t
    setxy ( xcor-of turtle b + x )7 E2 z7 W+ J6 |- f: a, ~) n
          ( ycor-of turtle b + y )
- E+ i; t& V0 V/ Jif (remainder who 5 = 2) [set c who
! q+ @5 _( y8 g& _( f; d! X                          set x ( 0 - Wid / 2 ) - M* a5 O" \& I' X+ M
                          set y (0 - Dep / 2 )  ]
- _/ Q9 i& w& m                          set d int (c / 5) * 5
: V% I) h3 W( n8 b2 b) o   setxy   ( xcor-of turtle d + x )
  y3 x1 ?# {* ]4 a1 h! [% d           (ycor-of turtle d + y )
' l' c1 J, ]6 R+ }8 B; C          0 L( ~+ Z" d" D' x
            
2 l& _7 l9 D3 U' O5 Uif (remainder who 5 = 3) [set k who
7 w& q' |8 Z3 u! m8 N( S+ y                          set x( Wid / 2)  - E( j* i& U# \' \4 l
                          set y (0 - Dep / 2 ) ]
+ v. s2 t3 v0 c" a; m                          set f int (k / 5) * 5
. z; H! z2 T# w/ V7 U' v9 Q5 c  setxy   ( xcor-of turtle f + x )
" q/ T/ G' n: m8 x: K7 V4 c) _- y           (ycor-of turtle f + y )
( \# k* c" \, n4 k( h1 N3 j' l           
' D/ ~% a2 B7 Z+ |9 r- ]           
( `# u/ v2 S2 K! _7 Jif (remainder who 5 = 4) [set g who
3 V1 M1 Q* ?; b: X0 s                          set x Wid / 2
. A$ \- T0 C3 h1 x( S1 F: ]                          set y  Dep / 2 ]) h' j5 u, w6 R
                          set h  int (g / 5) * 5' ^$ u5 X9 m9 f1 r! @
  setxy   ( xcor-of turtle h + x )
4 c! {. K! D3 g6 _           (ycor-of turtle h + y )
/ [" [7 D2 \. [; v$ B                          
* a" l6 I" H0 M+ ^                          
7 Z5 e6 ]1 m3 k5 k7 Y" a/ o2 p! I; d                          ]% [( f% U. I2 E- l
end
, d1 A- Y* K* \  I  u- ~/ c  `
/ K. f; C; N* D[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! Y# p' Y! d2 X( @% A7 C8 i8 Z
应该是* X, e" A& O# D" u! X
ask turtles [6 P, g$ G6 A8 |- w7 i, g/ g
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
9 X: J  Y" H/ s  n) r, ~" i                          set y  Dep / 2
+ H& n" R/ `+ u+ L/ l( l" J2 E           set b  int (who / 5) * 5/ H0 g3 r1 u. i. O$ P. b
    setxy ( xcor-of turtle b + x )
: p6 f0 G% Q* p9 z& D. v          ( ycor-of turtle b + y )]]" o5 E4 q: t2 f* L1 M0 o! R
end1 W5 `2 H) m" h- L% q3 B* Z. n
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-21 05:45 , Processed in 0.018798 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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