设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6946|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& D- J' H% V: y" m
/ O6 @* j! L; q/ y# d9 s7 K
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。" F# ^7 s) @" c+ s( f$ f" f

+ |, @- Y7 H: w2 Yturtles-own [a b c d k f g h
- x% a" s0 {; x$ V2 _/ ~9 r, k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) E) J0 \+ x2 V( x( m. }], O1 V7 d$ a. ^- q6 ]
to new
% G  y3 H# n8 d: x' ^  ca# O* P6 E* ?8 u7 p9 H4 \! D
  crt 5 * num_of_building
  C4 s+ w5 y  N9 t  M  Y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( q. m+ p6 v. F  scatter     ;;keep center-turtle random positions : N6 g0 o/ q' y
  unit_plan   ;;make up the building plan
  H) c  t/ i5 r* U/ ?4 gend
+ i) g5 O9 V7 Z4 W+ M( o) }8 [8 {% bto scatter6 r% l; K7 G2 [0 c- r
ask turtles with [remainder who 5 = 0]
3 b! k/ e8 r# t7 }[
; j# y2 b5 h# a6 Dset xcor xcor - 6 + random-float 15
* \, w! G8 m5 n2 b5 pset ycor ycor - 6 + random-float 15
' l# t/ p  l& o7 Y( T7 b]( z  c& g+ {0 M* w5 }0 }& r& C
end$ L: h% {) r1 [1 M" ]1 c, @  d
to unit_plan
- T: X2 T$ X2 L- x" d* Xask turtles [) _+ r9 z' t# K3 ]/ J
if (remainder who 5 = 1) [set a who
) @0 Z. a/ c1 \6 z' @) ?+ o1 Y1 W$ s                          set x ( 0 - Wid / 2 )
0 X: I+ @& q# n                          set y  Dep / 2 ]" H( Y! y! M/ Z% U1 l3 T
           set b  int (a / 5) * 5
2 H, @7 i, J2 o7 D. B( j    setxy ( xcor-of turtle b + x )! i' M' }  X2 {) ^* M( |* h
          ( ycor-of turtle b + y )
/ v0 y$ ?/ n& lif (remainder who 5 = 2) [set c who
9 T' N" O- k: `* ?0 I$ Y' f4 @: k  i9 d                          set x ( 0 - Wid / 2 ) 1 F0 R% Y' e8 i' v7 }. U5 B0 R; d
                          set y (0 - Dep / 2 )  ]( a- D) u! A5 c3 N# q
                          set d int (c / 5) * 5
+ v; f$ V' V+ {! }* ?) x4 n5 B   setxy   ( xcor-of turtle d + x )
3 j7 G: ]3 H& x# I, z9 S& H( K           (ycor-of turtle d + y ) ( \  v* c( w9 g$ Z
          5 C6 M5 x. v! H7 C* I- R  r
            
( U$ O+ i$ G0 ^9 ], K6 ]7 }if (remainder who 5 = 3) [set k who
/ Z6 W+ i$ N0 K4 f+ B) @: m                          set x( Wid / 2)  
# y4 t8 R4 f! @+ V: S( p! l                          set y (0 - Dep / 2 ) ]
( A: y8 s6 R+ J* [% O- J& y                          set f int (k / 5) * 54 d- L: u8 C1 H
  setxy   ( xcor-of turtle f + x )
* N  [1 l- a* h" Y5 w8 [* }( l           (ycor-of turtle f + y )
4 h5 y) {/ M* n0 l. O           
, F4 u( i6 R, r0 T6 g: E1 v4 z           5 a* r" j( P4 Q5 Q
if (remainder who 5 = 4) [set g who) {1 x! |# Y$ w
                          set x Wid / 2 , }$ S; j$ X# W3 ]. G6 W
                          set y  Dep / 2 ]& y6 i% z0 I, T1 W
                          set h  int (g / 5) * 5
0 z7 v9 ^9 N/ O+ k  setxy   ( xcor-of turtle h + x )
- \: C8 I) E( Q           (ycor-of turtle h + y )
5 j* x5 u( ^5 S                          / Z  U) k! g2 d, \
                          / L- J7 e- P# F. E4 w! y7 h% u
                          ]
0 W, u3 C& L5 |2 M# B, A: iend
  [6 @9 p/ _9 |+ {# X9 |; A/ j* \- L5 ?% z, O! c
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' B3 J, w: w+ D8 J2 E7 k应该是
* p& _4 I, p9 \' @8 Q, Zask turtles [
- L  t+ ?- F0 s# `if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ; Y7 C" Q, f4 c$ h/ r3 ^
                          set y  Dep / 2
9 L9 v* z7 O. n. _# ~8 I$ x           set b  int (who / 5) * 5! S  y/ X/ \% Q' W
    setxy ( xcor-of turtle b + x )
2 @; q$ o1 n- E9 P; e          ( ycor-of turtle b + y )]]2 P8 o. _  c9 u
end
  Y4 n& N; l1 E' q% ?' o之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-13 05:09 , Processed in 0.019460 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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