设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8798|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。$ @) n4 l% x( s8 l* g

4 ^) n1 V0 h2 J% g+ L* G* l9 l但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% K! C, Z. u  m  {2 W% z  O" O6 ]+ Q& N
turtles-own [a b c d k f g h  p" S) p& R4 z. P; a
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 4 y/ T0 g+ f; u, }9 w6 e" x
]
6 Y$ w+ G6 e$ z1 Uto new. b+ Y9 o* Y0 J- u+ V* B' s/ n
  ca
  Q' m! n; c( f7 Z; H0 A  crt 5 * num_of_building
1 _# f2 d' d9 ]; ~4 A1 m5 Q  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
+ L* l- A5 e+ U  scatter     ;;keep center-turtle random positions ) E9 r6 B$ b8 |6 }& P
  unit_plan   ;;make up the building plan
0 ^4 ]+ j) A) _( G8 H/ [end8 z. J8 m+ a2 _5 S9 R
to scatter7 g5 ?2 g- L, F% m! H
ask turtles with [remainder who 5 = 0]* w" d  |; n  {( U
[% S' s  d* \( z
set xcor xcor - 6 + random-float 15
( y0 }& ~* T" l/ |set ycor ycor - 6 + random-float 15; P& t4 T+ }$ e
]3 E. a7 z* Z2 G+ @
end# f- _$ V0 v8 g( Q
to unit_plan
' r! ~6 X  g# L( l0 s3 s8 Rask turtles [. ]" S. G6 X- S; R. b4 `, F- n
if (remainder who 5 = 1) [set a who 9 u! g$ I! ]; m  f
                          set x ( 0 - Wid / 2 ) ! H$ {. c- }$ I- g9 T
                          set y  Dep / 2 ]
, [  N1 D( z" _0 X           set b  int (a / 5) * 54 z1 {0 j7 b1 c; ]# S' k1 ~* \
    setxy ( xcor-of turtle b + x )
8 L/ S4 k: y2 |  Z1 o          ( ycor-of turtle b + y )
+ N8 b  F0 U" V/ X2 g1 U  j, gif (remainder who 5 = 2) [set c who
0 x) {1 @! M. q! ^2 b+ G                          set x ( 0 - Wid / 2 ) # z/ ?$ d8 {# E7 ]8 _! D  w
                          set y (0 - Dep / 2 )  ]6 E# N9 u& V! V' r4 S. Y( C
                          set d int (c / 5) * 5& a* _, ?" b) f/ P& }- h1 q+ h# a
   setxy   ( xcor-of turtle d + x )
( i1 n% M4 l) P3 z3 e           (ycor-of turtle d + y )
6 k- k8 ~) D& E          9 `# z$ G5 J# m5 Q# K
            0 d- s+ N& P# u7 y4 Z
if (remainder who 5 = 3) [set k who9 ]- b) a! A" H$ X) L0 }
                          set x( Wid / 2)  ' E' J* |3 {0 _! l% h: @
                          set y (0 - Dep / 2 ) ]- n$ @/ V1 \+ O9 r4 y, l
                          set f int (k / 5) * 55 h& [, J* w/ `( `1 q. ?* J1 V9 p
  setxy   ( xcor-of turtle f + x ). Y% E0 {3 l, S$ X& [# ~( L" x
           (ycor-of turtle f + y ) ) K6 g( }# l% z' v* N8 _9 d
           ! J# L. w8 n4 i: t
           ( q5 s# Q7 u9 J9 r7 T
if (remainder who 5 = 4) [set g who
7 ~1 m' S2 {: E2 {& \; @4 v2 _6 z1 f                          set x Wid / 2 : O4 x+ \0 g9 I9 N, W( O& P8 i& M8 Z
                          set y  Dep / 2 ]
' i+ c8 E( m7 e0 ^" u( N0 _                          set h  int (g / 5) * 58 o% J5 v# a) F7 R4 P0 g6 G
  setxy   ( xcor-of turtle h + x )
7 x5 H0 s* }+ w4 `( L           (ycor-of turtle h + y )
) g1 v) X" q& `                          ( K' O6 J! e0 \# R* Y7 E! G
                          ! C5 N4 G3 K! b# s' D1 n
                          ]1 M+ Z/ r3 v/ Z$ d) h) I
end
4 F4 L  H7 J: W4 m8 s8 a7 D/ {7 I) r2 C
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
  T' i7 W1 K) U应该是4 L- n% L) U( S6 }$ k, b5 w
ask turtles [
; s% i6 m9 T- v! Jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
1 o" b3 o' ~; f& `                          set y  Dep / 2 & F6 w7 y* U  T& z
           set b  int (who / 5) * 5
2 k1 a: Y  r3 v0 T6 _0 p9 T. T    setxy ( xcor-of turtle b + x )
1 h) A* S2 j. B5 `# k" S          ( ycor-of turtle b + y )]]) g  m- `" I0 _0 K0 w
end  E& s% t; G# @& E8 j
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-5 06:03 , Processed in 0.016498 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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