设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7534|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。1 i" o- d% }9 H5 ~7 ]0 z
: Z* T+ m9 H: k, p7 j3 h% g
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
6 B: L/ P/ W. m/ l! T3 ]% [' V
, M) b  `. ~, Q6 N  y0 qturtles-own [a b c d k f g h
4 e: S- l3 o' b0 d  x y     ;; these are the leaf-turtle's offsets relative to center-turtle & Q/ j" F2 c" R* ?3 w5 V# d
]1 d  s& y& [  h' K0 ]
to new: _5 x2 G+ J; O) F5 X7 C
  ca& ]) ~  e- v* q- J8 ~% F
  crt 5 * num_of_building
0 s) U7 L! x; L5 n+ _, U  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
0 Z/ T  ~2 Q3 E% M  scatter     ;;keep center-turtle random positions
1 y2 @! O: T; v* m. {; i  unit_plan   ;;make up the building plan$ Q6 C+ M" i9 B' r5 E' m: n" `( p
end
3 l7 G5 n1 I% b9 k; }1 wto scatter/ t" I8 N" N  ]2 _6 D, S+ E( Y
ask turtles with [remainder who 5 = 0]1 C3 y5 T7 {- v2 f
[
4 o  a6 F5 g- x+ Tset xcor xcor - 6 + random-float 15
+ b0 O2 g& [- `set ycor ycor - 6 + random-float 15; W1 D2 w  `% Y+ S9 R0 ?8 D
]
% l8 M, R/ r8 a9 K: Q+ _$ ?end. }4 R* @) c: H
to unit_plan + \; x3 n$ J3 y( Q
ask turtles [- y5 n$ N! H2 F. b+ u1 t$ I
if (remainder who 5 = 1) [set a who ) c) W/ b+ y) ?( s% [, m
                          set x ( 0 - Wid / 2 ) ( T: ?+ Y8 u& K9 q3 o6 A: D2 _
                          set y  Dep / 2 ]: h6 G7 D% A! s/ x
           set b  int (a / 5) * 5% J5 l* ]2 v3 |+ P. R8 s  A
    setxy ( xcor-of turtle b + x )) i- G% B9 F, c( [$ H% |
          ( ycor-of turtle b + y )
6 b  O6 b+ y& P! K: x/ Iif (remainder who 5 = 2) [set c who  C  P* ?) a- t% S& @4 i
                          set x ( 0 - Wid / 2 )
0 i- @. z! b( ~8 j' l2 Q                          set y (0 - Dep / 2 )  ]" P7 y6 S7 C$ L# E8 d7 X& r6 _
                          set d int (c / 5) * 5
% y# w- [2 {1 W) R% _' f   setxy   ( xcor-of turtle d + x ); ~9 _* y4 V6 f7 s, X* q
           (ycor-of turtle d + y ) 4 I6 y3 j2 W! y, D/ c4 J- Z
         
; O. k; O0 K+ b% h9 O1 e            4 x, a! b- o, L3 Z( D: |) z
if (remainder who 5 = 3) [set k who
+ N0 S! Y" A0 s0 f* F  H! {7 m4 {                          set x( Wid / 2)  3 A& v3 x; s+ i: c( H
                          set y (0 - Dep / 2 ) ]
# Q( m8 r, \0 ]* i9 f8 i# {1 L                          set f int (k / 5) * 5
! N8 L9 o; I% ?/ h  setxy   ( xcor-of turtle f + x )
8 }) f2 o0 Z; A* t7 X           (ycor-of turtle f + y ) 7 M, D2 @0 Z; U6 |0 i
           2 L/ }0 I/ d/ }7 d& e% E, @
           
$ E2 ^8 x# T2 @& ]/ ^( l6 vif (remainder who 5 = 4) [set g who
5 O' ^; I1 y: }8 q* X# y# g+ i                          set x Wid / 2
3 Z2 b+ f' Q) U6 U4 t4 J* n                          set y  Dep / 2 ]# u4 u; ^3 B. E% O
                          set h  int (g / 5) * 5' T$ W( R8 @8 t  Q: m3 P. t
  setxy   ( xcor-of turtle h + x )
7 D+ G) B8 P$ ^* m3 w' Q8 u           (ycor-of turtle h + y ) % ?/ ~" h8 |# R; n1 H$ i
                          
9 T1 }3 X& J7 S' M* _& |! R! s! L                          
" E8 d( u0 |3 z+ i9 _                          ]6 h9 [( I* Q, b* {$ S" Z" ^. V
end
, e& U" O/ D1 H2 X0 l- u* t5 K
0 _) f) ~' b, [) r" ~4 G7 B[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
) Q& F+ e$ y* {3 i应该是' E% t' S- b7 x) u9 b
ask turtles [- E; Q$ F0 j; ?" P$ c: l, M, }) {
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
% C9 |2 u1 h2 Z                          set y  Dep / 2
7 i/ [* C$ R7 Q+ |! m. z           set b  int (who / 5) * 5
3 t) B  o* u  G& @    setxy ( xcor-of turtle b + x )7 c5 w) C- g4 B
          ( ycor-of turtle b + y )]]! F6 y/ F5 q) [" o. o" d
end- b) g; K( q) d% D4 L$ ~/ }
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-23 00:40 , Processed in 0.017289 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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