设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8271|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
8 t3 u0 B! ~5 h9 a# N' L3 Z! P
. i& Y9 W2 I" m9 x9 C- C, b9 H但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
2 A! s+ r; m' u8 r8 {: }' f$ d0 S/ q! u, B2 _7 ^" p2 i
turtles-own [a b c d k f g h
& G/ u# V, L# J0 I. t  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 `9 R/ t* J/ p' L3 a
]
3 Q+ i$ s& I- p; Z) S7 a# ^; ito new
3 z8 j" _- d" w! h  ca
1 j+ U+ m+ G/ M. j( i9 y  crt 5 * num_of_building# \3 `( C6 X4 y8 p# X
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 J2 L" h- E+ w6 J0 U5 C  scatter     ;;keep center-turtle random positions : F$ a: y4 }4 F3 p
  unit_plan   ;;make up the building plan  p5 x) M8 u2 I9 e) h: ]
end
3 z- G$ ?6 R. p6 {% G2 }# _to scatter% \  Y3 b0 }9 l/ Z
ask turtles with [remainder who 5 = 0]2 q$ s3 T. p; E0 h4 I9 `
[2 Y8 w8 l( u' w- c1 q- E; D
set xcor xcor - 6 + random-float 15
3 I6 ?: n6 m4 n; G" s! |2 Tset ycor ycor - 6 + random-float 156 @/ H& v, d/ @
]
* r6 {/ P3 f! n4 ]5 F5 P* Nend  @. s9 x6 G  A7 I9 _$ S
to unit_plan ! g3 {, N1 @; L3 J7 b9 O) y
ask turtles [
% S, V) |7 r  Y, _3 o4 Yif (remainder who 5 = 1) [set a who
  d) M0 F6 C  a& j                          set x ( 0 - Wid / 2 ) " n( M. s) a0 k
                          set y  Dep / 2 ]6 T/ k& B  d1 a* T3 t4 ^9 t4 i. z( s
           set b  int (a / 5) * 5+ \$ M  ?2 ]+ M; g! R* [
    setxy ( xcor-of turtle b + x )
* B4 X0 L/ u+ E8 y9 t' Z8 O/ D& }          ( ycor-of turtle b + y )
4 g6 b2 K1 o& H+ F2 U( b8 Fif (remainder who 5 = 2) [set c who
, U) ~7 B" z8 \7 {) w1 B. l3 J                          set x ( 0 - Wid / 2 ) 2 X" `! A1 @+ E! H( y+ n6 U; `
                          set y (0 - Dep / 2 )  ]
/ {. l# Z) U* e' t                          set d int (c / 5) * 54 V5 R8 v' a" ~
   setxy   ( xcor-of turtle d + x )2 H. r$ j8 b# V8 w$ [# T( C. i; t: D
           (ycor-of turtle d + y ) " o  X4 v1 b0 N4 |/ s
         
( K+ _% |/ t/ N7 ^0 K            
( l. K* o# x0 @7 J4 v: Kif (remainder who 5 = 3) [set k who
& p- v. |; f6 h& T                          set x( Wid / 2)    m( s$ R' ^' B5 H5 b- s
                          set y (0 - Dep / 2 ) ]
8 E0 J% i3 Z7 i                          set f int (k / 5) * 5' j/ c* u& m' H' ?9 t; [
  setxy   ( xcor-of turtle f + x )9 }, H+ R9 W, E* I# i" w8 z
           (ycor-of turtle f + y ) ) `9 _2 I: B  H$ {' F
           
1 s8 e) u5 C7 M! S           6 n! W7 j- K" m- A2 i
if (remainder who 5 = 4) [set g who
& @! _- S* \9 e) D                          set x Wid / 2
0 K. C# h& ], c4 _" z                          set y  Dep / 2 ]
: F2 p- T  O1 ?; t                          set h  int (g / 5) * 5
2 G# q( ?) i( @! Q" t0 s  setxy   ( xcor-of turtle h + x )- r1 H8 [, P) t% r6 i$ v8 \) ]; Q  v
           (ycor-of turtle h + y )
6 L' }- k/ U) I9 v# g# m1 i5 @                          
0 o9 k* F7 W& x3 k                          9 R4 _; g, ]+ p4 m6 M3 X, [; f) N
                          ]
  K" v- |+ ^4 i8 I) T& Nend: o$ \. C$ I1 @8 u% f
# M9 G1 ~1 H7 U
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
/ M- D* ^5 W' r3 R, U应该是
5 f  g1 O+ e+ Oask turtles [
$ U! b: ?7 s, r  G' nif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
7 f! \1 R; B9 [                          set y  Dep / 2
3 b7 }) [& {* }( W# ~           set b  int (who / 5) * 5' G$ ?4 H5 ]) [3 V  j
    setxy ( xcor-of turtle b + x )
* D$ Q. w' j5 m3 S4 A% H          ( ycor-of turtle b + y )]]5 G6 B1 m3 a0 D2 D$ p
end
0 I: {. ?; g" N/ ?1 `- G  r之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-27 15:01 , Processed in 0.019546 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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