设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6800|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 E" |6 Y& _0 I1 M( K7 h1 D
6 f5 @5 V. V1 q: l! n" Z! Z2 {但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。: R9 [% d7 J$ B4 p; X4 \3 o
5 m0 p1 h9 e. b+ `  ~
turtles-own [a b c d k f g h
* j4 J" d  c! a5 p5 Z# w  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 8 b2 B3 |! G0 B5 ~$ w) O
]
. h* N+ _; M4 y& s$ X4 }0 Mto new
+ c! q) ^3 m8 N3 A# O* }* Z  ca
1 l3 }, {0 R8 B9 e  crt 5 * num_of_building
" `* q7 Q3 {6 R) O4 Z4 M  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]( a0 n3 }! P8 U
  scatter     ;;keep center-turtle random positions ( {8 Y, d1 L4 L% c- c8 z0 g9 a* t5 i
  unit_plan   ;;make up the building plan
$ j& c/ o' ^! [5 pend9 p' h8 x0 ]2 z1 `
to scatter0 @( B! @% n& B9 i8 R( @: b
ask turtles with [remainder who 5 = 0]
  x' N  ~5 |/ L) G8 ]6 K9 k. k( u: ][$ ?# Y' ^; g$ `# C; r- x( P
set xcor xcor - 6 + random-float 15
& ~% y$ L6 c* Sset ycor ycor - 6 + random-float 153 F/ ]6 }" x5 i( Y5 _
]
3 }& D& _- _3 G* jend
  D' G9 m* q" Pto unit_plan
8 h" a2 p% V+ O2 u8 D/ U5 dask turtles [7 s/ o/ s5 O, U" s
if (remainder who 5 = 1) [set a who
3 d6 r9 h) _( p5 T, F& I                          set x ( 0 - Wid / 2 ) ) Z  {# f( Z6 U1 u
                          set y  Dep / 2 ]! H: C* q6 h. I' B$ e$ X
           set b  int (a / 5) * 5
4 U! @& k( ~/ j% h6 o    setxy ( xcor-of turtle b + x )
6 B+ G2 `& k% w2 m          ( ycor-of turtle b + y )
0 h8 N9 h4 t: y* Lif (remainder who 5 = 2) [set c who( t7 _" f; H' f
                          set x ( 0 - Wid / 2 )
! i  K5 k7 p  ^                          set y (0 - Dep / 2 )  ]
8 b+ H0 D4 E: g4 B; ^; W! O                          set d int (c / 5) * 5" t  w2 i4 o$ h7 E* A& F
   setxy   ( xcor-of turtle d + x )* \% |7 }8 U2 F  C, i. Z$ _( ^( a
           (ycor-of turtle d + y )
, H* X) m8 r% Z          2 h& z. j. S8 N1 ?$ i+ O6 \
            , b% G" W$ R  s
if (remainder who 5 = 3) [set k who
; d6 W8 D+ a7 s! Q4 V3 `& _                          set x( Wid / 2)  4 z" U* N2 p7 C4 b  Y
                          set y (0 - Dep / 2 ) ]
2 C5 @. f" Y' `& e5 F                          set f int (k / 5) * 5
- q) l: b4 l9 |; i) @  b  setxy   ( xcor-of turtle f + x )0 I+ A2 ]# v( C! l
           (ycor-of turtle f + y ) 0 P( U  L, y% C- k: ~& S
           
5 ]) X9 u  ]% M0 _, h2 v; X           ! J% n6 \% e6 s
if (remainder who 5 = 4) [set g who
5 [- ]  i, `1 d3 j) X                          set x Wid / 2 $ t" D" }' S" E4 e. @  \! u  g8 P
                          set y  Dep / 2 ]
: V- R1 N2 s; U                          set h  int (g / 5) * 5  K5 ?1 w' h* V* @7 r$ l2 r: P0 S
  setxy   ( xcor-of turtle h + x )
# G6 D5 ]+ Q" _. ~( c$ T/ \! B           (ycor-of turtle h + y ) ) s+ I. f. S# ^) I1 n* z8 Z, J; @
                          0 ]; n' s% j" g6 `" }9 X+ o0 e
                          % U1 Y, x4 x/ l/ a2 K7 e+ }3 @' O
                          ]
  ]+ B7 ^$ \9 A: O9 E% @end
& R: O. B  J6 Q+ D/ m, J# c& u( ~5 J6 s0 n& y8 S4 U3 N- @3 C
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,  ~* I9 x' \; h. o; w0 T
应该是
, s$ A0 y- S/ H. @1 P. Vask turtles [
2 }$ R0 q. S8 Q  ^- U+ xif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 o1 @2 K3 H' H3 B                          set y  Dep / 2
5 n  a# Y0 H  E& E/ ]: j2 w$ X& s           set b  int (who / 5) * 5
- Q8 ]- I  `  `" G; o. Z' E    setxy ( xcor-of turtle b + x )
- a) S, u" D/ G' |% B          ( ycor-of turtle b + y )]]
2 f8 R( v  ?2 `4 q6 l/ g4 Oend
. X, M/ j" N2 i+ [6 G之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-24 16:25 , Processed in 0.013516 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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