设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6247|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。* q3 G, N- M* x( |' v* {( |

$ n+ b  H7 a0 C但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。9 y7 q, ~* v1 p$ x6 b0 `' K4 ~" P/ B
  `  S1 _. L# ^9 K! ^+ e
turtles-own [a b c d k f g h
+ y2 j; E: E, H) A: r) k& u  x y     ;; these are the leaf-turtle's offsets relative to center-turtle . T$ [: h8 v+ c3 o7 R; f
]3 k+ T) H7 h3 h1 P8 k) |, K& S
to new# [, |& j# X3 v% r! H
  ca* ^' Z  L6 w! |- D
  crt 5 * num_of_building
6 r- t" k8 k, Q8 ^. S  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
. b, Q! C' }) H) t  scatter     ;;keep center-turtle random positions
' Y3 C8 P- M6 A' X1 I' s  unit_plan   ;;make up the building plan
& k" J7 c; R6 D5 G1 \end
. K$ t: n6 c  b! Kto scatter
3 l7 R( j" z  ]) ]ask turtles with [remainder who 5 = 0]9 Z8 _7 j! r% c. C# m+ W! J' Q" t: q4 O
[
! _- h/ d/ C! c6 r/ g% n) O3 wset xcor xcor - 6 + random-float 15
( T% b- Q0 G2 b& Cset ycor ycor - 6 + random-float 15
  d$ J% ~4 ]: u1 _" l]) O, T0 n, C  P5 J
end- T9 {$ a8 B3 Y& }. q) Z( e
to unit_plan
) p" k+ a! w& Qask turtles [5 ?# ~; f( B8 P
if (remainder who 5 = 1) [set a who 2 t: b1 @2 s# M: @0 K
                          set x ( 0 - Wid / 2 )
5 z! d5 z8 w; U7 j7 a9 K, S9 v5 ^                          set y  Dep / 2 ]: A$ d! f6 W0 h
           set b  int (a / 5) * 5
& `7 o8 G( P* K& X1 B0 Q    setxy ( xcor-of turtle b + x )8 y7 f: K& d2 a8 y* c
          ( ycor-of turtle b + y )6 k- H9 ?4 H0 _% p  h( b* x
if (remainder who 5 = 2) [set c who
/ ^6 A& V3 W- O: A/ [% Y  A                          set x ( 0 - Wid / 2 )
; ?' [& V: `& l; e                          set y (0 - Dep / 2 )  ]
- y3 U0 w# o0 S5 [" y: ~* N                          set d int (c / 5) * 5) C0 V/ x* Y/ z7 ?& c) _
   setxy   ( xcor-of turtle d + x )
* ?8 p. O7 g5 I: h* K* r           (ycor-of turtle d + y )
& q. D1 J5 k7 }" d6 n8 D          ! n) l5 O2 N/ [& y+ g
            4 Y- R# T/ S7 }5 a' K# G' s2 A
if (remainder who 5 = 3) [set k who
5 A5 l" Z- Q4 c0 D1 y                          set x( Wid / 2)  / I  L2 @1 N4 b3 \; H5 E
                          set y (0 - Dep / 2 ) ]
3 F( I7 P2 I- f. ]  G8 n, `+ b                          set f int (k / 5) * 5: X+ [/ z- s' W4 @2 A0 F% w
  setxy   ( xcor-of turtle f + x )* I. k& q; ?1 O
           (ycor-of turtle f + y ) / @( ]* Z1 e3 {
           
5 e8 x1 O' S% ~* l* Z" K           
  C2 ]/ I* W3 O" _. D% \* B" Eif (remainder who 5 = 4) [set g who
9 |& J. ]' W- i                          set x Wid / 2
1 n+ J& J# p4 |: l; w. v* A+ z                          set y  Dep / 2 ]* q  c4 c6 B/ H9 w0 K
                          set h  int (g / 5) * 5
, O- q9 F3 e" ]" P7 f3 J  setxy   ( xcor-of turtle h + x )( u- u! p4 {/ ?( e" U1 z' U
           (ycor-of turtle h + y )
9 m7 ?. v; T5 x6 Q% M, x                          / ~9 A- ]. H; _9 w2 [, X5 V
                          
+ P6 a" C) D0 o% N- E4 n2 M                          ]* I+ Q0 u4 a# X. a; J
end
4 }3 _0 i8 k0 S  ]$ z- |) B5 w6 W0 Z: [6 q: t- o
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,. g# k- y1 l! b7 M2 B5 [. J0 y
应该是, J7 n2 F- f4 _5 x
ask turtles [& z/ b8 a% ^# A' n
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ( S7 O# O5 r9 D
                          set y  Dep / 2 + p6 F  c8 p/ l3 K$ F; ?
           set b  int (who / 5) * 5
3 a$ r4 N. U+ b. H: l    setxy ( xcor-of turtle b + x )
2 U" i# @8 V" p" @  v) M' e4 F" }          ( ycor-of turtle b + y )]]
6 S% O! u, }4 x& l% iend) Z0 h( T8 P0 A/ h
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-5 09:49 , Processed in 0.015612 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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