设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6913|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
2 p0 |' l& m, g1 P+ N6 ]5 Y: D
9 O0 a! D4 r8 o  v但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
6 [; P5 G3 m0 ]  d& [
1 M/ @8 V7 V9 c' t4 Q$ j5 Pturtles-own [a b c d k f g h8 ]7 A, V5 z* w1 b+ J' _
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle . n7 ~0 N4 b" D" C+ o
]
5 f3 P7 |% N1 @' M% d! Cto new2 y" w) X$ E- ~/ x! |1 G8 F, W
  ca) v3 z/ @9 O; D- P5 p9 N
  crt 5 * num_of_building8 Y+ _3 H' U' x1 r
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( z/ [2 I6 b+ A3 ~# R+ g( H: N  scatter     ;;keep center-turtle random positions
+ N9 f# c8 M; b3 G( ~9 X  unit_plan   ;;make up the building plan
) [- h5 e# x! B; vend
+ `( p% o( b' ?2 E$ E2 Zto scatter/ [; d# d/ o/ `2 b8 J  ~  C) N# j
ask turtles with [remainder who 5 = 0]& D" |$ a* B. J0 }
[
3 W3 v+ K3 r5 O7 Pset xcor xcor - 6 + random-float 15
+ n7 _' N' g. A* R5 J$ ?( m' Gset ycor ycor - 6 + random-float 15
) ^' j8 |6 G7 o) h, i% q* l], n  q, y2 R* f$ {
end/ `/ K  ^! z1 u6 I% @; Q
to unit_plan ! }( u( U% y4 ~) q' D3 r
ask turtles [
. L7 l- b2 J! g# P2 j% Aif (remainder who 5 = 1) [set a who " O4 z" J: I1 @. R9 \  C% Q
                          set x ( 0 - Wid / 2 ) ; k6 _" c+ @  o- y5 b" B4 D
                          set y  Dep / 2 ]+ m) |8 S' I1 e9 M% z
           set b  int (a / 5) * 5
$ V( E0 ]9 l" _* h# `+ r    setxy ( xcor-of turtle b + x )( \8 Y4 e9 e- R# a6 U' ^
          ( ycor-of turtle b + y )
8 Y0 e1 _1 {. V1 I- o8 Hif (remainder who 5 = 2) [set c who
" L5 O) Y( b: {0 ?: p+ N) D" ?                          set x ( 0 - Wid / 2 )   L2 |3 Y1 P: |6 }. S( k
                          set y (0 - Dep / 2 )  ]. ?( O7 E# H3 u7 n+ D  x
                          set d int (c / 5) * 5
" \0 G' U% H: c   setxy   ( xcor-of turtle d + x )% l& f: E" r. a8 P7 H0 U  U7 a- Y
           (ycor-of turtle d + y ) 8 t; ?% R( x8 |9 a
          1 c) q0 `8 s( }
            
9 n2 N4 V0 b7 O  I, O% dif (remainder who 5 = 3) [set k who8 Q3 x7 T& |# x' y; |/ B7 X% V- S
                          set x( Wid / 2)  . b7 Z' b  ^3 p
                          set y (0 - Dep / 2 ) ]7 J, p& w. f; e0 P/ @3 R: Q) p  h7 a
                          set f int (k / 5) * 5
& D3 B5 H3 Z8 }  setxy   ( xcor-of turtle f + x )$ I# Y; m& X: Q" ?2 A- }
           (ycor-of turtle f + y ) + p% {( [- L- r6 p
           3 N  m, A- J- I. }% W! e5 P
           ! b6 g* Y- v, V, K8 {9 T: o
if (remainder who 5 = 4) [set g who
+ z) C( m5 N9 h4 B8 O+ n                          set x Wid / 2 + C; W/ z- T" m$ n* \
                          set y  Dep / 2 ]& P7 g7 O1 u, Z$ D" E
                          set h  int (g / 5) * 5
1 X6 W  S: m; a! j7 C  a0 M  setxy   ( xcor-of turtle h + x )
" T7 C/ a) _4 {' F  h+ e           (ycor-of turtle h + y )
$ U7 R& o- u  W3 P  e! a, q1 \5 r* }                          
8 q2 c' {8 ?: M1 H; \1 H, }                          
5 a3 r; G# q$ {! W, ~5 W. l% Y, [* k                          ]9 I2 p2 f# n. Z: }
end
- q4 y# o! w$ Y& Y+ k6 a% W/ e2 q# E: k( B5 e% ?) R4 G
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 L0 _1 Q! h0 n4 i9 N' o+ V
应该是
7 p7 L( t% M. t1 m  d+ Hask turtles [
* M4 O+ a- Y7 J! G" ]' tif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " S) t6 a/ @! Q+ l) v/ c7 l
                          set y  Dep / 2 & V0 Q. p; Z+ h1 U+ r$ n
           set b  int (who / 5) * 54 H( U9 b& U) r
    setxy ( xcor-of turtle b + x ); F, ]$ t6 i! Z$ j. q* w
          ( ycor-of turtle b + y )]]
' |7 C# S- j6 Rend
1 ]# H$ S: |/ e- j; `# v3 r之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-9 15:09 , Processed in 0.014938 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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