设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8072|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。3 s+ V/ v, s, R& c: x
' b9 {% Z' R# z+ r
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! t4 F1 u; U1 _( S4 ?" ?; c' d* \6 l/ @
turtles-own [a b c d k f g h
' H2 U  A( J' f5 _; I  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) A' j9 l# M* ~. r# f9 |7 l' R
]+ C2 u. m# F/ [9 F
to new
- V2 S1 ~1 G9 p, n$ d  ca6 r* u; X+ X( {$ o" M3 `, s
  crt 5 * num_of_building& |3 S* M6 C. O3 ]! |& Q- D& _9 L0 L
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
$ L9 d- O2 ]: q  scatter     ;;keep center-turtle random positions 0 I. b+ ~; B3 B. I% n  I
  unit_plan   ;;make up the building plan
& j9 n1 V  Z6 O0 Q8 S* X9 Nend
& ?7 }4 S2 s1 l, r' mto scatter' B  R* @* ^3 z1 \& J
ask turtles with [remainder who 5 = 0]/ g8 G0 z7 I) \$ q
[. e0 W1 K; I7 ^2 Y
set xcor xcor - 6 + random-float 159 H4 s0 R  y" `
set ycor ycor - 6 + random-float 15( e  C1 Z; p! u$ o" m0 J% e! t
]" [- Y7 z% k& v* @1 b2 }5 k7 k1 z. q
end
! o8 i; |' [7 O# F  dto unit_plan
2 P6 i+ v% R& e2 N( _9 Z0 kask turtles [
1 P3 Q0 {$ K6 X7 y, Nif (remainder who 5 = 1) [set a who
8 `. q( V5 o+ ~                          set x ( 0 - Wid / 2 )
) P' _& F0 f  R  [8 h6 {" Q* @                          set y  Dep / 2 ]
4 g/ |' C8 G1 N4 t9 d           set b  int (a / 5) * 5$ a2 t. c3 L8 U4 A
    setxy ( xcor-of turtle b + x )
, W  B. @! m1 e- Q, ?/ |: K4 {" r! q          ( ycor-of turtle b + y )
$ S8 g, }, x* z) o, |5 Yif (remainder who 5 = 2) [set c who
; f- x+ E% Q/ h/ u1 p/ [: o                          set x ( 0 - Wid / 2 ) % d8 |3 Y/ t- O+ Q* G1 v
                          set y (0 - Dep / 2 )  ]7 H( `) O5 J3 v6 N1 a& Z+ l+ ^
                          set d int (c / 5) * 5
$ r1 S1 r( E7 }  X' k, n   setxy   ( xcor-of turtle d + x )
  V7 B  D$ h8 d8 o           (ycor-of turtle d + y ) * l( ~: j. m# ]; n! @) H
         
$ i8 {, R3 B' _* i+ U+ b, r; G8 w            : h1 J! O7 C0 _2 z! g5 h2 z
if (remainder who 5 = 3) [set k who: S8 Q4 R. a5 B: J: u$ a) l' }1 s5 _
                          set x( Wid / 2)  5 ~: I8 b5 \" {
                          set y (0 - Dep / 2 ) ]' ~! e# o3 {* g! X* [" E' s
                          set f int (k / 5) * 5
7 ^+ z) V8 Q! c; l  setxy   ( xcor-of turtle f + x )2 T! ~* U; [9 W) w
           (ycor-of turtle f + y )
( j! M. u' d2 g. T2 H# V" o4 X           
  ~3 j8 R* A- D; v           
) R) ^. S, {2 C/ f4 o2 xif (remainder who 5 = 4) [set g who
/ P% R2 T, E8 j1 r0 v                          set x Wid / 2
: M1 a! ^* V7 b5 e                          set y  Dep / 2 ]
3 Q9 y* W# r& ]( Y: l. O3 D  }; B                          set h  int (g / 5) * 5
& u1 J3 Q' S- K4 m) L" H  setxy   ( xcor-of turtle h + x )  ^+ N5 q) f, M% _8 o+ O+ e
           (ycor-of turtle h + y )
& w# O# w9 |* o( t, Q" Y$ p                          
! @: `/ F1 M  ^                          
" t. k6 [5 I* x" @* K  J6 U                          ]
4 n; b; p- ?" D# |end# q0 y5 b- M- D) ^
3 p; p: B  H. i: S
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
7 S; b3 P% v: p应该是
, t9 I% L# _, p+ A6 v: aask turtles [
% W$ }# V( [3 R$ w5 Z+ fif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
/ B- O  r0 h% i% l                          set y  Dep / 2
7 O+ b$ b/ Y: L$ i2 r: ~% c           set b  int (who / 5) * 59 Q+ t3 p; G/ k& }& L
    setxy ( xcor-of turtle b + x )! L& z- h% L: f5 i8 q+ X; g
          ( ycor-of turtle b + y )]]
0 t: e$ F% S+ f# Y' j3 cend) l6 x& w8 B- Y
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-4 00:45 , Processed in 0.016159 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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