设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8441|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
* _. e# w% U+ o" g
/ y( U. Z8 o5 J3 k9 x2 j8 P但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
3 n# I2 j: X5 P3 C" q) Q, U) B; G# |& g# R6 ?8 V& S3 J" I: g
turtles-own [a b c d k f g h4 {) U6 }" U& d
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle   P* F' _8 {, I8 G/ a
]
1 n3 Q% \6 n5 x& Uto new. S- N9 e# l- q# D/ I0 W. W; B+ u
  ca
/ U: }4 {) e( f- m: _% r# l% M  crt 5 * num_of_building
, @2 Y2 y3 z* s( a9 _  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
% ?& k& G. ?/ f1 @5 b1 i3 I. r  q  scatter     ;;keep center-turtle random positions   A6 u8 p* a0 Z- @" H7 M
  unit_plan   ;;make up the building plan
( T, w8 I0 s3 Q) z( l) G' Iend2 h% ^8 F% D/ J8 N/ o
to scatter8 O! q1 z$ g2 x2 A; c3 U( s% H; E
ask turtles with [remainder who 5 = 0]
( f9 o: Z, g8 {. ~[
8 f% G( b8 L! s4 Fset xcor xcor - 6 + random-float 15# B( U; U: D( o1 D
set ycor ycor - 6 + random-float 15
* f% O/ p- W9 Q6 h]4 E2 r! ?1 C; d' y0 ~
end
4 w  I7 E8 ]. l; }$ ~" j- uto unit_plan
. D$ \" V. n, q  |5 Xask turtles [  ]% N, H8 l9 Z( b) N4 [- y% F
if (remainder who 5 = 1) [set a who
* C5 Z- |4 H6 D' \( ?9 ^. [/ ?" _                          set x ( 0 - Wid / 2 ) , w. u$ \2 P( L1 R
                          set y  Dep / 2 ]
6 C* j4 S. s1 `. D2 A           set b  int (a / 5) * 5
/ z) f2 D! z  o1 |9 Z6 I6 ]9 o    setxy ( xcor-of turtle b + x )
' W( l/ @% E7 d          ( ycor-of turtle b + y )
1 }8 c  ^" K$ cif (remainder who 5 = 2) [set c who
& t% P* V& l- K  a5 v                          set x ( 0 - Wid / 2 ) + {! D3 P/ U+ {4 T' I+ P. ]
                          set y (0 - Dep / 2 )  ]: W) Q0 L6 b1 p9 D
                          set d int (c / 5) * 5
+ _% L, ^0 r+ r   setxy   ( xcor-of turtle d + x )
" t5 J) L4 n! ]6 y1 f1 l           (ycor-of turtle d + y ) # o) q8 D3 |6 }/ f
          * c" w3 G& j" W
            : ]( r0 v* t7 |% O
if (remainder who 5 = 3) [set k who2 j9 O6 Q3 w( L- f4 z+ m! r) j
                          set x( Wid / 2)  " v# [- a2 ~' ^) k* x
                          set y (0 - Dep / 2 ) ]8 x5 v4 S& }- v8 _# D
                          set f int (k / 5) * 5
) \2 m. g  J* R( M: R- `  setxy   ( xcor-of turtle f + x )/ x: M- v" D, \0 Z) D' n
           (ycor-of turtle f + y )
: Y3 q, }5 G1 i2 a' F# I           ) O+ ~; |! Z3 F" t9 R
           & a1 B$ h# r3 ^) i# ?
if (remainder who 5 = 4) [set g who6 i# A8 s& \7 t2 t+ X  h& z4 K- J
                          set x Wid / 2
$ E( e; x$ L- Y5 {$ I( C                          set y  Dep / 2 ]) l) g+ f) Z& {' E$ L
                          set h  int (g / 5) * 5
% P$ {3 v2 s% c: k  setxy   ( xcor-of turtle h + x )
* a- z% D! I* {9 u6 N           (ycor-of turtle h + y ) 0 ^( H6 X+ O% M) `5 L
                          
7 }0 M7 }" v! T; B9 ^3 R                          
1 E) c$ m: ^4 n' F+ m                          ]
7 I% s1 K1 a) v0 m! v( n7 o% Eend( M1 q2 c" I5 z0 }/ r: n3 B
2 R( u( u2 P8 c5 t6 _% l; Z; Y) |
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,; Q6 W( `. f- O- S, l
应该是- I# [) K  A$ k' b2 Y
ask turtles [
* s" z- o1 Z& y; K/ j) Hif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 |4 S" M  C4 d3 |  `' p                          set y  Dep / 2 & f! J9 x" D( G3 e" r# |' H% l5 O
           set b  int (who / 5) * 5
# o% M  c! V* h: p2 t  D    setxy ( xcor-of turtle b + x ), E* Y! P- y& K: j6 @) B$ w0 C3 ~# F
          ( ycor-of turtle b + y )]]3 ~+ k5 P- c% X4 O2 ^
end
/ O4 }* I0 K! K之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-26 20:30 , Processed in 0.013785 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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