设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8644|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。  u* y1 q& b( `1 y; t/ w9 K. i. I1 d
. L$ A+ R8 h( q; ]; @2 C
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! T# }$ v. V& z

* w( ^7 w* w0 m; Z& Lturtles-own [a b c d k f g h
7 P* ^( w$ A- H$ }: I, N  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
# y% k0 s4 P# L7 K]4 I- S. A7 y1 o* q1 c9 w: _# r
to new& i) @8 ]) ]: Q
  ca' Y0 ~# p/ S6 g* X4 L( K# z
  crt 5 * num_of_building
; p  N$ V0 J: w/ X; s  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 j& G+ `" z6 ^" G3 ^2 i5 N+ ~  K
  scatter     ;;keep center-turtle random positions
+ O* R4 |: Z/ Z- p- Q  unit_plan   ;;make up the building plan: a8 X  B# G5 h$ H) @
end. V; }& R* G' W) y' a
to scatter5 C, T( [# m0 D) @. ^
ask turtles with [remainder who 5 = 0]
4 J7 @( W" q* n$ ~1 o5 ][0 w! O) H( u2 D6 T" Q
set xcor xcor - 6 + random-float 15
% }; O6 w% r1 R- D! J+ ]' C9 ?set ycor ycor - 6 + random-float 15
0 P& o4 M7 q* e- h& p9 h6 e]
) l- R* n( V) S9 [) a% @% g9 S4 ^end
1 f# O0 H* o3 ?) I" \* Ato unit_plan
8 Y9 {: f, {2 o' J' ~* s8 O' G  ]ask turtles [5 _; h+ c9 N1 h
if (remainder who 5 = 1) [set a who 4 ?, X. R. @% ?4 i5 ]8 _. `
                          set x ( 0 - Wid / 2 )
3 G  e- Z1 S' W  `7 @) ^( F; r: ]                          set y  Dep / 2 ]
1 y5 f3 k- u% v( Z, z; @$ v2 X. v           set b  int (a / 5) * 5! k0 Y8 A! f3 J, q* q
    setxy ( xcor-of turtle b + x )
: _3 o- R- x7 \9 m2 P4 S          ( ycor-of turtle b + y ). C0 F0 u& {5 L
if (remainder who 5 = 2) [set c who
5 R0 X5 c! {/ k1 V, q7 G6 V. I                          set x ( 0 - Wid / 2 ) 1 e& y& t  Z1 Q
                          set y (0 - Dep / 2 )  ]
! q& ^) g4 ~) A+ V& T                          set d int (c / 5) * 5
. I- u3 E+ W. k3 E4 L' g   setxy   ( xcor-of turtle d + x )  x# \8 n: H. e) ?2 Z+ {
           (ycor-of turtle d + y ) ( O- N, u) t3 Y
          " c  T. D/ [8 s, R, f
            
3 T0 K  X; F! N- \  [! \6 z7 ^if (remainder who 5 = 3) [set k who* n3 x- }3 \. Y+ a3 k5 X
                          set x( Wid / 2)  
( k) Y' T# h8 q9 j                          set y (0 - Dep / 2 ) ]
. A! _9 b) t7 ~; l$ u0 V' }                          set f int (k / 5) * 58 L. E. V5 a2 D7 [3 r
  setxy   ( xcor-of turtle f + x )' e3 _, p7 F' p, v% [5 }# I/ Z) Z- v
           (ycor-of turtle f + y )
8 t. G9 U& V1 _0 a3 s           
& I! I5 a4 L$ z! u; q4 l# R. |           9 R' h! |  i! g. F3 @% ^
if (remainder who 5 = 4) [set g who: V6 A4 q1 d+ s: d
                          set x Wid / 2
0 Q1 [7 Q1 j3 E# k# ]' O                          set y  Dep / 2 ]
3 B5 l$ M" s+ [/ ?3 f  Y; F6 N                          set h  int (g / 5) * 5
  e: i* g0 ?  Y  setxy   ( xcor-of turtle h + x )
7 `5 j1 N0 r  e6 s0 k7 y           (ycor-of turtle h + y ) 8 s1 o" r* h8 G; {/ P8 R% U
                          
5 i5 x2 W" o; w4 P0 I# [5 x) [: g                          
6 ^6 o+ j( m( X3 B9 T                          ]
# X  B/ U0 j9 g1 [end
  U+ s% A2 a4 w6 m5 `, w
- B8 G1 l2 g+ h0 s3 y[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
( S5 q2 K) s5 n( \$ m应该是$ b6 N) M' R; ^0 r; |  a8 G
ask turtles [  I0 J, X- ]. K2 m& b. U; j
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
, ]7 D" v6 s) g% v. \                          set y  Dep / 2
! J" }. w& p4 o* S           set b  int (who / 5) * 5
, R3 `8 s  Z, V' i% T    setxy ( xcor-of turtle b + x )$ A( q# h& w  e* x* U- A
          ( ycor-of turtle b + y )]]$ F: n1 B4 ]+ u7 H) D
end1 u# W2 P' c4 ^1 G# _5 y$ s
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-19 14:28 , Processed in 0.013818 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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