设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6786|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
! z+ i1 p8 H  m: L9 a% o# q; Y- R
# r4 Y: ?( Z1 d* W. Y6 @6 a7 ~9 ~但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。  M* s* D8 s5 P$ Z

% y. f" |" _* N/ @! n& N' H5 `; `( aturtles-own [a b c d k f g h
+ M! g* ?0 p5 ^3 t$ C  [  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
& c8 S! }' k4 t! v: y0 J+ `]
! M" j0 X& N: J  Rto new$ G2 N* ^2 I) z. I5 X
  ca1 E( G, @+ D, g7 q
  crt 5 * num_of_building3 K( E% h8 Z8 g* A
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]2 k$ e" a$ o  O) B
  scatter     ;;keep center-turtle random positions
" N! A$ p1 E) i! G6 o2 Q* B  unit_plan   ;;make up the building plan( |/ K: [/ p1 c$ D5 Q3 H2 Q' Q
end
6 ?/ b! }+ Y0 K+ E+ _* ~to scatter
% }( Q- H2 s8 f- T: bask turtles with [remainder who 5 = 0]( n- Z; {" C% A) A/ I
[
  k+ u( s) f" h( s( l$ h3 uset xcor xcor - 6 + random-float 15
) `0 s* k/ i, g# ^* R$ d1 `set ycor ycor - 6 + random-float 158 `# E3 Y8 t' q) K2 }# @0 F
]
) o4 O3 n: Q9 g; K1 n- a6 S! K& _end
$ @$ w; R& P! A; Hto unit_plan
( n+ T! {2 Q) q9 c# F" @/ ?ask turtles [
2 d( ?6 j4 ^6 z. e9 I1 jif (remainder who 5 = 1) [set a who
. k  n/ O4 ~3 |6 z1 @                          set x ( 0 - Wid / 2 ) : I3 B) ~: Q4 \. j$ x4 S; H
                          set y  Dep / 2 ]# I- z/ K7 \: Y6 P: y6 Z
           set b  int (a / 5) * 5
& b- n+ {. D2 F- A    setxy ( xcor-of turtle b + x )
( @  F; O/ s) d7 u$ Q4 h          ( ycor-of turtle b + y )6 D9 T# z6 Y( b* e
if (remainder who 5 = 2) [set c who6 J+ K; Q% X2 N/ \! ~
                          set x ( 0 - Wid / 2 )
) Q% ]0 P: e# P  U& o- l                          set y (0 - Dep / 2 )  ]) x3 O& o5 b! |! z5 Q& b  x$ `
                          set d int (c / 5) * 5* W% k  ?5 K1 X" n
   setxy   ( xcor-of turtle d + x )
9 z+ W$ }0 v4 w' E           (ycor-of turtle d + y ) 4 I+ P9 y$ {; \) c
         
" p$ X9 {: z5 e, G* a            
6 R" e$ u+ \' h' e5 gif (remainder who 5 = 3) [set k who7 O4 @) Z9 A1 x. ]
                          set x( Wid / 2)  0 o! K6 q5 R3 }, `! r1 b! O
                          set y (0 - Dep / 2 ) ]
  v& b7 I0 x+ R' l                          set f int (k / 5) * 5% g7 X  [" e8 W, S& B8 N% c
  setxy   ( xcor-of turtle f + x )
0 A+ @& z7 R: Y6 G. c           (ycor-of turtle f + y ) + e# Y5 l$ d9 {# B4 B
           6 Z9 x3 R, I3 p  V, K& t: |8 g9 C
           
- t1 F, C$ H7 J: }* O" u; ?" N+ p8 Gif (remainder who 5 = 4) [set g who
* L' q& u9 k+ q5 \6 |8 M                          set x Wid / 2 7 B  x% T( U& z4 d! E
                          set y  Dep / 2 ]% s. a/ L3 l9 ?% V
                          set h  int (g / 5) * 5# C+ W. W" t4 p/ W' ~
  setxy   ( xcor-of turtle h + x ). ~; A: Q. p. J: V  I
           (ycor-of turtle h + y )
# U9 x, Q0 o) k  p* q3 y                          , l1 `5 i$ m" |: f
                          * p) Y, [6 p) \$ R# Q
                          ]/ |9 z$ N9 j9 Q2 k: N& x
end
& c' h/ e9 Y( O0 D" \; `2 B& {% O
) u" h# ~* ?4 T8 q& w[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,/ {1 s5 `" T7 B: A6 v; D" E
应该是+ h( k3 M/ a& [+ F2 o# }7 A% s
ask turtles [# R' Z5 }; p' l
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
! U. A3 C3 O- ^- F5 u                          set y  Dep / 2
( y$ }3 ]9 \8 O+ a; z           set b  int (who / 5) * 51 ]' x0 Y8 T0 J
    setxy ( xcor-of turtle b + x )
$ f# U+ O0 n$ r) l! k  f          ( ycor-of turtle b + y )]]
$ P! C3 V2 k* V# H9 Z8 `! J% w% Fend
) I9 h. N) w: ?& Q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-23 07:06 , Processed in 0.015485 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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