设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7757|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& h  T6 L; h, }7 `- }8 j
8 G+ ]& v7 N( Q
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
  U: t# U% ?* l6 H* m& i: e  ^9 g3 O9 q' q4 j+ C
turtles-own [a b c d k f g h
# I- F0 m* S1 J& m  x y     ;; these are the leaf-turtle's offsets relative to center-turtle * k& c0 n7 J, C: G( T  e  D' Z
]
- c9 _8 T# t% l: u; K5 c+ Q( bto new
1 N5 ]5 C2 F( L. G6 P6 q( o2 F  ca! ?7 U, v, d% s3 j. H5 c# C# `
  crt 5 * num_of_building! B5 A1 |1 X( i( h. {$ R! }. w& J/ T& A
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]3 U- M8 x" [* T( F4 |4 V
  scatter     ;;keep center-turtle random positions 5 O3 L7 g7 ~( S& @
  unit_plan   ;;make up the building plan' S7 ]* C/ H+ }2 ^: F  ]
end. @/ I; K4 n1 F' ~1 M' {
to scatter
6 R4 Y$ U& i' j" h6 ]* A( Qask turtles with [remainder who 5 = 0]
+ z+ w& ?6 R, T+ \[
% N& t. U/ ?! G0 v  S( {set xcor xcor - 6 + random-float 15
6 j! v0 w, B" U  R/ |1 j0 K& mset ycor ycor - 6 + random-float 15
6 }* u! v+ B, r( i, C. v]3 O% O/ a+ ]( L$ o7 e6 H$ U+ q3 V
end) `7 @! g. \* L4 p% C
to unit_plan ! H: v7 T) L; O! T4 L
ask turtles [. n3 R( ], h' O" z0 r% O+ d: ^4 D
if (remainder who 5 = 1) [set a who % G, G3 D, r4 |8 o0 R3 y( ?
                          set x ( 0 - Wid / 2 ) " J+ Z8 F; k* `8 E2 o! F
                          set y  Dep / 2 ]
' A# B/ J# ]' Q# J/ e: p$ B$ k           set b  int (a / 5) * 5
4 T+ G: A& |: ?6 N    setxy ( xcor-of turtle b + x ): s! ^2 E+ `) J( Z$ z  D
          ( ycor-of turtle b + y )/ A; y% z- K3 ]) J; R8 m
if (remainder who 5 = 2) [set c who
, i6 s1 J# Q) k6 N, r# c' o                          set x ( 0 - Wid / 2 )
7 N0 ?8 R0 a( j/ k8 D$ ~7 [2 \2 ?                          set y (0 - Dep / 2 )  ]1 @3 v9 N) R3 V. u' P. ~
                          set d int (c / 5) * 5( w: z2 f* s" |9 {) r# ^1 ^
   setxy   ( xcor-of turtle d + x )
8 \4 c  Q9 k6 j0 d9 i2 L4 g) X- ~           (ycor-of turtle d + y ) / `" D, ]% N8 E) F2 c! G
         
5 r, h& ]% _9 k# R: V            
% l5 |0 }6 q' h& J5 X! C4 `" dif (remainder who 5 = 3) [set k who
# ^9 }4 c. O3 ^" \7 g6 K: B6 `                          set x( Wid / 2)  $ F4 ?. M* T8 v0 b. ~
                          set y (0 - Dep / 2 ) ]
+ _! z  _# L9 R9 }- T! B                          set f int (k / 5) * 53 G) ~9 J1 M$ m5 S0 ?
  setxy   ( xcor-of turtle f + x )+ w1 P9 t, R7 N) Y# u6 u
           (ycor-of turtle f + y ) 7 |) e/ F8 c3 n9 V6 [0 \
           
8 _% K& W+ Q9 q9 x9 m# S2 r           
* Q9 d6 v7 k' v8 Lif (remainder who 5 = 4) [set g who6 I$ A4 ^, K; M2 a. k% t
                          set x Wid / 2 2 r/ m/ Q0 R" {: _0 e! b
                          set y  Dep / 2 ]- d' O( o  _: R; {/ i2 N8 l
                          set h  int (g / 5) * 5# b6 a, E7 l% v+ n
  setxy   ( xcor-of turtle h + x )
% G& S  @; Y' h/ K2 E# {6 @+ Q1 o           (ycor-of turtle h + y ) : E1 n' M3 k' q* ~+ j1 @
                          
: t3 `6 |/ t$ j  k) @! z' U                          1 Q) r6 W; _/ ^" j1 |1 E) r
                          ]
. w% R7 e9 Y% q+ G7 A8 Q5 Wend
) }  r5 {# V( J' u# M8 ^( R8 `7 u  z: B) v  `3 }$ m  n) h
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
5 i( `0 H9 u5 ?/ [% Y/ w3 q3 ~) ]应该是0 K/ H6 u4 \2 K
ask turtles [# Y. T" [% ~& B7 B
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
! f5 G, Q, _5 `8 d. f- v                          set y  Dep / 2 3 g. N, h, x) w# z! @0 O
           set b  int (who / 5) * 5
+ k0 K' f" ], G( B- u5 b; ^4 U    setxy ( xcor-of turtle b + x ): x9 K/ M' }: x/ b
          ( ycor-of turtle b + y )]]
* J0 u0 @% v  ~; Tend# S- Q4 q/ p9 X6 W( M6 I: G
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-26 17:41 , Processed in 0.019802 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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