设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7969|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
& P: ?6 x# Q3 l6 k) A8 G- C* E) w' J3 x0 t& u
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。& ], S& w  n; v. ]8 X, ~
' G% B$ A" M% E, B' G/ h  c3 q; ?- [
turtles-own [a b c d k f g h+ ?: B) T& ^$ ]% d1 w: y
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 2 q. O( K- Y7 E9 s: G# M
]
  @2 h# M% `8 K! e4 k7 c8 kto new- @1 c, O' g' K# ?
  ca% p3 Z. X& C* j8 N5 b
  crt 5 * num_of_building
8 S% E: `* f; {3 ?' ~& J" J6 J  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
; e6 u& e; y% a6 X" o. E* g  scatter     ;;keep center-turtle random positions
, ~+ D/ O  t+ y  unit_plan   ;;make up the building plan
4 H9 s  E, f) Kend
3 k( r  E+ ?  `  L  Q  T  sto scatter
4 J9 @5 L; d( _1 c5 q& bask turtles with [remainder who 5 = 0]
1 _7 J* X; K5 O! A[
$ N/ _1 B. p/ A( B6 Y1 lset xcor xcor - 6 + random-float 151 ]% z2 G. p& O! r6 L
set ycor ycor - 6 + random-float 153 ^8 C2 u4 a: |' A( t. Z
]
. E- q  j8 n. ^, X* O4 lend
) s* |8 J2 E- t# D& A& z3 j1 Nto unit_plan
; v( S3 L7 n8 rask turtles [% y* d! x( `2 g' I
if (remainder who 5 = 1) [set a who 5 z% A& |0 m0 s, f: U
                          set x ( 0 - Wid / 2 )
: b& R( y* a/ o- q7 `! {                          set y  Dep / 2 ]
! Y2 F1 L% [' ^. J5 S- c# r, ^           set b  int (a / 5) * 5& q) q" b( z* s7 D+ @+ s& U+ D! _3 f
    setxy ( xcor-of turtle b + x )8 S1 k- v' i  |# S! ]  J4 r
          ( ycor-of turtle b + y )
* L' K# H" t( Z3 n9 zif (remainder who 5 = 2) [set c who
6 p( a% }* N8 M4 _" C; M                          set x ( 0 - Wid / 2 )
( }. E- {5 I+ g/ i1 s                          set y (0 - Dep / 2 )  ]
* F: R7 C6 v: @8 i3 K! G* `                          set d int (c / 5) * 5
3 `6 D8 `) q$ T) ~   setxy   ( xcor-of turtle d + x )
  r& j! S/ U  D# U/ H           (ycor-of turtle d + y )
# n+ ]" F  |" j# T         
$ N4 t; O- H! z0 g9 t+ W! n            
3 s8 D9 b; e0 `6 y, U. ]if (remainder who 5 = 3) [set k who
: k4 P2 Z( A1 A5 V                          set x( Wid / 2)  
8 _  |& N, \: i6 d  {3 a2 Y                          set y (0 - Dep / 2 ) ]5 l' t$ x: ]8 a4 n0 [5 v
                          set f int (k / 5) * 5% E8 B& ^- j/ X8 i9 Z
  setxy   ( xcor-of turtle f + x )
  T. h/ M, h" f5 ]7 \+ m           (ycor-of turtle f + y )
- G3 A! E1 V& Z2 s3 i           8 ?' ^# M1 ~7 X* r& o
           8 u2 `# c) u# q0 S! K! m
if (remainder who 5 = 4) [set g who! n, z1 u: h& t3 s$ W4 ]
                          set x Wid / 2
1 C  T! \  x& `" Q$ f/ w                          set y  Dep / 2 ]
! ~8 ^8 }: c/ ~8 u                          set h  int (g / 5) * 5# t- x! H! s$ `9 u
  setxy   ( xcor-of turtle h + x )
( A6 @* z1 O& g+ x* W5 r" F           (ycor-of turtle h + y ) * M" s! I2 ^; i0 r
                          
+ ~' c. g6 ~, K                          
$ i' O+ H; \! y0 L3 W7 x                          ]
  e4 }- x* c* M( i0 f+ j; L6 R7 Jend6 k+ d* ]8 q4 |/ c

1 e; S, x, J5 X7 i[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
2 ]) N4 E: \3 _6 ?3 \应该是
* ]4 z$ o7 X( c) y2 xask turtles [$ O' F) x# |  \" j. L% X
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 2 t# A3 ]- {% U. Y1 F6 v
                          set y  Dep / 2
& G+ r! \1 M' o% _           set b  int (who / 5) * 5$ S0 O' o) }  n+ T9 c1 O" O
    setxy ( xcor-of turtle b + x )
# |4 X$ U* U5 [* b% o5 j          ( ycor-of turtle b + y )]]
+ H: K% H  f4 t. C/ z! M' W. f4 Rend8 u8 ^7 M, H4 J* n
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-23 02:17 , Processed in 0.017355 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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