设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7682|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 x3 a, M$ B2 b

0 c6 ?+ x) w/ e5 S但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。9 h, W7 ~- f- {! D  g
% ^! |* N9 N( t
turtles-own [a b c d k f g h5 C6 T, L: j' _
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
  v3 A4 o( m7 b! t, L( V]
5 S" c: \% @7 f, Y# m) ]7 Gto new
2 Z% G! [5 f2 ?& _  ca  }$ G  j/ E4 T3 o
  crt 5 * num_of_building8 x8 k0 @! l! ]# A% |
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]) H$ R, N. z1 z9 v  T6 ~
  scatter     ;;keep center-turtle random positions 5 s3 t  T3 d4 ^2 `) e/ J
  unit_plan   ;;make up the building plan
+ F3 }, o7 K8 [( s/ a4 O' Lend) h- X  B! J+ k! }
to scatter0 @2 `! y) i3 s3 P  I
ask turtles with [remainder who 5 = 0]' {% Z: X0 T0 p" w
[
' j/ i( W( r" s5 Dset xcor xcor - 6 + random-float 15# S) I; R) y; a  _6 s6 `
set ycor ycor - 6 + random-float 15, A6 z$ L; J! j9 h
]- g9 `8 ^2 F4 {, h& R
end
& F# ~* z4 t" \% x9 sto unit_plan
8 J7 f0 h! R2 U8 |& m! F+ @ask turtles [. x5 f5 x& d& g  s1 u  U& ?
if (remainder who 5 = 1) [set a who 6 y$ X7 V2 S# D' z. j
                          set x ( 0 - Wid / 2 ) 4 q, e) Q6 z( L0 I" ^7 }# l: G
                          set y  Dep / 2 ]8 C6 D  q- r' [: z1 J- z
           set b  int (a / 5) * 5
0 z, U( p2 c! W) [    setxy ( xcor-of turtle b + x )9 F' L% s1 g; m: i/ H
          ( ycor-of turtle b + y )
* G% }9 w' W% {! E8 O3 Tif (remainder who 5 = 2) [set c who0 r9 F2 S& b" u7 M8 D$ f
                          set x ( 0 - Wid / 2 ) ' W" u5 c( W) N+ z
                          set y (0 - Dep / 2 )  ]- q3 b; ?- o2 P' E1 T- P* A: p
                          set d int (c / 5) * 5
# |& N7 |1 ]- f- {7 P   setxy   ( xcor-of turtle d + x )
5 V0 Q4 h. h' H' z, C8 {; k& u           (ycor-of turtle d + y ) ; M# w9 Q5 {/ O2 [0 j7 G
         
. W1 V% A& C, h2 u7 c            / Z, s  f0 M! O5 P
if (remainder who 5 = 3) [set k who
2 D2 ?7 v: K' P: ^) G                          set x( Wid / 2)  
- z3 U1 H5 F* }! R: d                          set y (0 - Dep / 2 ) ], {8 K) q/ v% b7 |7 o" Y) A
                          set f int (k / 5) * 5
; G  k) z* E2 @* q8 J+ b6 @  setxy   ( xcor-of turtle f + x )) r9 f; i# b( M
           (ycor-of turtle f + y ) % R. o4 ~5 B# T: I
           % D8 f! E1 A; s  \- c1 f6 M) g2 Q
           + S* J1 C1 o7 @2 E0 v
if (remainder who 5 = 4) [set g who
2 e" e# W+ n0 J: \  Q$ U                          set x Wid / 2
9 {' D, o" `  H+ v0 m; g                          set y  Dep / 2 ]: F* e0 O1 n& J! `! d6 ], H7 a: @
                          set h  int (g / 5) * 57 q4 b; C# u* I5 w" l
  setxy   ( xcor-of turtle h + x )
& ~6 d/ ?! h& c1 p, K( t! n% L4 F! X1 J           (ycor-of turtle h + y )
6 h& G4 D3 y$ O7 `! Z                          
) r2 a# c7 p) _% g; M                          ) n2 T* P, G  c! d% n5 n
                          ]! J, m3 d' a+ [5 q; l( |% d
end8 C, P) Z2 S6 m7 \/ ?
5 u5 }# A" X* \/ L4 O8 j
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,6 X. ~' I0 O: b4 H0 r- }# l
应该是
0 _" h0 V/ C, s/ x# \. u' Pask turtles [
. ]4 v. F  Z5 Kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 3 @6 ^' c+ |; d8 U2 _% S; H7 |
                          set y  Dep / 2
' q' l, ]$ p$ S% K           set b  int (who / 5) * 5
' K& K+ @4 [' ^$ o* Q4 }+ @    setxy ( xcor-of turtle b + x ). A- B$ `3 |2 a1 f4 T
          ( ycor-of turtle b + y )]]0 f, r6 G7 ?& v9 K6 f
end& n4 A7 e& c) d; o* L
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-13 20:49 , Processed in 0.020885 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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