设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8411|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。7 Y. B0 V! j6 N* O
4 n8 z" m9 M1 h3 F7 L; r" ^
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) O+ s1 s1 M, o4 @4 g1 ^
" j% e. k) G1 h- o* N
turtles-own [a b c d k f g h' O3 d% E9 S8 L& M
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ! t/ c; ^* E- M+ d5 b) }
]
8 @) q+ j' P+ z. @) bto new
- E5 i" |# f' q) g$ U3 g, W) M* s  ca3 k3 H' ~4 ]0 w# W) T9 Z. Q
  crt 5 * num_of_building
! @; N9 P- K2 D$ ?0 C/ Z; q  P; G  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 ~* k4 M8 x, G4 `* E1 x  scatter     ;;keep center-turtle random positions % W* C! k) m& n
  unit_plan   ;;make up the building plan
) n3 s/ `4 n2 W  Dend4 D' i! n, V& U
to scatter+ z. J7 e+ q$ ^4 q+ D9 ~& Z. L$ t
ask turtles with [remainder who 5 = 0]
. g( @- s1 p9 M1 {1 s/ t4 i[
" U# F4 T5 Q0 w- Q* _: v" [4 {set xcor xcor - 6 + random-float 15
" |1 c9 D4 M1 ]set ycor ycor - 6 + random-float 158 @1 e. _0 \0 k# A' n
]6 D* Z3 k( t$ T
end4 m/ s5 F. X5 |+ K+ O
to unit_plan . M; ~6 x+ J4 {2 ^1 ~5 D
ask turtles [
2 w9 p* ^& l0 Yif (remainder who 5 = 1) [set a who
$ a. L8 t$ \3 }- f! J                          set x ( 0 - Wid / 2 ) 4 U' H5 \( C7 s& h5 Y/ ~
                          set y  Dep / 2 ]. k' J/ n& T' ?
           set b  int (a / 5) * 5
$ t# n! E: r: I% Q    setxy ( xcor-of turtle b + x )1 M; @+ R0 K8 ], C* i# F
          ( ycor-of turtle b + y )- d5 m% T2 r1 R8 V3 i" T
if (remainder who 5 = 2) [set c who1 I8 N3 B6 f9 P$ g+ |
                          set x ( 0 - Wid / 2 )
" h% L9 z; Z$ E" f3 O                          set y (0 - Dep / 2 )  ]
2 w5 H: T# ]' s3 l; j                          set d int (c / 5) * 5
- M4 W4 V- J1 l   setxy   ( xcor-of turtle d + x ). n2 H# t2 _" @+ L# m6 T% g
           (ycor-of turtle d + y )
! @' |5 z4 i, ?7 [" [& X& A" S' R1 o+ X          6 e$ E3 Q3 D5 S) B- g
            
3 c; a- ?  Q3 {: dif (remainder who 5 = 3) [set k who
4 Z# y1 Z2 o' N2 `                          set x( Wid / 2)  
/ {, N7 v3 S9 T0 V                          set y (0 - Dep / 2 ) ]7 I+ `) }4 S$ f' s2 y) x* _
                          set f int (k / 5) * 5
) y  G/ p( S' o& Z9 X  setxy   ( xcor-of turtle f + x ): f  k5 i( e- D, T, _
           (ycor-of turtle f + y ) " C3 p0 p" n' U4 _0 @; p' ^. @, `
           / Y) Q, F: l! K" Y1 t9 t
           0 q6 N3 ]" j' a0 L; m+ }
if (remainder who 5 = 4) [set g who
" x/ V& g2 T% j* [, c) p# R                          set x Wid / 2 ; F% K0 X7 y( P. u
                          set y  Dep / 2 ]& }! S: ?7 a& i
                          set h  int (g / 5) * 5
/ F" V# k+ E" H* u  setxy   ( xcor-of turtle h + x )
% t: I( J1 J$ B4 l+ x+ J1 g) y           (ycor-of turtle h + y )
7 `8 h0 _" m6 G* t- L/ W& v# ]                          9 ]1 O/ n: ]) W; W9 r0 @0 f
                          # p% g' E2 q# d9 r
                          ]. ~+ n' ~' Y0 U7 E( f) t: O
end
/ y. B5 J# m6 W5 D! W" u- _" {
8 v( b, D) L& f3 H; l6 P[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,% N4 c6 ]7 g' x3 n# {( `
应该是
. m' Q' M. Y2 f  X6 xask turtles [
4 C- T8 O: B! n% Wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# N' f  z/ l6 L1 F- U                          set y  Dep / 2 9 p! r% N! d7 D# {0 {
           set b  int (who / 5) * 55 S7 Z6 j: R, h: X2 z5 S" s
    setxy ( xcor-of turtle b + x )7 v: n3 P3 H0 u2 T+ u. h
          ( ycor-of turtle b + y )]]
/ g8 Z% {$ f6 Tend
+ X2 E3 |6 {, V& ~2 a3 S9 \之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-22 07:58 , Processed in 0.013923 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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