设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8807|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。9 H' V4 t, E3 C3 @* V0 K# ^
" C+ X$ F) `/ q6 o& N
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ X* w7 f8 p7 I. K9 m

! Q% V9 A% ^' c8 Nturtles-own [a b c d k f g h' m6 M4 [. u" o
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 2 |' `3 f! A( d# t
]% z- G, Q( m6 {1 ~- L1 ?
to new
$ l9 N7 x1 B' D2 G4 p  ca
. u; H, K, D4 G' i8 w  u  crt 5 * num_of_building! w" q% u# G" L6 c
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ i1 m, G2 l3 P8 s
  scatter     ;;keep center-turtle random positions ! O5 H, B: s: o# ~7 p7 N( I0 q7 J
  unit_plan   ;;make up the building plan
% e+ ^' S) c4 G6 K/ V0 oend$ Q: H: g9 o; u/ `- B
to scatter$ K9 X* f9 C; j+ g
ask turtles with [remainder who 5 = 0]
2 \) j$ A. _% g[0 `9 ?' U; K. x' z0 G0 u
set xcor xcor - 6 + random-float 159 G! R+ u  ?8 q! T0 z
set ycor ycor - 6 + random-float 15
6 L4 M: c0 `5 u- U' j6 s]
2 ]2 f9 r% ^# T1 \2 T5 L! O7 d" v# r) ^, _end! ^! p2 T6 v1 ^' |9 B0 M+ v% G6 N; H, R
to unit_plan 1 g' Y. R; [; u+ m! P- y
ask turtles [
: B; W5 Z8 O  d# Mif (remainder who 5 = 1) [set a who % L/ W+ B  _( ^( C/ `
                          set x ( 0 - Wid / 2 )
0 l/ E% C+ T  K! @, d                          set y  Dep / 2 ]2 F; {/ o& l3 f! f6 s, g+ r  K6 H  t
           set b  int (a / 5) * 5- N2 B0 t" F  i2 y* h$ Z( J
    setxy ( xcor-of turtle b + x )
! r6 G5 O% q- F+ M  G4 P3 }          ( ycor-of turtle b + y )
7 S2 j  y. |' \5 i# f: Hif (remainder who 5 = 2) [set c who
' O" W% f. `" K                          set x ( 0 - Wid / 2 )
- S) K3 w' g5 s, v. P                          set y (0 - Dep / 2 )  ]
7 k" [0 A% ~% v" u  c6 Q% h                          set d int (c / 5) * 5+ @+ t9 g1 h9 U2 k! G* V
   setxy   ( xcor-of turtle d + x )3 \' X5 y) ~( f4 q: L
           (ycor-of turtle d + y ) % h- Z  p' H4 v/ k
          . H% z# z3 K9 K6 A& K  u
            
* K0 c. o2 a8 x) zif (remainder who 5 = 3) [set k who
$ S, I/ t- Z) c3 f" [6 f1 i                          set x( Wid / 2)  
" X5 o# L% K- |. |* j, R/ E: T/ Z                          set y (0 - Dep / 2 ) ]
' B, Q: X* Q% A6 D. B                          set f int (k / 5) * 5
! D, J3 G- k# _- `  setxy   ( xcor-of turtle f + x )
$ |3 K; I/ Z' [           (ycor-of turtle f + y )   Y2 F  A- A, C
           - _1 m( m, ~' w" m0 Q
           * p* @9 @6 a0 N% t% V
if (remainder who 5 = 4) [set g who
7 Z1 _; ~5 g* u! x! l                          set x Wid / 2
% \% w7 D- Z& S$ q+ ^9 }                          set y  Dep / 2 ]# Z" Q& L/ a; \0 ^3 j
                          set h  int (g / 5) * 5" P. v% L; e2 L, X/ k  F
  setxy   ( xcor-of turtle h + x )
7 U& i1 n: m' e3 P" x) L           (ycor-of turtle h + y )
' x* ~. `# P( d: m4 Y                          3 {7 q3 w* h+ C4 I5 W
                          ; ?) X2 \4 Y5 e, Z$ p8 Q2 X
                          ]# z4 h9 ?* }0 P5 n& u& ]
end; \) C2 a+ ^" ]6 Y  M  n5 @

5 r; _+ f! K/ q; [; |0 h* E[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,9 E1 |) ^7 U8 d0 h! B5 [7 X
应该是
& o9 n( V  Z% Z% q1 ~2 uask turtles [  V$ L; i; `4 l
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
+ F- ^! W+ Z% q2 o. l7 |, e  X                          set y  Dep / 2 # f8 q2 k5 p5 I* U# H0 \
           set b  int (who / 5) * 5
6 u6 q8 Z  ^% h. h/ S& @9 g3 y% H    setxy ( xcor-of turtle b + x )
) R+ S: r  N' a* ~; P* P          ( ycor-of turtle b + y )]]
  m4 f7 N1 M! }# Z$ P" _& @$ t% Xend
1 C: i& ]6 }. P: K7 Z+ X之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-6 10:32 , Processed in 0.017309 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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