设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7872|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
! p, g( T% @* h" ^  p. D/ U/ u- X+ o4 W' e  p
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
: I. ~1 n7 G: p1 g$ v+ N, M- P+ F+ Y+ r3 ~9 C
turtles-own [a b c d k f g h5 F" \0 N9 }* \, q. B2 G
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
9 }' j# ~5 {4 L/ z# c; T( K. v: |]7 ^% Z3 D7 G5 a7 ~7 H# V, C7 ]
to new
$ ]) E. r5 r6 |5 @8 v  R4 @5 F  ca7 C% Y* k" u! L4 \; g6 l% S
  crt 5 * num_of_building
5 M3 C( h4 |+ r% Z  D  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 t# U2 h  g3 f( S2 n- C
  scatter     ;;keep center-turtle random positions
( w7 g2 t7 k& a: w& q6 S" c  unit_plan   ;;make up the building plan* X9 p/ P2 }: a: [, S! ^
end
! O# _4 q' d/ Bto scatter
$ x# b; Q7 l$ i0 W) }% s7 Mask turtles with [remainder who 5 = 0]# M+ n0 A8 ]# W+ i
[
# s$ Q0 C9 L5 t5 T+ uset xcor xcor - 6 + random-float 15
5 A3 g4 i1 Z9 b% b+ Q1 e4 Jset ycor ycor - 6 + random-float 15: @2 @3 W/ G6 C) _5 G
]6 Y7 a0 N' m) b; S
end  Z2 K. K, @; e& Y% t
to unit_plan - |, n" _& ^7 K% P0 K' `6 x% H" F
ask turtles [, r! V( \3 f) t% C# |
if (remainder who 5 = 1) [set a who
' t0 a# F; L# {7 G; e* k, c                          set x ( 0 - Wid / 2 )
3 {( c  B7 |- ]+ `; E4 g0 `% A                          set y  Dep / 2 ]
+ z: d/ K  U) y& \           set b  int (a / 5) * 5
3 I* x% l" I8 G" X5 V# u    setxy ( xcor-of turtle b + x )1 T! f  `# S. c" i  I% }
          ( ycor-of turtle b + y )8 ~  Z/ s* c$ N; E
if (remainder who 5 = 2) [set c who  j7 h8 w# {6 Q6 C
                          set x ( 0 - Wid / 2 )
- f7 q( [7 L4 S9 F. T" B) e) |                          set y (0 - Dep / 2 )  ]
' G4 R/ E) C; x3 \! U8 f                          set d int (c / 5) * 5
& ]9 n# b" H0 m- P4 ]6 J7 M   setxy   ( xcor-of turtle d + x )! ~' r' c, w/ Y  `
           (ycor-of turtle d + y )
6 s) U7 I; h: Z/ A7 h9 |          ' B" {' q9 U. ]
            7 e2 C7 K/ p8 O( p* ?
if (remainder who 5 = 3) [set k who
+ Y7 R4 W# b7 d0 \0 J3 N/ v' ~                          set x( Wid / 2)  6 |& K+ r- H; y" m  y5 K
                          set y (0 - Dep / 2 ) ]8 O) l2 y- D6 H% E& l# ~- E: p) J# ]
                          set f int (k / 5) * 5
% `& h( ]2 W7 R) q* `& |  setxy   ( xcor-of turtle f + x )
5 W! l# c6 {! {/ R1 R) B           (ycor-of turtle f + y )
) S% J; j4 `( h+ ]' X. {. {# w+ l           % g' M& W+ R: h1 Q2 o
             I) ?! `: P) O% \/ D
if (remainder who 5 = 4) [set g who
. r; p- T4 d' z( i                          set x Wid / 2 , ~, P5 F7 i. m( _6 _
                          set y  Dep / 2 ]2 p6 Z; H5 M7 l" ^$ B* W
                          set h  int (g / 5) * 5
$ G  U, m# N+ O# C  setxy   ( xcor-of turtle h + x )% h4 x: q% J& X
           (ycor-of turtle h + y )
+ S- w0 Q8 O7 G- O8 U: V3 Y$ G/ Z  e& W                          
( v' u( C7 H' Q  H" b7 Z2 Y9 i; F                          
" w9 B7 o6 d3 x% A8 @5 u" r  C5 D                          ]2 d+ R* Q/ F+ Y: z
end
; ^1 ]7 @) r# |  J( X* d
% B# b  m8 l. Q1 A9 S[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
6 q3 [& U6 o1 t' j7 \应该是
+ ^8 n8 t4 S( a- H% K* Fask turtles [. n& h  X& y0 v
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) & C; ]; F! P5 g; f0 I
                          set y  Dep / 2
9 D# C; M* _  o) X$ n' b; [9 H1 v           set b  int (who / 5) * 5' k4 g& `. w0 `0 V8 h( c4 ^. o
    setxy ( xcor-of turtle b + x )
- [" W* c; {$ N3 X- j          ( ycor-of turtle b + y )]]
0 [2 Y% A5 k* y; Z" wend/ q/ M; y' s9 r' Y! i4 S' f
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-13 10:41 , Processed in 0.019681 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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