设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8300|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
$ }9 g. k9 q4 p' {3 @9 C' t; \- b  m3 Z# u
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。6 l) ^) Z" S0 M) `

5 v' H7 V- z1 ]( {turtles-own [a b c d k f g h
7 p7 z  W, f( O! [6 d  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
1 k9 o6 ?. L0 R8 n]
6 _) B; P3 V+ zto new% E4 D. ]- [( @2 l! _: R
  ca
2 |$ T- x" t: b4 }) m7 B  crt 5 * num_of_building* k* b8 u; C+ K4 I1 @
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( H" y. P5 I5 l1 b  scatter     ;;keep center-turtle random positions . p* j1 k4 O1 ~4 k9 E
  unit_plan   ;;make up the building plan7 x( d' H6 P! ?) U7 i6 ^
end  B/ |5 {8 W( @: G6 J/ _
to scatter+ `8 g, W) c. o" s$ V! M9 k1 E
ask turtles with [remainder who 5 = 0]
" l8 o- i  x. D[& K. d) A7 F' z
set xcor xcor - 6 + random-float 15
1 g' }  Z$ o! D4 g" H8 ]set ycor ycor - 6 + random-float 15' _* o+ C5 g/ T& S: N& `# B
]1 A9 v( g) k- ]# r% H
end
0 }0 V7 d9 D- \& E9 Xto unit_plan
3 R4 U- L5 X* Z- `. @* b& l  v$ rask turtles [2 Z6 m' x7 \9 ]# k
if (remainder who 5 = 1) [set a who ' D' a* w9 l" ?) d& o# x
                          set x ( 0 - Wid / 2 ) ! p2 J+ o4 u$ g( n" ]& b
                          set y  Dep / 2 ]
5 c( F- E0 E4 v- E$ I. d- r. P           set b  int (a / 5) * 5' n6 U# R; d8 ^4 h% m: W* C
    setxy ( xcor-of turtle b + x )3 o0 j8 k4 E* s' ^9 ]( V' T$ H: B
          ( ycor-of turtle b + y )
" p; {! ~8 R8 V% Z! c' g" p/ h' bif (remainder who 5 = 2) [set c who  _. P" n; D8 E) K
                          set x ( 0 - Wid / 2 )
+ F7 t# w5 P$ f* m9 ?4 [. E                          set y (0 - Dep / 2 )  ]9 ]. F* _% b7 t: r5 G4 _( w
                          set d int (c / 5) * 5
* K  H: V2 d: g2 d   setxy   ( xcor-of turtle d + x )
4 F# d& Q, B! N; |/ ~6 [           (ycor-of turtle d + y ) 9 _5 F9 U8 \, D( S
         
+ F! |( \. O) R. M: ]            . [5 q+ |; I) m% }8 U5 G$ |! M1 B
if (remainder who 5 = 3) [set k who
$ `9 T: U/ k2 ^# Y% j: O                          set x( Wid / 2)  
  o# ?/ F2 Q+ F  G3 t) ]! {; m+ j                          set y (0 - Dep / 2 ) ]
5 ?2 s7 b- B6 S4 g; r                          set f int (k / 5) * 5
$ ]# P9 u3 R. ?% ^; H9 S1 D! K1 K# b  setxy   ( xcor-of turtle f + x )
" ]; ]  q; A  i) I- Q3 X           (ycor-of turtle f + y ) / U  U1 X0 l" {% n
           3 R7 `* h1 X2 X3 C# |
           
7 W' C' v7 P0 W) T" p, jif (remainder who 5 = 4) [set g who/ a/ o  U/ Z+ Z+ W) ]+ O& l- `
                          set x Wid / 2
- d" d+ R6 j/ O' X; ^6 h- W1 d! s                          set y  Dep / 2 ]
( s1 p; j: e( m, U- R! G                          set h  int (g / 5) * 5/ w; G; V) K' ^& \, a5 V; z( _) A
  setxy   ( xcor-of turtle h + x )
. U8 s: ?% G' `6 i           (ycor-of turtle h + y ) 8 [; ]# s7 b( K* i
                          
4 P6 e% j2 L# y                          * j7 T" T6 e" O/ L
                          ]
9 ?; e6 ?5 w; z3 S, send3 z8 ?$ _4 v. D/ E+ c* _

- k& J, `0 c0 E2 ?. j3 Y' k1 G. K9 T3 \[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ d( n, I* }9 j: Q6 ?
应该是
1 R/ x# O( Y8 S8 s- U$ Fask turtles [; C- i9 K7 s; e. l. f/ F
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # @! }' m) N. v) Y6 ~8 Q& _+ o
                          set y  Dep / 2
1 j2 {7 y% Z- D9 G- {9 i           set b  int (who / 5) * 5
$ d* `# Q2 h* T( u% P8 g    setxy ( xcor-of turtle b + x )
7 U( I# {( ~1 Y; l' o3 D. F          ( ycor-of turtle b + y )]]
6 |( C+ P" G4 j7 _9 y! ]+ lend
: I$ R$ h; T3 v0 X& a之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-3 10:44 , Processed in 0.017979 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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