设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7594|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。$ Y& O1 j) I' S3 U3 q  j
4 C' W& d: Y0 a, e2 n
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。( Y" Q5 [( I7 I) _# Y5 S

3 C" A7 k+ b3 B1 E7 {turtles-own [a b c d k f g h! ~  D' L# p: l7 I
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
' y$ {7 Q  b9 S: x]& N0 S7 k: v. A  G# ~4 d5 r
to new0 {* z1 N& u1 n$ U
  ca! F' t* |$ s8 z) N6 f* G
  crt 5 * num_of_building
" h4 I. I1 A1 y, x. w/ y# `3 \  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]  g7 {+ q, O( {" ^7 p; o
  scatter     ;;keep center-turtle random positions
7 g) G" G/ k3 ]( A. y, g  unit_plan   ;;make up the building plan
5 x4 F  i. z! L, \9 Lend
% C3 ?; T- ]$ }5 bto scatter, I  N8 H5 n' c) r2 K
ask turtles with [remainder who 5 = 0]; _* G6 j8 P0 B, S( B6 r$ Z2 F
[9 n/ u* c9 {3 j
set xcor xcor - 6 + random-float 15, Z' s# p2 `- u: C  Y! S
set ycor ycor - 6 + random-float 15
' G( k: L) Y/ Z% [) _& T0 T]# F. W, V$ h( A0 l+ e( F& `% O- S2 @+ Q
end& W  ?3 z1 @- ]2 F
to unit_plan
+ ^7 L3 }2 a0 Z; aask turtles [( ~  N: y1 L1 I+ w$ M# b
if (remainder who 5 = 1) [set a who 9 ^7 L" ?% ]( G
                          set x ( 0 - Wid / 2 )
* i, h5 s# E2 e: _$ t4 @                          set y  Dep / 2 ]
# x" _  a- a) [" p( S# {" E           set b  int (a / 5) * 53 x) _6 w( ^9 `% O
    setxy ( xcor-of turtle b + x )
" Z4 h# B$ }5 D$ G          ( ycor-of turtle b + y ). D: K# E' Y0 C3 t) u. l" Y
if (remainder who 5 = 2) [set c who, ^& }/ r. U4 R  }: A4 O; |; K
                          set x ( 0 - Wid / 2 ) 8 S% u4 R* z/ W3 e- u2 i
                          set y (0 - Dep / 2 )  ]: ^4 Z7 o5 F; s# c( A/ h. A( b! X- q
                          set d int (c / 5) * 5$ U! L' L) p/ z9 z! a
   setxy   ( xcor-of turtle d + x )
5 Q: u. l5 H  T) l/ H           (ycor-of turtle d + y )
4 P6 `1 _; U9 {: w: w            r' A. Y8 q+ n9 K* P' j1 P
            ! V5 Y) r: M; k2 i2 O
if (remainder who 5 = 3) [set k who9 I8 n: b* b& @+ q6 ]
                          set x( Wid / 2)  
3 U& R" C* c. g8 w6 U+ D$ k                          set y (0 - Dep / 2 ) ]
$ l7 v" P+ h8 \, \" P, N/ U                          set f int (k / 5) * 5
) ^* f1 X1 X4 b+ @+ H, w6 z  setxy   ( xcor-of turtle f + x )* k6 ^: g2 W; v0 a2 K# ?3 @
           (ycor-of turtle f + y )
$ y, V2 n: _4 s1 \; e' r9 H! q0 B           
& M% a8 z6 b% e* i8 ]1 r           
/ |( z8 d8 l  x8 |  [if (remainder who 5 = 4) [set g who
" \# ^) U$ r( |/ M                          set x Wid / 2
, l4 G) s! ~2 T3 q$ \                          set y  Dep / 2 ]
/ d! v% a0 _$ x4 m# [1 a* Y                          set h  int (g / 5) * 5
4 p, Z" Q7 @. v7 i  setxy   ( xcor-of turtle h + x )$ O1 `1 h1 |3 J7 p
           (ycor-of turtle h + y )
' x& s/ F% Q9 z# z* V! p' K                          6 |0 w* ?: p& E) f2 h+ i0 k( w
                          
9 l9 F! S+ Y! W2 V* f9 S                          ]" {% P2 w2 V5 o' O6 ?, E
end4 N3 H+ i. Z. \  R, Z, ?5 _
- S9 Y& \- g# M) L
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! H7 U" o7 j" {( W% c9 ^
应该是" e$ _- w* N% j/ J9 ~2 P) k6 d( Z
ask turtles [
  C* v5 U& [4 p) ^# V6 [$ hif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
9 m0 K6 R) M$ O4 |, l. n" `                          set y  Dep / 2 - E( z3 ~4 \$ S  I
           set b  int (who / 5) * 5
8 P5 |6 P8 R/ J* t, o    setxy ( xcor-of turtle b + x )& ^' Z# r" Z& j% V2 x! G
          ( ycor-of turtle b + y )]]
- M/ v6 d9 B% j$ A8 Gend, n  d& W% t/ g
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-3 01:04 , Processed in 0.018863 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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