设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8019|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
" Z% u( T5 w! `* x6 b) S. o) ]4 P( y4 ~
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 a; [8 [/ C: Y$ f- r7 V

; Y# c  y* w& n+ uturtles-own [a b c d k f g h8 Y9 R& e+ O  h# v+ B7 p- o9 {# F# a
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
1 F, {- @# q  q9 g# v]1 T. L5 G6 O! o( i/ W
to new
6 }! ~! J& m2 f2 F4 f" L: K  ca
/ c% r, Q5 X) o  crt 5 * num_of_building; {7 Q' ]- d" S* E! {$ I8 l. l& X
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]; e, O9 u, d5 G) l
  scatter     ;;keep center-turtle random positions
! x; L: s4 j% f* L6 s" I1 G3 b  unit_plan   ;;make up the building plan! y* `3 z& Z! Y3 ~  R; K2 o
end
& R/ r7 H7 M2 j4 w; a& E4 x( Nto scatter, s" U0 b: P# j# f3 z6 U. X! Y0 p
ask turtles with [remainder who 5 = 0]
% V% {! Q7 A  f1 k3 D# k# R[/ Z/ d: R0 D5 z3 L7 f. R! d8 C
set xcor xcor - 6 + random-float 15
' l! M# n2 a. Z) r" Z+ B* [set ycor ycor - 6 + random-float 15
: |+ l6 [' i) `# ~]4 k& h0 F% t$ W  u4 ]8 ~0 E
end
) [! o6 Z; i6 T5 P; Y/ |- Sto unit_plan
& \7 d& F" m( G' i# F% x  L% [0 Pask turtles [9 A2 A) r0 ^. z
if (remainder who 5 = 1) [set a who
8 y7 H' Z0 X4 H$ M  ?                          set x ( 0 - Wid / 2 ) ' X8 M) W. a1 P8 Y
                          set y  Dep / 2 ]. R$ P) X/ D" f" P% I* [
           set b  int (a / 5) * 5
  Q4 A; V) b, P+ x2 R1 M    setxy ( xcor-of turtle b + x )5 O4 C0 U2 C$ `
          ( ycor-of turtle b + y )) O5 x  G, D5 u& O4 }
if (remainder who 5 = 2) [set c who7 O5 |( |/ d7 f: a$ n( t
                          set x ( 0 - Wid / 2 ) , S4 s2 k6 \1 x8 R: |" J
                          set y (0 - Dep / 2 )  ]
3 U8 h* o  w" K5 ~* D                          set d int (c / 5) * 5
* B3 N9 v! _' y! `   setxy   ( xcor-of turtle d + x )% d4 T2 }; I5 V
           (ycor-of turtle d + y ) " u; t# b5 h& C& g" N
         
6 `4 T5 s* H" |            
! Z' l8 `# c, n' aif (remainder who 5 = 3) [set k who
: E- o8 w2 r. ?6 D+ }& S                          set x( Wid / 2)  
1 }) [. y# d9 W+ U8 ]                          set y (0 - Dep / 2 ) ]4 u! e' G" L: |4 o
                          set f int (k / 5) * 55 |& j+ O  I: {# p; a* k6 R- h" Y3 K
  setxy   ( xcor-of turtle f + x )
/ N, e% B2 [% Z4 k! k4 @6 v4 s           (ycor-of turtle f + y ) % _: p2 ~2 w% M! ~5 e+ |+ X
           9 \" @, l7 z( u" }8 O& Q
           
# B% ?0 H0 ]# D# U7 I7 H" q8 Tif (remainder who 5 = 4) [set g who3 P* c# k2 e$ l! ]! g. X9 D( B9 b
                          set x Wid / 2
! e$ p! [3 y$ `                          set y  Dep / 2 ]
3 k; y/ L. h. X- M5 B( p                          set h  int (g / 5) * 5; @9 V7 B! q5 x4 c
  setxy   ( xcor-of turtle h + x )
8 h( e" J8 R5 r8 J" S4 h           (ycor-of turtle h + y ) ! j9 J4 \. s8 y! ?6 {' p
                          4 o, p' T# L  _) N% i2 z* a7 a
                          
# C, E% B* K5 m) d                          ]9 \) b+ J1 |; c. D% ?
end4 w2 o2 p$ i7 j7 W. Z
8 D$ y3 r. Z- ~: M' p
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,  {& g3 k" m* ?# Z
应该是5 O, b& g1 i6 ^; Z, _. W
ask turtles [
8 ?  c: D* n: wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
, a5 ]1 d0 }& ?; a4 X                          set y  Dep / 2 4 H4 O# G/ Y" L* l0 R7 ]
           set b  int (who / 5) * 5/ [* K! c. a/ V" @1 A9 _
    setxy ( xcor-of turtle b + x )
' f8 E: I% \! E7 t3 s9 V          ( ycor-of turtle b + y )]]
! z; R9 q! G8 Z$ \5 ^) n3 P, w. Zend
4 e- {( M, i. w; }2 @' o, z  @之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-29 07:57 , Processed in 0.015904 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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