设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6835|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( \9 t% Z1 ~  N& @; ^, r! X
6 b$ \* r" X# ]7 a) G' {$ B0 P但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' S" n; [! [: m/ Z7 R2 l! s

3 i+ {7 p; l. u) ~' _" `turtles-own [a b c d k f g h/ e3 P8 j. w1 B0 n2 i
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle # u. o' ]; w% O/ i7 b
]; B5 i+ ~7 p$ h5 b/ t& S! R
to new9 F# d8 D' E/ a; k$ t" x: L5 V
  ca
4 i5 T, j6 T4 x2 ^* i4 Q  crt 5 * num_of_building8 }( e5 E: [# n- H( a
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  ~; D% ?) B6 p5 v  scatter     ;;keep center-turtle random positions , V( s/ Q6 W4 ]
  unit_plan   ;;make up the building plan
7 K" x8 `/ @$ O+ Q! hend+ W( H% \9 R! W- ^
to scatter) }9 e3 @3 G% C6 e7 a- t8 Q
ask turtles with [remainder who 5 = 0]
, L6 g: m# u% U2 ~6 x[
/ g  l. v2 q( N5 u! L6 n7 Sset xcor xcor - 6 + random-float 15
! a, O: c5 G9 m8 X3 }set ycor ycor - 6 + random-float 15
4 x$ W4 S: g6 I( ~7 u]
2 S3 P0 n; O6 E5 ^  m; S3 o, U) r9 mend
& g3 E- y2 M# r0 k5 z$ sto unit_plan
8 d  @! i# O. Z6 Task turtles [* c! |% m; \: h$ J$ o* J) A
if (remainder who 5 = 1) [set a who
5 o6 R6 k) k& N                          set x ( 0 - Wid / 2 )
, P/ j* e5 z+ Z2 d- D, z& G                          set y  Dep / 2 ]
# w! e3 g% b' P, G) g/ `           set b  int (a / 5) * 5
0 C2 L# J( z' I+ Q' M* o; m6 J    setxy ( xcor-of turtle b + x )4 f7 B# D# I5 q, }
          ( ycor-of turtle b + y )3 x" d$ L) I/ n2 n9 p/ E
if (remainder who 5 = 2) [set c who. u7 P& b( Y2 f6 N1 c% ?
                          set x ( 0 - Wid / 2 ) 3 F! S; {4 \/ q; v
                          set y (0 - Dep / 2 )  ]
) t, D& M# L+ R+ T                          set d int (c / 5) * 5* L; |/ S' B# C& M0 U# T' m
   setxy   ( xcor-of turtle d + x )
( v: H$ u8 R% X+ {% \           (ycor-of turtle d + y ) " \5 l$ P+ j( q
          ( S- ?. b5 p4 ?9 M- k% e
            ' F4 d5 W- N* V7 m7 q
if (remainder who 5 = 3) [set k who
* ^5 w, |6 U* W& n( m3 Q, H1 b' N                          set x( Wid / 2)  % K% _- [3 z: S
                          set y (0 - Dep / 2 ) ]+ k0 Q+ t* e- d5 ]* ?! N# f8 @
                          set f int (k / 5) * 5( H( r% T* n% X
  setxy   ( xcor-of turtle f + x )
. h( Q$ b6 A5 a  ~" ]% y           (ycor-of turtle f + y ) 7 E$ }  n2 b' X
           
+ \  j. a4 X3 Y0 c- R8 w           
+ O# w# r) ^+ \2 ]8 U  B1 _* J7 wif (remainder who 5 = 4) [set g who5 x9 N, S$ B' E  i' ]
                          set x Wid / 2
9 C2 W% n* D1 A! M" }7 @; O! A" M                          set y  Dep / 2 ]
1 K( i- E  ^$ v* C2 T6 l" U( J                          set h  int (g / 5) * 5
& n8 D& Y; L: T# [4 M3 e9 Q  setxy   ( xcor-of turtle h + x )
; K$ |0 w: X: h; P5 K! Q           (ycor-of turtle h + y )
3 V5 ]& ~" J6 X$ l2 J                          $ Y) J8 K2 |5 Q1 t# a) P* K7 F. a
                          $ `$ K9 j4 X2 x. J6 m& ?
                          ]; N6 }/ L; Y; ~( H) i; B- u2 O
end# t6 t. L' z7 @- M8 t8 ^
( j9 U# \1 X6 N5 M0 u1 o
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,7 N1 o0 D1 c/ b, X( ?
应该是
! n8 Y9 h) x8 mask turtles [
0 z6 O1 I# O* Z" P1 C) Uif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
, P  ~+ a+ @5 V; e$ b# a) D                          set y  Dep / 2
$ a/ ]( u2 G) |6 f" y; ~           set b  int (who / 5) * 57 S7 h  Y2 ?# n) m; Q; v2 Z2 c4 }& |5 F
    setxy ( xcor-of turtle b + x )
2 S* F- e2 |( L' a$ Q0 r9 I          ( ycor-of turtle b + y )]]
& `) i0 C. m/ @end
+ s, `( G( R' C) F) I: Z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-27 19:24 , Processed in 0.017753 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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