设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8942|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
* j/ Z* y9 ]7 t% R0 F% o% z% W- ]* O" ^: E
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
# c% F1 P1 q& z: q/ e. f; l' \- E* P9 X2 ~% x+ c; C% v5 t
turtles-own [a b c d k f g h
6 Q. E& d$ w8 \7 C: a( n  x y     ;; these are the leaf-turtle's offsets relative to center-turtle " p; x* f$ o- V5 U2 J
]: h# j* h1 M+ s. l: b; Y
to new
6 D( G; d6 h& B: e+ z% o2 A* c4 R  ca- C8 R1 q' K- o3 a% X; o7 Z
  crt 5 * num_of_building
, M6 q0 L4 L' f+ \7 W, V* x  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 x  c4 I  n8 p. W7 U8 Y
  scatter     ;;keep center-turtle random positions 9 X% X$ K3 \& O4 }
  unit_plan   ;;make up the building plan
0 l4 Q4 R- n3 [+ X/ E" ~2 D7 r8 \/ H" cend
6 T7 z- i" X" F9 k5 wto scatter
. Q- t  g: i* j; ?6 Q) _ask turtles with [remainder who 5 = 0]& S: ]" X& O- Z7 Q7 L5 b* b. ?
[
: _' h+ I# r3 J2 G$ t: s. wset xcor xcor - 6 + random-float 155 i( \7 g( X5 _% H( x5 c
set ycor ycor - 6 + random-float 15
, y" [4 O, G8 u' E]! }- g. K. a( q7 Z3 G2 V
end
7 S: G" f7 D+ ^0 }6 P# Rto unit_plan . u% w$ o2 z" {, q, W, }6 O8 h5 A" U; p
ask turtles [
/ k: W: z5 n( E! \. G# c, zif (remainder who 5 = 1) [set a who 2 P  l/ o4 ?7 r8 g6 X: A
                          set x ( 0 - Wid / 2 )
* [$ {2 x* N% @, c                          set y  Dep / 2 ]
" d- b8 P$ w# S- W           set b  int (a / 5) * 5
3 E; [! N3 V4 c( r/ T    setxy ( xcor-of turtle b + x )9 [  H7 ]4 N4 {' _/ R$ q: Y6 J: w
          ( ycor-of turtle b + y )
9 x- n' a  H0 M3 D2 l0 N4 t* ?if (remainder who 5 = 2) [set c who
: V( |$ |5 @+ W4 G& {+ z                          set x ( 0 - Wid / 2 )
* d0 |& V4 X$ G$ k  @4 n3 `8 ~                          set y (0 - Dep / 2 )  ]
" r" ?  ~7 s7 V; C. {                          set d int (c / 5) * 5: w5 h& x  g& d* |9 ]
   setxy   ( xcor-of turtle d + x )
- ?3 ?0 e6 Z% N: ~% Q           (ycor-of turtle d + y )
3 M5 k- f% K% _/ G0 ?% p          & z1 Z4 H9 x' q: ^" f8 v1 F
            
6 G, M; |/ k5 x, c" `if (remainder who 5 = 3) [set k who0 u% G2 X# G0 J  }( ?- ^% u( C
                          set x( Wid / 2)  
: _( \+ _5 R, y: v                          set y (0 - Dep / 2 ) ]
' }* T' G$ q; ~5 ~+ Y/ e% }                          set f int (k / 5) * 5
9 H; {. p6 k7 C. b$ v  setxy   ( xcor-of turtle f + x )1 D* t# S& N0 h9 J- X- t& m
           (ycor-of turtle f + y )
, B% S- H$ E/ E) i; v( {% W           3 M/ {+ |  J+ l
           : c, r6 }9 L* h( |8 R; s/ M0 h
if (remainder who 5 = 4) [set g who
3 p# ~+ O! G+ p, W0 @                          set x Wid / 2 5 |: }- p* O0 C. d
                          set y  Dep / 2 ]( f  j  S1 c/ E9 X% u
                          set h  int (g / 5) * 5
3 D" q% y- q/ p; |' }2 N  setxy   ( xcor-of turtle h + x )2 I1 ^/ c7 `4 o6 N) z8 t8 Z9 Z
           (ycor-of turtle h + y ) 7 L* j% ^' ]- I8 i0 y0 C6 U* @$ p9 |
                          1 G3 n- d: k9 x- t
                          
4 c' O8 p" z) t& f                          ]9 `' ^% C" |( u+ A! Q
end
5 ^/ u# a) U3 [& J0 y) d1 J7 W5 i9 t1 d+ Y+ @7 R
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
) b4 y  D3 u( M; G应该是8 L$ l) K- B- K8 y$ J! ~
ask turtles [# G3 U7 j- l+ H3 v, W
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) % K' ^! t+ [5 _3 j3 T( `$ `! |
                          set y  Dep / 2
7 K- W- G! v( s0 j$ l* ~           set b  int (who / 5) * 5
/ b' M$ f/ S. v! I0 Q    setxy ( xcor-of turtle b + x )
1 x5 ?. H* D* z" `% t- P          ( ycor-of turtle b + y )]]
7 T  s6 m) [( c" ]end
+ n& ]7 p8 M5 m( P& I6 f之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-27 22:45 , Processed in 0.015217 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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