设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7008|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
8 z0 v" t6 |2 z
6 R, P9 b: `$ p& |4 l, }/ u: \- s但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
1 i) {) o2 d5 ]0 v
9 _, h/ F7 |, @* H) w7 e& ]7 y9 m4 D% `turtles-own [a b c d k f g h! P, D1 T; L: K, D2 ^7 ~0 u
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
8 g* V. s& i0 M$ u* z& M]
1 P: j, ~! N/ ?3 uto new$ a0 d3 e  g9 k  X3 S4 ?9 }
  ca
0 ~$ |0 i! u' Q( p8 y. E  crt 5 * num_of_building
8 K0 E) ?1 C( d; C2 P  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]/ i, `+ D% u# r6 K' `7 p
  scatter     ;;keep center-turtle random positions . j3 p. m/ T4 b- C2 s- U
  unit_plan   ;;make up the building plan: y9 @6 L. e, M- w
end. W( h  P4 U" l8 V$ q' }
to scatter
" l- }; t6 U" Y$ uask turtles with [remainder who 5 = 0]
. V! i; |& q* C7 m[, W7 @+ T4 M' O; g9 M$ }( a
set xcor xcor - 6 + random-float 15& f5 \. q# j+ o) N; {2 f
set ycor ycor - 6 + random-float 15( ]7 d  U# Y2 ^( P1 m4 f  O
]
( \- E# E7 R! K4 G- ?9 Dend8 u% c$ X. W3 J) T6 A
to unit_plan 1 W* p4 B) a$ }) c8 D
ask turtles [
: f" H7 G, _9 T9 n# J- {6 _# uif (remainder who 5 = 1) [set a who
+ O; c% j+ O) ^7 \$ g                          set x ( 0 - Wid / 2 )
, }0 \! W) q+ v0 j                          set y  Dep / 2 ]% Z6 F" r" y, e
           set b  int (a / 5) * 5
* Y$ a: N: J& c/ E  g3 n! p    setxy ( xcor-of turtle b + x ). g; F2 j0 k% z: x( V/ B
          ( ycor-of turtle b + y )5 ]0 C- O; W- D+ L8 ^. ]1 F
if (remainder who 5 = 2) [set c who) ^& M1 o8 @( d
                          set x ( 0 - Wid / 2 ) 5 j9 `+ u+ M. H
                          set y (0 - Dep / 2 )  ]7 d5 J! b8 y4 ]3 Z: q
                          set d int (c / 5) * 5
  w$ Z2 q7 d& h2 ~- ^3 w8 o   setxy   ( xcor-of turtle d + x )
/ I0 c0 P9 k* S3 }& z  e3 a5 B           (ycor-of turtle d + y )
1 D! }) S+ p  R9 [/ y9 z" U6 j            f' @, p5 m; B5 d  n
            * Y5 d2 ]# b  {: X  b0 u( L; G5 c
if (remainder who 5 = 3) [set k who/ O3 t& j; c1 C" d
                          set x( Wid / 2)  ) Q, M! x6 `% _0 h
                          set y (0 - Dep / 2 ) ]
% o  F. H6 o' q! p2 ~                          set f int (k / 5) * 5
4 ~" {6 t' x+ W" t" ]  setxy   ( xcor-of turtle f + x )8 r% i( s  v5 _: e0 y, [6 r
           (ycor-of turtle f + y ) 7 g2 A, h% M2 f  j2 J0 H8 \3 n
           
: y: ?. A: K3 X( ]  [           - X+ A' W1 w! j0 m: m
if (remainder who 5 = 4) [set g who4 h+ `' X& w5 Y# k. A. R& ^8 P5 X
                          set x Wid / 2
5 s3 y+ P$ W& I5 {. j  y* b                          set y  Dep / 2 ]- ~5 s- i2 `7 M0 |7 Q8 L. r) U
                          set h  int (g / 5) * 51 A+ o  m9 ^' o. t8 D
  setxy   ( xcor-of turtle h + x )" Q, e  I" d+ U& K! _  k5 ]
           (ycor-of turtle h + y ) ( ^1 v2 R8 A# ^; O
                          1 F# ?0 o( A7 B, l8 `: {
                          
; }( m; R# G1 z9 v: j6 H' a5 [- D                          ]$ L' t) _; I7 V! d
end
- k$ q2 l5 @, [3 y1 N$ K
1 o: l" l& w2 Z; G" V, Z3 U0 E% s[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,1 C9 q! H$ A4 W2 P3 _8 Z
应该是  q; J) t+ ^' T6 F. a
ask turtles [, y+ Z; Z* [) E" ?: Q4 C" v
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 |* q, U  q! Q) x* S: s7 o                          set y  Dep / 2
, z1 M0 s+ o9 a/ o$ d4 B2 r           set b  int (who / 5) * 5. W: V& P. Q) T; ~5 {
    setxy ( xcor-of turtle b + x )
4 C" X5 T/ D7 c, R8 c  U& R          ( ycor-of turtle b + y )]]+ e1 s8 Y# q# N1 N8 \' E) X6 F
end
5 `  J+ a" H( d# {8 n之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-17 12:27 , Processed in 0.016904 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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