设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7283|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. n. d/ T6 D! B* h5 O& n$ g
$ N# ^( p8 z- C5 E3 N但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。$ [" u6 D8 a: v+ A  G& m6 C# ~

0 C: V/ V* ^7 K& u, h1 dturtles-own [a b c d k f g h
/ R0 m9 {% C  f% T9 H, G  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 _4 W* m% n- Q  b! s# \
]; f" Q$ L* u4 k" w3 e0 V
to new9 a1 E* t% ~: \- |
  ca
9 T' G4 a( Q0 J! Q8 A% m# y- {  crt 5 * num_of_building
" `8 N+ N& I7 V( _  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 u9 F9 @1 l/ S) t4 u1 b; S  scatter     ;;keep center-turtle random positions
1 Z5 [! ^  p( P3 p0 r- g  unit_plan   ;;make up the building plan
# I3 n" ?9 T8 f& n" @. Hend' v5 j# Q% I8 E3 r  ~$ s% t, @
to scatter/ _; _7 Q. b9 L9 n" u# z; w
ask turtles with [remainder who 5 = 0]$ J: P( ~2 q6 S1 ^; b5 w
[0 W, r) w, e; T
set xcor xcor - 6 + random-float 15
5 I: ^% {4 K5 i' vset ycor ycor - 6 + random-float 15% _, s0 I8 l' L% T; p
]( X9 z4 Z1 l% N4 ]* w
end* W) o& u- W! n6 a' H$ q( U0 w8 X
to unit_plan 6 L! ~7 K, X9 i
ask turtles [
) z- L% {! R: Z, }if (remainder who 5 = 1) [set a who 7 Y9 R2 G4 W4 o# U( P
                          set x ( 0 - Wid / 2 ) % @" Y, [& ]7 H& l% N' m% Y. Z1 h
                          set y  Dep / 2 ]* J- r4 V1 W  c' @
           set b  int (a / 5) * 57 A. ?0 ?- x; _( E; ], @5 P1 V  d+ h
    setxy ( xcor-of turtle b + x )
# F( `" f% z# V/ G6 @          ( ycor-of turtle b + y )
' u5 E" D$ y2 ~( I% M( \if (remainder who 5 = 2) [set c who
9 j  T7 q8 b* h4 [% k, e                          set x ( 0 - Wid / 2 ) # P$ z) s: D' ~9 d7 c
                          set y (0 - Dep / 2 )  ]9 w1 F% J$ S  A9 B' ]
                          set d int (c / 5) * 5" m8 V$ k' F. M. y; U
   setxy   ( xcor-of turtle d + x )# s: W. [/ h8 k  l
           (ycor-of turtle d + y ) , C2 d. x$ F1 i) n
          , D# Q( C6 X* D8 u; F6 p: b
            
" F- _, U3 K$ x# x4 m. r; f5 yif (remainder who 5 = 3) [set k who! y9 T/ s5 x0 R9 k; J8 d1 S- ^
                          set x( Wid / 2)  / @6 m8 E7 K+ s
                          set y (0 - Dep / 2 ) ]
* L6 F- W6 D$ ]/ q                          set f int (k / 5) * 5
3 z8 p$ Z1 z: H) S/ {  setxy   ( xcor-of turtle f + x ), k- r: x. t' S9 a# p( E" E% K
           (ycor-of turtle f + y )
: V4 o  e9 d0 ^4 H: r5 r/ _$ V; s           
! w, F2 B; A5 D4 E3 p           / y' U, `$ n" E! ?; M% R$ s
if (remainder who 5 = 4) [set g who& w9 D9 X1 y8 _6 T. W: X
                          set x Wid / 2 6 N4 e  O: @; y+ o4 m
                          set y  Dep / 2 ]! o% p2 n$ a' r; S
                          set h  int (g / 5) * 5! P) i: H7 P) t  _4 Q7 _( v2 l5 T
  setxy   ( xcor-of turtle h + x )
: B' N4 c, j5 b5 o9 N           (ycor-of turtle h + y ) 5 l) |3 A7 P$ P0 @7 Q# O
                          
* P! O& j3 X/ r' [8 a( G* e- d                          
$ W1 R, g8 F) u) E                          ]/ t" Q. A  S, Y
end
4 A; D/ d2 _& X% j! J* P- J5 G, L$ [1 u$ P
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
: |( F0 F3 @7 K$ v应该是' }2 p9 v# c/ I1 T) n, f8 \
ask turtles [
8 i3 o9 z3 A" c6 t& I: m6 uif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) : V5 n; y5 V6 Y6 ^% Z$ u& W
                          set y  Dep / 2 3 D8 g! o+ G4 O' E
           set b  int (who / 5) * 5" {4 j0 Q& F5 J. D# c. J
    setxy ( xcor-of turtle b + x ): b( Z5 s% s6 R) Q0 W3 F) d# w
          ( ycor-of turtle b + y )]]
& W5 Y; u( P. p$ Aend
: Z  g+ e0 l7 \2 K8 J  Z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-25 04:55 , Processed in 0.019203 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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