设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7376|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。; `, |5 S3 P* E% ?/ p: _
; m3 s# z- i4 y7 U- @1 r
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% y, J  ^0 h" U. y0 x6 W6 m; r3 D
: M) f, p  w5 r/ P1 X: kturtles-own [a b c d k f g h$ Q$ v, N; Q5 a9 g# Y% S
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 4 U- }8 H  m9 I
]
& D  |, ^8 D. V0 N! l  q+ w6 m" Mto new+ A( Y/ M9 H9 G2 T  [3 S( [& [
  ca
1 {- j& k5 K! R! x  crt 5 * num_of_building( Y8 B# {4 k) m8 n: }
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
" J' A8 L' J( s4 t# y  scatter     ;;keep center-turtle random positions
8 G# A- L: y" \/ p. D7 p  unit_plan   ;;make up the building plan2 B9 R- j* J/ U- ~! \' l, F* B
end
( A/ K" [* E' H1 Pto scatter* P# w9 U9 s. P6 S
ask turtles with [remainder who 5 = 0]
! s( {/ ?+ @, R: `: u7 T5 L( X9 S[  P7 h! J& t* R' U4 v
set xcor xcor - 6 + random-float 15( U9 O. a" T7 G9 a. Q/ P8 R
set ycor ycor - 6 + random-float 15
4 a, ^% w" ~% |2 Y# _+ W6 ?# q]9 M, T. A# \1 H
end/ h' Q5 \0 h) |" h( Q
to unit_plan
( i0 a9 S) g; f! T& [1 Cask turtles [# O& y6 E5 L9 U$ x$ m1 o; b
if (remainder who 5 = 1) [set a who   x' p# |; Z) h3 s" u; O% ?
                          set x ( 0 - Wid / 2 ) 3 S5 j$ n7 Q4 u3 i- q; f* m( p7 L' ~$ m
                          set y  Dep / 2 ]
- {6 e4 ]: t" v/ ?3 i6 A7 u5 ]           set b  int (a / 5) * 59 q9 p. ^; l8 a( H+ k5 s
    setxy ( xcor-of turtle b + x )9 K+ E- N% W; G! L' [
          ( ycor-of turtle b + y ): a7 X1 G9 j8 f8 N2 q- q' W
if (remainder who 5 = 2) [set c who8 ?$ F! U1 O8 p: C. f. k
                          set x ( 0 - Wid / 2 ) 0 S; w  z2 h2 v$ p
                          set y (0 - Dep / 2 )  ]
3 i/ }' y# x$ F+ c: b: K                          set d int (c / 5) * 5
4 `6 _5 s" N9 H4 v8 b% C   setxy   ( xcor-of turtle d + x )5 X' c9 f  t+ {; q& g
           (ycor-of turtle d + y ) 3 Q5 t$ X7 v, Y/ B, m$ D* q
          0 r+ C! _+ O; X9 A% `* M( k" q
            ) q$ E- H. x1 I( o! n! R4 \$ Z
if (remainder who 5 = 3) [set k who2 a  z! ~( U/ ^' A1 ~
                          set x( Wid / 2)  
. I* R; ]! Z( ]% V4 Q0 ^: e9 w                          set y (0 - Dep / 2 ) ]
/ S# _2 M7 [; {. Z" ?                          set f int (k / 5) * 5+ D' p2 ^# _: s' {
  setxy   ( xcor-of turtle f + x )5 f% V$ z) @' b9 {7 O
           (ycor-of turtle f + y ) 9 V* u0 i7 O5 m/ H5 K
           3 M; Y8 j1 S+ x: w  j7 ^$ e* ~3 W
           * b# H8 i# E  i0 D% w$ f$ z2 Y
if (remainder who 5 = 4) [set g who
5 Z! o% `/ \' m* A) p                          set x Wid / 2 & c+ _0 b! L! e9 ?; l* T! U
                          set y  Dep / 2 ]& h% [/ i- u$ P+ s+ _3 X! J
                          set h  int (g / 5) * 5
, s8 W' f& v% y* u7 P* @  setxy   ( xcor-of turtle h + x )
& r  a6 M2 |. D) _           (ycor-of turtle h + y ) # K* b' }# X. @! N* j: s
                          
7 {. z' b" G6 P, a0 T6 j                          
6 s4 a* K/ Z" V: ^                          ]
; q& y- K( K$ [3 n3 A& tend5 d/ M+ d3 k, f

2 p; R; {: g1 P, y$ Y[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,: T! J% u. C% `0 w4 _4 ~& _1 _0 ~. m
应该是
  R' y# A! B9 @) p0 Qask turtles [1 O- F; x$ b9 M2 X
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
" t9 p7 l5 T0 {3 B  U% }                          set y  Dep / 2
2 G: H4 g/ o& e, T# Z9 {           set b  int (who / 5) * 5
% [0 n7 S2 h" J+ o& }, f    setxy ( xcor-of turtle b + x )9 n! V& K6 S* w
          ( ycor-of turtle b + y )]]
- ^2 h; C  U; ]$ wend& C2 h3 n0 i5 l3 J  \! {1 T& L
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-5 09:17 , Processed in 0.019393 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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