设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7546|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
7 @4 x9 |  h* u
" v8 G. Z4 C' r/ y但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! S8 K0 v( w# i( s) E. f  @

: ^+ S3 m1 L: c- C, t2 Qturtles-own [a b c d k f g h
7 J' i) \' Z2 ]% |5 ^  x y     ;; these are the leaf-turtle's offsets relative to center-turtle % l) s' j/ d3 I0 {
]: T' V  r$ t8 w  M9 s* Q2 D
to new2 G* g+ P$ ^# _# s# O
  ca
7 @: g: J% \9 f0 ?/ A& [" m3 S3 }( \  crt 5 * num_of_building
* \' Q! S" J5 V, K  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 s$ p" k4 ~( K: u
  scatter     ;;keep center-turtle random positions
  R' ^7 A4 o2 N6 O! `% _9 X0 K7 y  unit_plan   ;;make up the building plan5 ?7 i7 B/ ~6 E* R6 F, |
end( y$ P3 C- {- }. X- d6 {
to scatter( l+ s  q- F- T9 H
ask turtles with [remainder who 5 = 0]6 n1 _% P7 f$ G7 s5 i6 K- t
[
/ c& L* }  }! s9 L, qset xcor xcor - 6 + random-float 15
4 v: L% H) l4 G  t5 g1 J: R$ l5 y6 cset ycor ycor - 6 + random-float 15
! ?% k1 L6 x. y6 X" k4 B]& g' t0 Y9 R0 s6 ^
end& u! u. {4 G7 L* t- g- {# F+ y3 C5 K- E
to unit_plan
  g# \7 }" F" Jask turtles [! t  J* }* @+ r* f: \( v+ z
if (remainder who 5 = 1) [set a who ! M- B. o% j& k5 D+ l
                          set x ( 0 - Wid / 2 )
* |7 i5 I! F; Q; q6 p# N                          set y  Dep / 2 ]# S( f. \7 x! y4 b7 w7 G
           set b  int (a / 5) * 5
# ^6 T- F( M- C. e! {9 C    setxy ( xcor-of turtle b + x )1 @% D4 o8 ^% p1 b  U$ N+ d
          ( ycor-of turtle b + y ): A( S. C2 x" k& |; A( q) f
if (remainder who 5 = 2) [set c who% i# u" n. _# N: w* z
                          set x ( 0 - Wid / 2 ) ; A. L( k. E  c+ v5 m& J
                          set y (0 - Dep / 2 )  ]
% B9 O0 W9 Y; p# \" f( _                          set d int (c / 5) * 5
7 q, m! ?* \2 e* R2 [+ Q) C   setxy   ( xcor-of turtle d + x )
' E# X$ |& `  ]0 }. w2 |4 o/ [8 H           (ycor-of turtle d + y )
( v7 B- J7 }  M& w3 F$ i: f+ ]5 C          ' i2 \4 |/ }$ N! E; b$ Z
            
8 j" G. ]* w0 c5 jif (remainder who 5 = 3) [set k who6 v/ D7 _' L! j
                          set x( Wid / 2)  . X; A  v: s, j9 [2 W
                          set y (0 - Dep / 2 ) ]: R* l, [. E8 _8 f5 V8 R! L
                          set f int (k / 5) * 5" y* K7 n9 f) ], I2 g3 L
  setxy   ( xcor-of turtle f + x ), _% s- o4 j  q: c8 L- N6 w
           (ycor-of turtle f + y )
& F  i' I$ W& f4 D* i) V           ( y& e; j0 L& |) x3 _0 S3 n$ D0 \
           & L$ Q# o0 Q# Q" [% Z" u% ~! X6 q: v% e
if (remainder who 5 = 4) [set g who
0 x8 u/ x3 E' r8 Y0 ]; t5 _                          set x Wid / 2 ) M+ z6 ^% H2 d  p8 {& Y4 O" Y
                          set y  Dep / 2 ]
7 z) K: o7 J3 C. f                          set h  int (g / 5) * 5
7 B# r5 _3 C3 b1 ^% l; Y6 ^1 z% v! A  setxy   ( xcor-of turtle h + x )" R& W  v5 K. B* A9 U& x! w
           (ycor-of turtle h + y )
5 [! F( w9 i2 U  A" D                          
' N% F8 Y! U$ e- b                          
5 o+ J; K" P7 ?; ~2 Y. F$ i" m                          ]) m/ Z/ H; y$ o. F
end
  v% ?9 F9 D  ]7 G9 ?  u8 B- q
( M, ~6 }" Y% J4 g+ m$ q9 }[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
0 c7 E& Q& ?) M" L% l$ S- D) c应该是  c7 z! N5 {+ {4 s
ask turtles [
# u* z. C9 H# k6 a# pif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) u% R+ e3 {: ^$ Y4 o; A& t
                          set y  Dep / 2 6 M4 a3 h7 Q- g
           set b  int (who / 5) * 5
1 S& X! P* U( f9 I4 B2 U* t    setxy ( xcor-of turtle b + x )
7 p' u% ^( I8 ~; t& n) B          ( ycor-of turtle b + y )]]+ Y! q3 ~: P/ }
end2 @6 C" H$ D5 }9 K1 d9 M
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-25 04:51 , Processed in 0.018745 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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