设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7828|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
! y/ D# c8 M& t2 f" k1 p0 A
! R  j5 c/ p6 b" J! Q# ]2 @; w但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! v) B+ R$ J) b* j  k

  q6 X( n+ v% `( }turtles-own [a b c d k f g h. v( K6 t$ V: m& l7 k
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
( K4 \/ X/ h0 u* E2 w" M]
* c) q3 N! \( `. j1 Dto new
$ c2 ~% {0 ^5 }; |- j. `+ v  ca
- b! Q" y  d2 E# m8 Q( p7 }  crt 5 * num_of_building
& u) N. b! D7 ]+ S9 o& G  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]7 U  i4 L. G$ ^" j
  scatter     ;;keep center-turtle random positions
+ P' r$ s) c% n- ]$ u6 t% p  unit_plan   ;;make up the building plan8 J( V2 z+ q+ Y* w/ C, L, m& J  |
end% ~# P4 |1 \. S! x
to scatter
2 {- `. S: A8 r4 ^8 w7 X) Eask turtles with [remainder who 5 = 0]) X! `  n" F7 j) n
[
6 k4 _! [% F: G+ ?  s7 Gset xcor xcor - 6 + random-float 15
. j+ Y, Z' m* i( t. fset ycor ycor - 6 + random-float 15- x4 u2 G- `& W8 J) T
]
! B9 U: N: B7 \3 nend7 u; z, x# V, V& g+ M
to unit_plan
  w5 B$ {3 y$ L) {% Dask turtles [
! j- D! N: y$ \! X1 n# k" `if (remainder who 5 = 1) [set a who 4 Y& u2 `: w$ ?; k. _) E
                          set x ( 0 - Wid / 2 ) 7 J" ?) Y% K8 }4 F  D
                          set y  Dep / 2 ]5 |# z( @) `/ A
           set b  int (a / 5) * 5( ~4 g* b# _9 J; g
    setxy ( xcor-of turtle b + x )
# }, z. e& W" v0 l: C          ( ycor-of turtle b + y )
& Z. G8 x6 {# B* Sif (remainder who 5 = 2) [set c who) S+ l: g+ Z2 w) u/ X( u; A  ]
                          set x ( 0 - Wid / 2 ) ( U$ P, {5 \: D/ F$ m$ m
                          set y (0 - Dep / 2 )  ]& B% L0 O) J, }
                          set d int (c / 5) * 5
3 R  ?+ B# g5 p   setxy   ( xcor-of turtle d + x )# B( K7 u9 \9 F! W, c5 ]9 `' S1 e
           (ycor-of turtle d + y )
2 m1 ^) ]& \3 O( c' Z          . F9 o: i* _3 C$ ?, J+ M
            ) Y# o$ g% E+ y
if (remainder who 5 = 3) [set k who
8 S% ^: l1 p" p" r* \                          set x( Wid / 2)  
- |* g0 S( G3 C( H* x0 f/ A                          set y (0 - Dep / 2 ) ]
9 O2 u3 e. [8 V) V2 n7 o$ M                          set f int (k / 5) * 5" P$ j* h9 o9 I# {( K* `
  setxy   ( xcor-of turtle f + x )0 C8 u& }: c4 f, k3 |8 s2 z1 r
           (ycor-of turtle f + y )
8 X8 \1 U* W: O4 C2 E+ }           
' @. ]+ m1 B, p1 J6 V* r           
( J$ S3 o$ W# m- G% f; a- Jif (remainder who 5 = 4) [set g who
) y2 ~3 Z8 i. _; g                          set x Wid / 2 8 K0 O  }- G( q- @1 V2 z, L1 S
                          set y  Dep / 2 ]1 Y3 \6 F! q. A
                          set h  int (g / 5) * 5
; k; F+ f' G! u; j( j; U( M) W  setxy   ( xcor-of turtle h + x )& G) N* F; l6 U
           (ycor-of turtle h + y ) ( R! `- ^; |, b& K+ i5 r, _- I
                          
' D2 q& D2 I! T6 d- ~% F& E$ r) h                          
/ i1 T. @  D  z) [% b6 D! t) C                          ]* ~/ z. ~4 m. D1 @) g, y4 r6 l
end* _  j- m* ~$ S$ L' ^+ E5 Q

  l& a& ^0 q* @1 v, B1 Y[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,1 X4 S- q( s; V
应该是% s8 V4 N! X) F
ask turtles [
6 A( J& o6 Z. `! F' kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " x# \2 ]+ x9 `7 ?- [2 s: G
                          set y  Dep / 2 9 c1 q& Q: X9 a* |( [; w
           set b  int (who / 5) * 5% O/ p& i0 Y$ J& U9 N/ \
    setxy ( xcor-of turtle b + x ); @! G4 R% `# M! |5 n& X
          ( ycor-of turtle b + y )]]$ x9 y; |; ^7 l9 `' c
end# b$ K4 p- v2 F4 c
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-6 17:56 , Processed in 0.023702 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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