设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7633|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
2 F8 k3 N6 ^/ U/ X
# [/ a* e, V7 K) O* j4 {& x5 x* z9 w但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。1 u; E* K8 X0 k5 {6 V' n% L; r

/ J- W8 |, |- Oturtles-own [a b c d k f g h$ e$ K  C9 l# a% j2 o
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 4 w. ^' W) ~* `1 e/ i  s
]+ ?  o: d: [: B) [, Q: E+ G
to new$ W' g3 {; u; n( E: q! M- j9 ~
  ca- C! m1 S# h0 M7 n  B9 f
  crt 5 * num_of_building
- c2 v1 E) z3 j- R& j) _- u% a# o  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
& O# k/ h" b9 k1 g% r' V7 p  scatter     ;;keep center-turtle random positions 3 a9 J( V" E6 M, u  ]/ F. g
  unit_plan   ;;make up the building plan
- [9 E) W$ ~+ }1 p8 Cend) \' j$ t( V" x& {
to scatter
5 ^/ X# Y5 E( k, r' p! E4 wask turtles with [remainder who 5 = 0]
$ r& N0 B* G0 c[
( k5 T/ A/ v2 Y0 Y1 |! W) Gset xcor xcor - 6 + random-float 15/ p" N! ]2 z6 P  h
set ycor ycor - 6 + random-float 151 |4 w* y% G$ r+ {, B
]- Z$ C7 c8 B0 h2 a1 J
end
2 D8 f  ^, d% X, w3 @to unit_plan - u5 G( `  ?$ p: H8 W! X$ w
ask turtles [
) ^$ Q. G4 f( ?9 O1 Xif (remainder who 5 = 1) [set a who
+ X' x* O4 j& G                          set x ( 0 - Wid / 2 )
! t, X  U: y; @; _                          set y  Dep / 2 ]
9 V/ [; C  ^- R) Y# C3 e           set b  int (a / 5) * 5) @5 K+ J: s/ S
    setxy ( xcor-of turtle b + x )
5 \! d& ~/ s0 {. _          ( ycor-of turtle b + y )
  U8 @5 ^3 e& @, ~) y8 t# t3 Hif (remainder who 5 = 2) [set c who& d) V$ a5 y" [# i$ ?3 G
                          set x ( 0 - Wid / 2 )
% p# Q7 f: r( w, L                          set y (0 - Dep / 2 )  ]
/ T! H% ^( U4 y3 z- i  u7 }                          set d int (c / 5) * 5. q3 w2 w* H6 A. |1 t" \; t3 }( F
   setxy   ( xcor-of turtle d + x )
) U7 ^) l3 [3 ~9 R4 s3 e* O( s/ \# t           (ycor-of turtle d + y ) 1 U2 K5 D- b2 ~+ n0 W+ h
          4 {% w+ H3 z2 e- j( [: X
            
3 }: S! U  A) d& m8 c* ?if (remainder who 5 = 3) [set k who/ W) M/ l; a) h: g- _1 J) {( h4 m2 t
                          set x( Wid / 2)  
4 g! B8 j8 M3 i5 _* n                          set y (0 - Dep / 2 ) ]
* }1 \+ d  l- f% G, G0 _$ G8 r                          set f int (k / 5) * 5
4 b) Z5 k- }' v/ Z0 S% Q- ^* A2 a8 [- ?  setxy   ( xcor-of turtle f + x )$ {, ~5 E7 ?/ N. U4 T: H: m
           (ycor-of turtle f + y ) % v0 m1 @9 D9 J) R: [( B' i
           
5 p4 ^. x% D9 ^( k& ]           
0 B) H8 f9 p: }+ N$ h$ Yif (remainder who 5 = 4) [set g who! \# D- ^, ~% n4 d
                          set x Wid / 2 4 q6 X. d- ]5 T/ z5 V! j1 S% `
                          set y  Dep / 2 ]# t$ p9 J6 n7 Q) P: r4 x9 E1 O; G
                          set h  int (g / 5) * 5
" K+ n% O" X4 y% D5 H$ O+ a  setxy   ( xcor-of turtle h + x )
( [% P, X: a* J           (ycor-of turtle h + y ) 2 j$ S+ y; ?6 F. z# L
                          
. I. i& G  @: u+ }5 y- ~                          2 \( z$ @4 [7 r8 J; C# x$ }
                          ]
: u6 L2 q$ }" D3 k0 cend
1 M8 }+ h6 T6 K9 N$ ?, J$ w7 s: \
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 i& |4 `' h# N7 t. G应该是- U- r# v9 ?  v( R3 d, c
ask turtles [
' _. J; {3 h( J: n; bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 K- m' E6 c  X" a
                          set y  Dep / 2
+ N& [/ p0 a. w3 m           set b  int (who / 5) * 5
$ {5 z. o5 n7 H    setxy ( xcor-of turtle b + x )- S$ Q7 p9 I' {
          ( ycor-of turtle b + y )]]2 i) x9 @) d7 }( ?" H
end
! j$ l7 f7 Z/ \! p. t/ m- u* d  y之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-9 13:39 , Processed in 0.018903 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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