设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8649|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
" D1 A* z$ H+ ^/ V% W2 C
: e7 X! j- u5 u; m1 J! |5 h但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。2 t" s$ v( w/ p) U# D2 K1 ^* f
% n# G: ^, n+ w
turtles-own [a b c d k f g h/ {4 I6 f: U2 i3 @2 d+ ^' V0 A
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
4 J' |% {+ ]. j, B( M]
$ T/ Z6 p" z3 zto new
$ |# Q8 R1 Z: Q  ca5 m6 O9 _6 k+ ^' D- E7 B$ R
  crt 5 * num_of_building
7 [) o1 x3 I. X9 c0 R  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
4 o! o4 l+ U# X$ U  scatter     ;;keep center-turtle random positions
+ I" M/ ^$ _! z/ f3 U' @! t; v: z2 k  unit_plan   ;;make up the building plan, {' X, ?5 \  P: L. ]' S2 k$ w# b
end" P: O' N9 p5 h+ i- \1 v
to scatter
/ m) V0 ?/ Q' [: a. ?$ fask turtles with [remainder who 5 = 0]' m; s# ], T* A/ o4 o; l  t. u
[
, m, C! Y1 l: }set xcor xcor - 6 + random-float 15
. }* `4 `5 C3 m& Zset ycor ycor - 6 + random-float 15
% ^1 r6 V- p) p]# Q# \4 z4 N' Z. k
end0 H/ V# \8 B% u0 d! x# }: z
to unit_plan
7 Y4 D! e# X& k5 @ask turtles [+ K6 _! k, O; x
if (remainder who 5 = 1) [set a who * _. D; P( d8 Z' B
                          set x ( 0 - Wid / 2 )
/ b0 o/ H- f/ c/ h6 u7 i                          set y  Dep / 2 ]
: E/ f9 p0 }, k0 \           set b  int (a / 5) * 52 R/ H/ y7 Z! Q$ S. y7 l# t, R
    setxy ( xcor-of turtle b + x )1 o% u' |6 x3 L6 i" r
          ( ycor-of turtle b + y )
% M& U2 c4 k! q/ Uif (remainder who 5 = 2) [set c who
6 Z5 e- h5 E0 X3 h8 H! Y+ y                          set x ( 0 - Wid / 2 )
; U5 S( {, ]# T0 d                          set y (0 - Dep / 2 )  ]7 `/ [6 k4 p& K7 v
                          set d int (c / 5) * 5
5 K3 G6 _6 z! e8 [; M( D   setxy   ( xcor-of turtle d + x )
6 B: Q7 _; c" u# m           (ycor-of turtle d + y )
$ E% G. l. U) e) k4 u          2 a, b  d7 l4 h$ u5 [
            - O9 a* J5 d+ S* K! J! s
if (remainder who 5 = 3) [set k who
+ U4 w9 d2 i$ U- O                          set x( Wid / 2)  # E! L" c% `7 |0 N4 }& G6 m8 r' o
                          set y (0 - Dep / 2 ) ]
. g3 @) ]  Z! w! C7 G8 r+ X                          set f int (k / 5) * 5
  v+ ]9 o$ t+ ?4 _  setxy   ( xcor-of turtle f + x )
+ Y6 _9 ~* c8 |3 z           (ycor-of turtle f + y ) ; ]+ d% k+ i& ~9 H& M5 N: }
           
  v8 U( W( \/ ~; @  {0 U           
  u7 O$ e9 ^) v/ E+ G  zif (remainder who 5 = 4) [set g who
1 d1 N0 {2 q: c! y0 w, ?                          set x Wid / 2
: i1 ^! U* I5 z/ R/ O                          set y  Dep / 2 ]) P; m* f# x3 W
                          set h  int (g / 5) * 5, O, i9 `% c% h2 u: ]
  setxy   ( xcor-of turtle h + x )
2 u# R5 I6 G, v. \5 S           (ycor-of turtle h + y )
6 {; k9 @4 Q8 G( D1 ]( D- t  I( a                          # l" H: j. x7 u: D
                          
) x  I, `1 |2 a: h% F  a0 ?                          ]7 v5 ]: P/ w/ X1 k
end
- r  t, M2 c" q8 z3 a2 l# p- W. [/ \. o* W: m! Y: L1 g' s  {
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- f6 `* W7 g0 x: M5 }
应该是) o8 j* w( A. W( p* D
ask turtles [5 I$ K: u8 j0 {" z& d& R
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
! w- y+ \  m( U                          set y  Dep / 2
& F' @. T; S+ Z: S' y           set b  int (who / 5) * 5; Z1 ]' x2 |! W" W
    setxy ( xcor-of turtle b + x )
6 u  o/ R! U* E9 u+ l8 t2 X          ( ycor-of turtle b + y )]]
% U6 S, z. P( \# D. gend
: z* r- e- ^* m1 j之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-19 19:06 , Processed in 0.014974 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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