设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5027|回复: 1

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

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

- ^3 ~" c* |0 Z+ X" E0 {但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。* ?# _% v# p. X$ T% A. s0 g

2 [6 h! m7 n1 y6 v4 o1 S# n: pturtles-own [a b c d k f g h  s$ o; d# k, }5 g( `( t$ |
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle   c+ ?( J  O- v6 K7 U" y5 \
]
0 n& [& j( D& g+ f4 u7 Nto new& Q; J/ r. L' `
  ca
1 e/ r9 c! ^! s) D/ I+ r* k  crt 5 * num_of_building
% R0 j  f# o0 L- ~0 J  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
3 p" m6 D7 c2 Y9 e" I  scatter     ;;keep center-turtle random positions
1 a  x( g+ i" h( D" Q  unit_plan   ;;make up the building plan
: ~" `6 m6 n+ A( mend! |% t8 Z$ O9 e* T, d1 t, u$ p! s
to scatter
! ]# i1 x( W% k) r0 ]( lask turtles with [remainder who 5 = 0]8 s/ o6 S3 @: {  V1 Y! v& y
[
; x, C. N* ?9 Jset xcor xcor - 6 + random-float 154 m0 e) X# _( b4 T9 ]& {/ Z* b
set ycor ycor - 6 + random-float 15
4 \& A' u$ s- L) [* W+ b/ v7 s- F]1 @3 z: q  R% u
end  J  O/ @* w  j' O6 P
to unit_plan 3 @" I. V  r( g" Q
ask turtles [
: r; V' }5 M5 `- lif (remainder who 5 = 1) [set a who * [4 e& T# g% e2 p: H
                          set x ( 0 - Wid / 2 ) ' t6 o8 l! m5 E
                          set y  Dep / 2 ]: n' J+ o- I% D* K4 p" k: C7 U
           set b  int (a / 5) * 5
6 T6 T" p& _. U3 p) U    setxy ( xcor-of turtle b + x )' t: M) _6 T- B. I$ c% R
          ( ycor-of turtle b + y )8 U0 D2 o' x9 q2 y" C* v1 {+ k
if (remainder who 5 = 2) [set c who
8 `" [# T+ `3 e5 f                          set x ( 0 - Wid / 2 ) & P7 R5 r% F$ Y. Q3 y5 z
                          set y (0 - Dep / 2 )  ]7 r! D: ~% x* f/ }% h
                          set d int (c / 5) * 5
) q. `  Y9 ?9 `# l+ O# x$ L- Q' r   setxy   ( xcor-of turtle d + x )9 f0 V1 b: }$ q! F7 A9 X
           (ycor-of turtle d + y )
/ q- f- O' U: n  Y+ S         
# r5 b, o! J2 z$ u9 A$ ^, j, V            , j: k+ Z$ X" V+ }' {0 }# t
if (remainder who 5 = 3) [set k who
3 p6 ?' S7 C5 }9 G% C+ D                          set x( Wid / 2)  4 v. M. y+ a) y
                          set y (0 - Dep / 2 ) ]& {8 l! A9 S7 Q5 w/ L
                          set f int (k / 5) * 5. k  m/ ?/ K- c. E
  setxy   ( xcor-of turtle f + x )8 D7 V7 H8 o! s& I2 u, I- H7 ~% T
           (ycor-of turtle f + y )
# V& L* H/ S# `0 K  H1 }           
2 j+ Q( R2 m3 E4 c" [5 E; f( e% v# G; p           
9 w6 O2 _% H1 L" y) X, I, jif (remainder who 5 = 4) [set g who
. T# t  P) w( L) i# }. ]# D$ }                          set x Wid / 2
) x% A1 m+ @5 `( L                          set y  Dep / 2 ]4 w$ N8 U& w$ q
                          set h  int (g / 5) * 5
) a6 a2 e7 r0 d& d, V, q! j) y  setxy   ( xcor-of turtle h + x ), \7 i5 U4 Y) O# D/ e- f
           (ycor-of turtle h + y ) - X# K0 V3 U7 r8 g
                          
7 W% j* o% x  u$ X2 F                          
8 k/ ?' z  m- I; r$ }                          ]$ A/ q9 Q, ~. v5 h" u* ?
end
7 ]1 S; |1 Y+ P! O4 \: D2 q+ e8 _- d4 K+ v: i! q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,3 Y8 _& x" O9 R
应该是  d' p5 _/ p+ R, o, v+ k
ask turtles [
2 F8 z: g* [: n2 v8 h! q# U6 Bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # L/ B  [' U7 c. v& s# A; a
                          set y  Dep / 2 - v6 c3 o6 R% a& F; C4 l! n3 G  _) Y
           set b  int (who / 5) * 5
# h% ?$ G' ?- @1 Y    setxy ( xcor-of turtle b + x )
8 W" E0 C. g( Y' E' P5 Y          ( ycor-of turtle b + y )]]7 g, x) c$ e3 w  ]
end
7 L' p# V, c7 `9 O之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-8 17:29 , Processed in 0.013236 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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