设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7850|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。) k7 K; S- G  A5 i8 r
( B+ @" c$ a9 d, o0 k; }8 ?
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。" }; f9 M7 L0 w8 L* R: P
% T1 l0 H: O/ G* d9 P4 {
turtles-own [a b c d k f g h8 B! [: n* N% v* C2 F$ g( ^
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle % d6 f, X% V8 b6 t. i+ b) B+ e
]0 g0 h% s4 P6 s2 r7 d
to new
3 _  ~1 E# v/ _) |% s# m( c9 P  ca- h9 V  c2 @* p  m- w" Y
  crt 5 * num_of_building
% R& @; E* V/ P! p* ^  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
& ~& g2 C- K" z& w  scatter     ;;keep center-turtle random positions ) x9 I: R% k# w& A9 _$ @/ x: h3 c
  unit_plan   ;;make up the building plan' ?2 A5 {" ], }; E0 y. C7 `% |
end* h. \4 \3 L+ ?. ]" T, k( v1 c4 A3 u
to scatter
8 e& Q; X/ [$ G0 Eask turtles with [remainder who 5 = 0]
$ P: S5 ~( f! G7 N& e[0 C* w* u9 c. Q+ u5 O
set xcor xcor - 6 + random-float 156 f2 _1 u9 I5 ~% }1 G$ c- B1 v$ O
set ycor ycor - 6 + random-float 158 d) {7 E$ [" r: }" W5 A
], O5 f" Y. ^% B, @7 B
end
  ?7 C+ p" ?: y9 b0 Wto unit_plan
& d. k+ F/ l/ ]* xask turtles [
7 O3 C$ Z  t* M+ Z7 U* oif (remainder who 5 = 1) [set a who
( i; |+ d" }9 c6 A! D                          set x ( 0 - Wid / 2 ) 9 O( w# S9 ]- d/ U  @" d( D* v; G) G* j
                          set y  Dep / 2 ]
7 Y7 p: J+ Z# n7 D4 D/ _           set b  int (a / 5) * 5) c& K: C1 F6 e8 r' B+ j
    setxy ( xcor-of turtle b + x )
& m* E- _* O6 _& h' u( p          ( ycor-of turtle b + y )
8 b# n+ C. q, c1 dif (remainder who 5 = 2) [set c who7 h' F( F9 f. W
                          set x ( 0 - Wid / 2 )
( R+ a4 @0 h( X$ r4 K0 p& t                          set y (0 - Dep / 2 )  ]
" r0 O' c- h7 p7 a, q9 M                          set d int (c / 5) * 5
' Q, ]4 m3 K- t) d3 \" F3 x   setxy   ( xcor-of turtle d + x )2 H! K5 l- w1 w
           (ycor-of turtle d + y ) 7 o' x: v+ L- v2 g2 z% D; |
          2 g8 G& E* Q9 K" M" p) m/ v
            
1 u' W1 M  A3 G: Rif (remainder who 5 = 3) [set k who& r3 h2 c) M/ G- C
                          set x( Wid / 2)  
2 J6 b* f4 M8 l0 W( Q                          set y (0 - Dep / 2 ) ]
5 ^. l; [  P( N( u, ^4 S% y                          set f int (k / 5) * 59 o0 Y7 T$ U4 a- z
  setxy   ( xcor-of turtle f + x )
4 z6 U4 A& B3 u8 [" ?/ y           (ycor-of turtle f + y )
+ l/ O3 s' g& V: c" P# ^           # H' l4 c$ [  ]7 B6 t( g
           4 H" x! ?7 ^7 |7 n8 }
if (remainder who 5 = 4) [set g who7 r8 R" V) c4 D2 Y: N  m
                          set x Wid / 2 ! T# q( s( \2 m: ^
                          set y  Dep / 2 ]
( N1 A6 W( F0 g% d& P                          set h  int (g / 5) * 5
. m% }; q" A5 D) c- G; M7 q1 W: Y  setxy   ( xcor-of turtle h + x ): I0 S6 \6 {! Y4 ~: C
           (ycor-of turtle h + y ) ! z/ Z8 K. B! W6 H- G% q9 l
                          
+ d8 K& ]3 D% d! \9 z: c                          # ?. W  O4 ^6 P( S  S. l
                          ]
$ C' A8 W. S  Z( r( T6 M2 L9 vend
6 t& g! A0 M- b6 A2 m3 b( M. K9 l# S' O
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 S0 n- f$ b1 T3 s
应该是
) u0 n# S+ S! E" _0 mask turtles [2 q% i- r' T* q: q
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) * X. q& e5 o2 K. c" ^' a5 q
                          set y  Dep / 2 ! z' V- I* S; K; P5 f# E
           set b  int (who / 5) * 5
( L6 ^$ C# Q9 D$ w& j2 |5 n" @    setxy ( xcor-of turtle b + x )
3 N. Q$ ]$ O" P6 S/ _- F* [          ( ycor-of turtle b + y )]]
1 h" D& V# l0 {7 Hend
8 u! c7 t4 ^2 N( {7 z% c  \之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-9 10:19 , Processed in 0.015129 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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