设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7704|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& k( a) j& @& v& H* k+ }

6 p7 U2 D  ^# R( B" A但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% D' |/ Q% T+ v4 U! _  `# i# u; ^6 J, G  x
turtles-own [a b c d k f g h
/ \! m- I1 g' k1 k1 _. D/ e  x y     ;; these are the leaf-turtle's offsets relative to center-turtle # F! z' Z6 p4 @# m2 l; l* y0 _
]" [: w; X3 h9 m- {* Y, P
to new
$ T: k8 Z6 H& w4 G, D$ u' }: P5 t  ca5 n+ f* p' u, I9 u& [9 s
  crt 5 * num_of_building: o, W" U( X% n) H6 h
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
) d* {# Z, F8 c$ ?  scatter     ;;keep center-turtle random positions : M6 N& Q7 X  v3 i! t/ L$ s3 S. [
  unit_plan   ;;make up the building plan
. M1 A* y6 X2 M5 N0 h0 _end5 d  A; E2 ?8 w' d
to scatter
5 w: P  H, n6 C8 B* n2 ~ask turtles with [remainder who 5 = 0]
! Q, B2 M6 C% R: ^  q( k8 Y, d[
" Z3 r' S) _9 }3 kset xcor xcor - 6 + random-float 15% m# R- ?/ z% o6 n
set ycor ycor - 6 + random-float 15$ ^: I* U6 }% o7 I
]
! A7 t6 @. m9 B. K; @2 ?$ S0 M( xend
! G  r) f! l/ `& wto unit_plan 7 I0 b  L# w  Y& Z; o0 q
ask turtles [
: z8 o4 u  m  r: c* O5 M( Hif (remainder who 5 = 1) [set a who   g" d4 o6 z- {5 f: |$ k
                          set x ( 0 - Wid / 2 ) 2 u8 h: C+ b6 w4 m
                          set y  Dep / 2 ]' K8 f; q# }, j) g! [. e: o& h
           set b  int (a / 5) * 5
1 n' y8 H7 D$ e( y3 g( |, x3 O6 n    setxy ( xcor-of turtle b + x )
/ T( Y/ q! s, k" J: v) N          ( ycor-of turtle b + y )0 u" n. Q" Z/ `
if (remainder who 5 = 2) [set c who
. g; Y7 L/ F6 y% p+ _1 r6 w                          set x ( 0 - Wid / 2 )
! s, l" \" n/ r2 S% L/ E                          set y (0 - Dep / 2 )  ]
  L9 C3 S+ `) Y                          set d int (c / 5) * 5
4 p! T2 Q! z8 c2 l' y9 n   setxy   ( xcor-of turtle d + x )
/ g) T# J& m5 Y1 W+ X1 D; i           (ycor-of turtle d + y ) 5 o. ~5 A% Z3 ^5 w9 @( S. t& i
          ) t" o9 ~" c/ X8 \8 g5 L3 f( u
            " n) ?% T' r- ]
if (remainder who 5 = 3) [set k who
3 H+ c% n5 E: Z! J, ]                          set x( Wid / 2)  9 p9 d5 q" e/ H# P, U) ~
                          set y (0 - Dep / 2 ) ]
6 F9 z' ^* G. l1 z  H; Y                          set f int (k / 5) * 5
9 j4 j  l  q. \' a4 h  setxy   ( xcor-of turtle f + x )) F* `. h' ~0 w8 Y  W' Z. ?# S) N
           (ycor-of turtle f + y )
3 ]8 O7 f; {& F5 z           / s0 r% W. G) i  ?$ X
           
  J% B3 R! {- S/ kif (remainder who 5 = 4) [set g who& h8 D2 A% L! O6 K4 x8 _5 R
                          set x Wid / 2
+ `) E# \. n- Y: E                          set y  Dep / 2 ]
( V/ F. R; m2 X& X( X; J, l- t! }! @                          set h  int (g / 5) * 5: \% V& w' ~2 }- n5 M" R
  setxy   ( xcor-of turtle h + x )6 m; E! N' p' p! I, s' R+ B
           (ycor-of turtle h + y ) 1 P" K, o6 F/ q8 O- u, B
                          0 q! k& w* {+ w% d$ g- a* c  n
                          
$ W4 l& b6 |$ t5 _& J                          ]/ x! L6 k1 Z7 Q
end6 r5 y/ s4 n8 {7 n, j% A

, N* J% ^4 K, p% K[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
# g; L4 _! P( q$ S. r4 z$ A应该是
( ?7 [8 E: N/ E) t7 Oask turtles [$ R, r: n! M6 t. X  ]) X. @3 o
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 G8 {. _" d* A2 J4 i% Y
                          set y  Dep / 2
0 D( B8 E* C8 I) m, L           set b  int (who / 5) * 52 J7 A  S& S1 x( U9 Q
    setxy ( xcor-of turtle b + x )
$ V+ h# O  c+ T3 q          ( ycor-of turtle b + y )]]
$ I9 n& I+ i# @: U! ?end- J2 j. U% l1 ^3 t& C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 18:02 , Processed in 0.014123 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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