设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7846|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
% r5 d$ \$ [/ ^+ }3 J$ u3 Y9 h- i1 }* G3 d( b7 N% d% F& Z# Q
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 f0 m# R2 q/ L7 |) k  K' r

9 f" g, I; ~' ~1 A; Q" Uturtles-own [a b c d k f g h+ u6 R0 V( c1 D- t/ c
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: ^  v$ J$ M0 u) N: t1 w  q]* J8 U% c) l( _6 j
to new
9 o7 G" O! M% _6 ^  ca. H  ?! X1 f0 q; I* ~" I
  crt 5 * num_of_building" a4 i" |9 w  H0 H) S
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 \1 G0 B* X% W3 v- @5 ^  scatter     ;;keep center-turtle random positions 3 ~/ z! B' I0 A( _6 V
  unit_plan   ;;make up the building plan: n: l. [3 `, _! i; }8 @  ^! v
end
2 H7 g8 c& @. R# u) ato scatter
, I# F3 _$ b' q( J. mask turtles with [remainder who 5 = 0]2 B7 G8 f, M: }8 U+ M! q. r2 l
[6 A$ p+ O  s+ o' \- l& v
set xcor xcor - 6 + random-float 15
) h8 v" S6 K' H4 u% u& N; tset ycor ycor - 6 + random-float 152 g! n- s' f5 E% p, `+ l
]
  T: U9 b- \4 w5 U/ Aend
3 J& o' Z9 R3 ^# s1 I* S+ ]to unit_plan
: T7 m' W3 S- L* }3 Z1 \" m3 N# ?ask turtles [
/ B4 s1 k# a3 S" P" e" lif (remainder who 5 = 1) [set a who : d( |" V+ _) m2 A% S
                          set x ( 0 - Wid / 2 ) 7 L  I: o6 U8 p
                          set y  Dep / 2 ]7 j8 a* H2 i, B+ _) X  p$ S6 }
           set b  int (a / 5) * 5
' z! A/ R+ n7 o8 V( c' v    setxy ( xcor-of turtle b + x )
8 O9 }  m; q. s; _          ( ycor-of turtle b + y ), v" z% W/ ~8 I
if (remainder who 5 = 2) [set c who: L9 d+ {7 V+ D4 w& Q
                          set x ( 0 - Wid / 2 )
6 a7 e  @+ d+ r% z9 n                          set y (0 - Dep / 2 )  ]. t$ u5 A6 M/ F) s
                          set d int (c / 5) * 5
0 @) |1 \  `: P* ?$ p   setxy   ( xcor-of turtle d + x )+ I: ?5 k; @1 w( @
           (ycor-of turtle d + y )
* j5 W* k7 b( z8 A9 K. z) H          - I1 @, ~! i9 Z7 |/ N7 c
            / O' E1 s$ C$ q% f2 ~
if (remainder who 5 = 3) [set k who8 y! [" G7 L) c$ V1 Z" e0 d
                          set x( Wid / 2)  
8 X- y. `) h' H) m7 j                          set y (0 - Dep / 2 ) ]! o7 u( i( g+ ~; |
                          set f int (k / 5) * 50 f3 ^9 A; {# P- p% E
  setxy   ( xcor-of turtle f + x )
! e. Y3 r; z" l; G! o           (ycor-of turtle f + y )
, @! i4 h; R! w. Y. i/ E/ M           
) ?; P# R- y  [8 Y9 c. `* ~; E           
* M* j7 d4 F; Mif (remainder who 5 = 4) [set g who; ^4 d4 R! c0 C6 i  l- `5 h$ @
                          set x Wid / 2 8 Y* `2 e4 m: N3 j
                          set y  Dep / 2 ]
1 Z; ]: @$ y6 [: S; d# |                          set h  int (g / 5) * 5
2 l" i- ?; R  ~2 m$ B& i. ~7 S- _) j+ D  setxy   ( xcor-of turtle h + x )
, n9 R% W- b6 f. h% V           (ycor-of turtle h + y )
$ l; Z, [2 m6 b  x9 {6 {/ e# ]$ I                          1 `, t+ Q1 E' D; F! T; k1 U
                          ( h! r9 i0 q% h# N
                          ]+ B, f, h0 @3 l, G+ y9 p
end
3 s( l" m6 L7 g8 O3 l  f8 Q& ]& P2 g) d/ [8 {* e6 c. ]8 l
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 _+ C  @3 `, F/ j$ }- }
应该是
! |7 G. j( O3 u2 l# K2 a8 T- zask turtles [
! L' Q8 k& w0 n$ g6 Wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
: b+ X) @7 J) A  \' I* P                          set y  Dep / 2 ! T; ~0 ?2 W' Z" K, w1 F+ r5 p
           set b  int (who / 5) * 5# H% s; Z( O! G9 P7 X( v
    setxy ( xcor-of turtle b + x )8 M$ X1 L9 |, k; i2 f
          ( ycor-of turtle b + y )]]# G, [& V' y( Q
end
( y8 G' |- \! C之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-8 18:08 , Processed in 0.019432 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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