设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9131|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。0 V/ ?6 Y" I+ P. A9 p

- s, b9 p: U! r& A$ h) t0 Q但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) T3 M1 T4 y6 e- @) G9 V' L, f' z, R" i' w" b+ |
turtles-own [a b c d k f g h4 L( p. C4 e7 _$ [  v" H6 A
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
0 V- Z- k* J  Z% I7 s# X]
3 t+ \. [2 @8 [to new
/ @8 H0 ]( d+ x* G+ ]  ca
( O- A( T4 K9 R$ h6 B5 u  crt 5 * num_of_building% D+ y' C2 b) y$ B7 @7 ]) e3 h( U. C7 Q
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' P  O; W+ p0 z9 m# k, A+ m) L! k
  scatter     ;;keep center-turtle random positions
% X' \) R# G# [) e; y6 I+ b8 U  unit_plan   ;;make up the building plan
0 O  _$ S% C" \# eend$ b3 m: }9 }) I1 |/ G6 K, d
to scatter* J5 b5 n- w" w9 |% U
ask turtles with [remainder who 5 = 0]
& j' `! O6 ~' R* T. n[
; w6 |% ?6 Z# V) a' y* l% Hset xcor xcor - 6 + random-float 15/ L7 E% f; a) \. t% n) H. B
set ycor ycor - 6 + random-float 15$ v, `% |/ N8 a8 y) j7 ^
]% S% \* z) H" ^; H" v
end/ X. m/ V! q& }& e. c6 V
to unit_plan
8 m% K/ g( I0 U  n) W- H# Qask turtles [9 V( |2 d- D; G8 b
if (remainder who 5 = 1) [set a who $ f' V1 [- N7 t3 G5 }
                          set x ( 0 - Wid / 2 )
5 Y* K. A% B  d# U                          set y  Dep / 2 ]
8 q" e7 H0 ]5 g           set b  int (a / 5) * 5: L9 g' `5 V3 o
    setxy ( xcor-of turtle b + x )
7 Z# f1 E: K7 Z* ?0 C0 D* U          ( ycor-of turtle b + y )3 C6 b- t7 |# M  H, u
if (remainder who 5 = 2) [set c who
9 H3 E  Z) r. i: |; \                          set x ( 0 - Wid / 2 ) % A- l+ K$ o* i8 g4 K
                          set y (0 - Dep / 2 )  ]
2 c: n; V2 Y- Z( Z7 U: ]% `                          set d int (c / 5) * 57 T' J0 y, h$ b5 c2 m* o
   setxy   ( xcor-of turtle d + x )1 ~, n& X/ b, V2 _6 i) M0 s
           (ycor-of turtle d + y )
% }, w6 W6 x; J4 b9 @  z1 n2 |         
! X( x( e1 v+ Y% \' e            
( J* T, a! A3 y4 ^( x* X  h/ s- f# pif (remainder who 5 = 3) [set k who
+ h9 v* {4 X( U) }! }9 k1 ^                          set x( Wid / 2)  " d6 h/ `$ @) h0 m- p9 ^9 o
                          set y (0 - Dep / 2 ) ]! k) N! f( C- c2 a
                          set f int (k / 5) * 5% b2 Q# }. D  {. S3 a
  setxy   ( xcor-of turtle f + x )4 |; p: ]: ]1 y( k1 G. Y8 d, A
           (ycor-of turtle f + y ) ) d/ m# f- F2 Q/ O, C
           9 C- b9 {8 [7 J
           
2 {$ x: q" j* rif (remainder who 5 = 4) [set g who; x! o5 n% o- p' g/ h! {
                          set x Wid / 2
2 g' l$ N# e# E                          set y  Dep / 2 ]
& M1 d, _) [8 k2 y                          set h  int (g / 5) * 5- v# R- K9 ]( w% J3 z7 r$ Q, U) }  K
  setxy   ( xcor-of turtle h + x )
1 z+ M: d7 m7 Y4 E# I$ E           (ycor-of turtle h + y ) 0 q6 u/ Q( Q" V5 B7 u
                          1 ?) a5 G' v( O. j: }1 `4 M4 V
                          
6 B0 @, G3 q: W4 a5 e                          ]* A0 i! W% \+ [! K
end9 g) ~( R! |" b* ?& f
/ |2 \6 H( j8 |# W
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
7 s4 _; K; }6 Y! Z# O应该是
+ M& l% `' Q# E# ^1 Sask turtles [
; r* X0 w& C1 l  v6 K; W* Gif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 h$ `- Q' y/ H/ n/ U) m1 K
                          set y  Dep / 2
1 Q0 W* Z) E/ E& N# R           set b  int (who / 5) * 5. D6 J/ X, o% r; G
    setxy ( xcor-of turtle b + x )& e8 n6 q) ?' R1 u) g# g
          ( ycor-of turtle b + y )]]1 t# l* L2 U  v! q
end7 G( [9 ~' V  N, J8 B7 O7 l6 z
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-20 23:20 , Processed in 0.019316 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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