设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8180|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。; n( e' \0 V, V5 B/ ?2 P

8 O: F( x. [8 y( ?  s9 Z但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
- W9 B, H; b' ^; G, j; j% o  n% D# f* V
turtles-own [a b c d k f g h( d( @, i9 x5 D4 o
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: B& \! ]5 J, h& Z/ s]
7 o! z/ v3 e% i% `  a" lto new
9 j$ Z  A$ `4 [" o; Q9 ?7 B! l; B/ L  ca: o  }1 e9 v. d) C
  crt 5 * num_of_building0 F$ s% ~. D* `1 S
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, t0 T0 B% M! v9 s  X" q  scatter     ;;keep center-turtle random positions * t6 J) |$ I. T
  unit_plan   ;;make up the building plan
" M; K  t) |7 Y" Y: Hend
1 A; l$ `9 ]5 N$ H# c# {to scatter" h/ n. m+ f0 ~: K0 F
ask turtles with [remainder who 5 = 0]
; Q' Y& @+ |9 o  U/ M, y* E$ A[8 C. V" G2 p- G
set xcor xcor - 6 + random-float 151 N' L1 B% Y/ [$ L% T/ A1 o
set ycor ycor - 6 + random-float 152 j: h8 I1 B6 w- a  a1 l
]
! j7 w; {  V2 D3 J/ Y* xend) N( n' A) o% q7 q$ N" h/ f
to unit_plan   J8 [$ `, n, k* c  t
ask turtles [
8 `2 M, J; x2 x* N7 ?. R! {) ^if (remainder who 5 = 1) [set a who
; T7 _2 R) ~" A7 g: k. Z                          set x ( 0 - Wid / 2 )
) c7 M& ]0 i" o8 r/ v                          set y  Dep / 2 ]
5 G/ b% D  E9 X! _4 [* m           set b  int (a / 5) * 5
+ n! l6 [6 j4 P4 g    setxy ( xcor-of turtle b + x )$ V4 `% E! O; i/ V
          ( ycor-of turtle b + y )& u5 X+ q: k* F: L
if (remainder who 5 = 2) [set c who
" f/ i8 h- r) l+ m                          set x ( 0 - Wid / 2 ) + R  o  _3 K; U5 u! v
                          set y (0 - Dep / 2 )  ]3 ?! v) h9 g8 Q6 p' S; U$ v
                          set d int (c / 5) * 5
2 p/ |7 e( p3 ~- o0 R3 L   setxy   ( xcor-of turtle d + x )9 C5 U% k- s1 z5 i: E
           (ycor-of turtle d + y ) ! i7 T3 f4 [# L
          2 s( ^& u  ^) x  N. p
            
) n0 {1 G! P' W7 U, h! pif (remainder who 5 = 3) [set k who
: H" o4 ?$ O9 _9 \' ?4 q- d3 ~                          set x( Wid / 2)  
6 W1 G7 _9 {8 d, E                          set y (0 - Dep / 2 ) ]
, Y6 p9 z7 R* N1 Y7 m8 X* B) g0 M                          set f int (k / 5) * 5
$ e3 V( O5 H. @( `  setxy   ( xcor-of turtle f + x )$ q. o8 n6 }1 n1 D
           (ycor-of turtle f + y ) 5 [9 Y& X" w8 l
           4 t6 [. S% j6 ]0 K$ }2 }
           
: O) ]7 G' G! a( {( Uif (remainder who 5 = 4) [set g who% ?5 w: Z, W* x
                          set x Wid / 2
; Z: o( R, x# u! U1 u% ]6 J                          set y  Dep / 2 ]3 ?9 p/ c' l& \: d$ M
                          set h  int (g / 5) * 59 X2 r" @( O' F, v+ w
  setxy   ( xcor-of turtle h + x ); y4 S8 H$ Z& W% T# H$ d
           (ycor-of turtle h + y )
! N( d" r3 d: m* O' N* L0 p                          : o) \# S3 O5 x, X4 l
                          
, `; V' L+ P( m& |                          ]% \/ ?+ w$ E" ~  {$ W
end
  C! i- W, F" E, i. T
  _* v/ H) I) o0 ]. h[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! P  d. a- q. J
应该是' |, s3 t# T3 N- V* q7 E
ask turtles [
+ E/ `+ H6 A9 J$ |if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
& s* @1 |- Y9 }. O% f* j                          set y  Dep / 2
6 X6 \# s- T* J+ w8 v           set b  int (who / 5) * 5* t" M( t  X) P2 g2 h& W9 K; P- l
    setxy ( xcor-of turtle b + x ); ~* W9 N: C4 K; x1 f$ r
          ( ycor-of turtle b + y )]]$ T$ \7 Z/ y" ]. |: \) j3 k- A
end7 Z* @0 R0 b1 ^5 f7 q" M2 S
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-15 08:38 , Processed in 1.712553 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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