设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8192|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 ]* o0 h. i. q6 J# x

- B* W0 y, |7 H' v' ?但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。/ B  w% z$ t2 [9 _  y* e0 X
/ h- ^+ a9 u4 W3 i
turtles-own [a b c d k f g h
4 ~; q7 C6 F: h3 Q; |6 N% @  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
, v0 ^5 {+ M- l# ^6 g* y]
1 t% G6 p: d. e. A; s  kto new
9 A$ {' D8 q  Q2 a  ca
2 h7 o9 h/ g0 H  crt 5 * num_of_building6 ~0 j0 t, B& s2 I( F
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
: N" S# ?! s  M/ _3 e2 H8 X4 V  scatter     ;;keep center-turtle random positions & P: q2 v% I2 ~
  unit_plan   ;;make up the building plan
6 ]4 l9 J% }8 l% y+ I5 f0 iend
+ ]% G3 M( ?7 e7 a! D) Gto scatter
5 G: p' M- h& l5 s# D0 ]+ Iask turtles with [remainder who 5 = 0]/ n1 j  w6 L! t5 g
[
5 ]. J+ K' ?; X/ y9 ]' E: w* Uset xcor xcor - 6 + random-float 153 B0 z* f) ?- E2 j
set ycor ycor - 6 + random-float 158 _7 M: r+ [# d) l( }- N4 v
]; P7 V; e3 ~8 w. X, B4 |/ m
end1 j+ x2 S* }) c1 L. @* D& S7 I
to unit_plan ) v4 D0 }# d+ w4 l0 ^$ P
ask turtles [! A8 D% j* F; X* i4 o- v
if (remainder who 5 = 1) [set a who 7 v& z9 r/ @- o3 K" t
                          set x ( 0 - Wid / 2 ) , A2 ^3 b$ Q+ G) J: L
                          set y  Dep / 2 ]2 r6 V: k) r5 i8 V: z" G  H0 D
           set b  int (a / 5) * 55 m2 M  }, o6 R& _4 U
    setxy ( xcor-of turtle b + x )2 r5 z; J# f" f( C9 ~7 o+ l
          ( ycor-of turtle b + y )9 U4 K6 P( I, r9 D5 D/ b2 N, A
if (remainder who 5 = 2) [set c who, D) M3 _% ~7 K+ I7 a" G# Z0 S' N
                          set x ( 0 - Wid / 2 ) % V$ l# H5 p$ ]
                          set y (0 - Dep / 2 )  ]
9 D; O; b9 A) [$ D                          set d int (c / 5) * 51 L$ i6 Z, I% C3 z. L' i( N
   setxy   ( xcor-of turtle d + x )
2 Q( A  M; g) V) e0 N0 s           (ycor-of turtle d + y )
9 \' i3 ~9 ^: r4 [0 V% R, P         
3 }; p9 Y7 z" d" c6 |            
5 H4 U0 r+ t5 W2 G1 d; bif (remainder who 5 = 3) [set k who0 t% e7 S5 Q; p, [8 B7 w
                          set x( Wid / 2)  
9 {8 X/ P0 f4 X$ ?/ p6 A' [                          set y (0 - Dep / 2 ) ]
9 E$ E" ]% p3 V                          set f int (k / 5) * 5
4 Y, @0 `% i% ?- h  setxy   ( xcor-of turtle f + x )9 S0 f* b  G+ q/ H6 m
           (ycor-of turtle f + y ) ' p9 o4 B/ ~4 S7 P' {: ~
           , M5 e9 p4 T& m& m
           ) s, i! `* C( G" [! P6 B+ f
if (remainder who 5 = 4) [set g who
; j& p/ y6 Q  ?1 Z; a                          set x Wid / 2
- v5 h3 l9 [" s% M                          set y  Dep / 2 ]9 L0 @& }  `+ c3 n1 t( L
                          set h  int (g / 5) * 5' {7 w+ Q- p9 v+ ^# R6 x# z& k
  setxy   ( xcor-of turtle h + x )0 s; D0 H/ S2 I  J$ W/ f
           (ycor-of turtle h + y ) / P6 V+ e7 t/ M3 c, d1 V' H
                          
; f5 O3 s0 V# J# l" z- T) J7 ~                          
# F3 O' o& m2 k& G  Y4 N' n                          ]
5 p+ ^; p4 L$ F& T% g  bend: z2 D: [# e1 F

* b6 G( B! `, b! Z2 m: z1 a[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,4 `+ q8 r# x" `, Y0 p( _: t7 A
应该是! I, L6 ~8 r& I+ _: }; P
ask turtles [( l5 R; o# n( t( v2 B! \* Y3 h
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 C% b! E+ @" R* M
                          set y  Dep / 2
# c1 B% M* `0 Z2 m+ h           set b  int (who / 5) * 5; o% @6 a0 M- ]: G) d6 H- O' w
    setxy ( xcor-of turtle b + x )
3 K7 e4 B  K7 `          ( ycor-of turtle b + y )]]- s; ~+ ~& i: Z
end" c+ Y9 B* \) O, ~' V/ ~
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-16 13:12 , Processed in 0.018232 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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