设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7900|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。- V+ s7 ?, }$ q  Y  Y( f& H8 B: [

) H, y% q) [- R4 B, |; ~但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。& ^  ]" e0 \+ d* H# ~6 t

( {. G7 q/ ^* }# Q4 b: K# W8 Sturtles-own [a b c d k f g h0 N( V; J1 c, R8 u( @) B5 L6 V
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: s" z! w0 y! O]
* f. Z: e' I' P" s; U' @to new' k, n( `# K" I
  ca
3 [. p& ]! o* n1 H4 v5 R  crt 5 * num_of_building
  r0 Q4 v8 K' E; m) r  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' N& y3 i6 Q4 f8 O+ a! h
  scatter     ;;keep center-turtle random positions
$ s$ M0 d7 I. Y* [  unit_plan   ;;make up the building plan
, Q9 A/ T) a4 ]& F# c+ A8 Eend1 w0 q8 t* E8 u8 c. R, T
to scatter: d+ ^1 u) [3 k( \4 W7 Q8 y
ask turtles with [remainder who 5 = 0]
& S) d% h0 ]( b3 R, o2 |2 D! D[
8 ^' [7 }) a; [0 T! D$ X  Hset xcor xcor - 6 + random-float 15
0 a0 Q& V( O) r: p8 ~* @0 Zset ycor ycor - 6 + random-float 156 E6 l: y3 Y, e+ F, |# z1 H5 ^
]( N1 V# A/ F4 w5 \9 r# M9 L
end
; O% N2 [# x- D! qto unit_plan
& Q; z. r# \* D- H7 Z* l2 I! ?5 ]7 x9 x& ?ask turtles [* B2 V  c2 b: T/ ]
if (remainder who 5 = 1) [set a who
- R- {& ^4 |) P8 T                          set x ( 0 - Wid / 2 )
# q5 P6 v$ D& M0 V+ t( V# ^                          set y  Dep / 2 ]
' F% d( B/ J, A% Z- i           set b  int (a / 5) * 5
, i& q8 ?- H6 z    setxy ( xcor-of turtle b + x )! P3 j- y( z/ \) g
          ( ycor-of turtle b + y )1 G$ R- S5 ]' Y& M! Q/ G" p
if (remainder who 5 = 2) [set c who
. B/ O6 Q) s0 Z* Y0 `                          set x ( 0 - Wid / 2 )
0 n" x+ j% h3 Y                          set y (0 - Dep / 2 )  ]- x) k' ]8 P$ ?- x% S# w5 d. o
                          set d int (c / 5) * 5
. A' T6 a  `( J- t   setxy   ( xcor-of turtle d + x )
' l0 E4 h( `& D$ |           (ycor-of turtle d + y ) / ?" A! ^) N' ]5 K. A' B) z
          + F. ^! b  s. c
            2 X! o, n. _: w. x$ K  a
if (remainder who 5 = 3) [set k who
+ m3 d! m1 P7 J5 @5 N+ l/ P( x                          set x( Wid / 2)  
2 v- [3 Z) r8 Q  Q" z, x                          set y (0 - Dep / 2 ) ]
2 @3 X% \( E* r) V1 P$ s( G5 N                          set f int (k / 5) * 5
" X1 v& m* f' }' a% {* F  setxy   ( xcor-of turtle f + x )# Y0 x) h. ?3 X/ O
           (ycor-of turtle f + y )
* U4 [. W8 r- f; S           
  y0 c+ M  f! P. V) D4 O           ! k- y: q# H! |. R9 r1 j1 ?8 Y  L
if (remainder who 5 = 4) [set g who2 J, F( z6 `9 p( w' E( ^/ S
                          set x Wid / 2
" K  R3 z$ g  c# ~                          set y  Dep / 2 ]
+ T* l2 {- }# a' r                          set h  int (g / 5) * 5
0 f+ P  ]+ `4 G  }9 U& F* T4 X" r  setxy   ( xcor-of turtle h + x )1 _9 c, n7 y& `4 T2 @# p( z4 K8 P5 H
           (ycor-of turtle h + y ) / _/ H  C, A, u2 W/ K, R
                          # K0 v+ n+ q; N3 u* z
                          
) ?+ Y/ o, S9 z6 T                          ]: z2 ^  @1 W$ \8 f
end, }  S* B8 r* G. c+ g) y2 C
% `4 u$ h0 `3 t
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
9 N1 F1 D( j" N0 G( ]应该是* c+ t* Y$ C  |( r
ask turtles [# h4 t( _. A  U( W3 W
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
) J9 T8 ]0 |7 h! k% b9 g                          set y  Dep / 2 % u9 S. B, x) K  Y" y0 `9 A
           set b  int (who / 5) * 5
8 r1 L+ l4 K7 x" ^5 ^0 e    setxy ( xcor-of turtle b + x )- y7 M( J% K& t& H
          ( ycor-of turtle b + y )]]9 \+ g2 ~4 m( Z, |# I9 }; |  U" w! ^
end+ \  a! t. `8 q  {& {2 h
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-16 14:11 , Processed in 0.018827 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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