设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6772|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
$ d" m& m9 d0 r+ C
" V. {/ @* X  C# ~* R但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' @% `4 I5 O' v3 ]+ q

- G1 N2 K1 G$ d) _$ `- hturtles-own [a b c d k f g h! x0 Z; V( f5 g
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 g* W  E$ y7 x8 Q  t" G  ]]# s+ [# j* [) ^4 r' E+ Z6 H$ b
to new+ _$ g( S( i" P+ R7 ^. n5 K4 o
  ca. t6 T  h# e5 d8 |7 y: o
  crt 5 * num_of_building0 ]! H/ ^! E6 A* D$ }! j4 M9 W+ C5 h
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]* O2 N4 M# w. o5 a; Z! n2 F
  scatter     ;;keep center-turtle random positions
3 r  l+ Q" C' H  unit_plan   ;;make up the building plan
- _; M4 O. p' J) ^; {* Lend6 I. r( y) ^4 y6 a$ Q( J; x
to scatter
/ g- B4 ]/ c( ?5 ]5 o/ W8 A/ lask turtles with [remainder who 5 = 0]  p, T1 r$ a* ?4 H1 ~' f' z
[6 P2 u. ?) p* T
set xcor xcor - 6 + random-float 15
. _! [* I. F+ W. P6 wset ycor ycor - 6 + random-float 15
! W  e3 m' m7 z' Z]
  ~6 T" b5 t' w7 `1 @+ _end
. |/ E3 n9 L8 W8 j0 E: @( ato unit_plan 3 S, J# T  a8 a, B6 v
ask turtles [* P/ O- e& F# R- Y+ a' k
if (remainder who 5 = 1) [set a who   ^* A  d, a4 r- C" C) n
                          set x ( 0 - Wid / 2 ) 7 W" O  h. a( `9 R% K
                          set y  Dep / 2 ]
2 f/ Y1 |, ]. H2 r& ^8 }% p           set b  int (a / 5) * 5
" z% @/ }& I1 K( n4 n    setxy ( xcor-of turtle b + x )
% D3 v5 H5 J9 Z2 Q4 \' C; v, O/ P: S7 u          ( ycor-of turtle b + y )
' h& _2 }: c: j  t8 J* p3 uif (remainder who 5 = 2) [set c who# V6 x$ T( v2 K: D: x- C  N: {
                          set x ( 0 - Wid / 2 )
( k, X; N- u; t8 O, m0 l! @                          set y (0 - Dep / 2 )  ]
% J( [  K. l* k, f5 h                          set d int (c / 5) * 5
; G6 B* I' k& ]& M   setxy   ( xcor-of turtle d + x )
4 j; S! R) ]; l. z4 }5 C1 o           (ycor-of turtle d + y )
1 [! N2 a, L* w% P% w         
2 R4 ^) c/ H. ^3 _* ^" K8 |            
3 t  y# B7 u+ Hif (remainder who 5 = 3) [set k who* M* e, F7 |& U+ a4 l
                          set x( Wid / 2)  
: l$ q1 e7 ~, P                          set y (0 - Dep / 2 ) ]
8 }( H( [, J* i' Q# W                          set f int (k / 5) * 5" z5 r  I; e. t7 ]3 |% g
  setxy   ( xcor-of turtle f + x )
4 T* D! {- a, T# o0 L& u$ o" x           (ycor-of turtle f + y )
! \' n% J/ ]5 o0 H           / v) ~( H. C0 T, K
           : `5 D* T; T4 ^
if (remainder who 5 = 4) [set g who
. j2 R- b0 Q2 _( {                          set x Wid / 2
1 l2 M* i6 m' E0 Y2 ?9 S# e8 }                          set y  Dep / 2 ]8 _* w$ P, e7 B! q+ i
                          set h  int (g / 5) * 52 W" Y+ J) i6 r6 z2 ~
  setxy   ( xcor-of turtle h + x ), G# Y& c) X2 e4 u* G
           (ycor-of turtle h + y ) 8 Y/ @7 D+ n8 Y0 {5 @3 o9 R
                          5 z& o8 i. U8 O
                          6 m; R% D2 B' W& D; L+ M# K
                          ]
  G; b, F$ X4 e' _% o2 S# Send9 q( A0 q* p2 @% ^4 p1 w8 {2 X& u) u
4 `( ^5 ^, G/ Q/ T# N
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
* Z5 J( f+ s* L% }# J! \应该是! }+ I0 b5 Y6 G. P
ask turtles [! M, n. c4 H" X( x
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ( p, h  K, N) ^4 H  h
                          set y  Dep / 2
! f: ^2 ]3 B* T7 H* e2 H- G           set b  int (who / 5) * 5" B/ L& q# T" O
    setxy ( xcor-of turtle b + x )
8 h+ i! @) v4 e! P          ( ycor-of turtle b + y )]]5 ^: x- k3 l/ F6 O$ W, S+ q
end
' I; b( q- K: g- o6 r之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-22 02:41 , Processed in 1.851966 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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