设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7144|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
$ w/ _5 ]) p9 R( L& o3 i2 Y6 Y% W5 |$ s. g4 _" ]) d9 s
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" S+ Y& M* G' @% N0 z5 \$ ~7 Y# F/ u5 Q
turtles-own [a b c d k f g h; i5 Y1 o7 [( W# u" n
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
3 D/ p- H* |( y) g) y]2 H. i' x/ c0 T+ I4 _
to new. U+ J, ~6 a8 X& y2 p4 |7 F. P
  ca9 D8 o6 _0 ~6 ~& X
  crt 5 * num_of_building3 V! _* T8 j* ^
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
) V/ V3 i# i6 n+ z  scatter     ;;keep center-turtle random positions
+ O7 m6 U3 x% ?0 i9 X6 a4 H  unit_plan   ;;make up the building plan
. J5 u: U0 i- s* n! {2 Hend
$ Y3 U0 {0 o* j! H1 \* dto scatter
0 w( q2 s, @: T* r- sask turtles with [remainder who 5 = 0]
" ^# O& U; G6 f[. R1 i! D6 X7 a7 i# ~* @6 r
set xcor xcor - 6 + random-float 15
/ X0 }) G. \* O; s6 {set ycor ycor - 6 + random-float 15: K$ @+ M1 \# J3 v8 b- y
]
% Q. Y2 m  p1 N0 v3 V( P/ r) kend
$ n4 f1 f+ G2 Q! E1 G: @to unit_plan 7 m" I, J/ T, K. d
ask turtles [
8 ^$ ^1 ?/ s4 @/ M( Vif (remainder who 5 = 1) [set a who
! A; t' W1 i, ^% J2 D# [                          set x ( 0 - Wid / 2 ) # T4 P$ E- n' i7 q
                          set y  Dep / 2 ]' x# A3 w! }4 {9 g9 F- S$ m- U3 B# b; U
           set b  int (a / 5) * 5
. j0 w* X1 K) G4 j    setxy ( xcor-of turtle b + x )
( d) G7 ~6 {2 I$ z% L4 _$ u! V          ( ycor-of turtle b + y )+ N3 j* K5 g0 L) j
if (remainder who 5 = 2) [set c who
- `' E3 V2 T6 b4 x                          set x ( 0 - Wid / 2 ) 9 l( V# i+ |4 k3 P, r! C
                          set y (0 - Dep / 2 )  ]4 m/ R3 M( P/ H
                          set d int (c / 5) * 5
% e9 L2 c8 ~& ?+ ^* q9 w  p   setxy   ( xcor-of turtle d + x )
4 {# H' X2 v# }; P4 D2 z& }* s           (ycor-of turtle d + y )
- T, }' Z+ M" L$ C) v9 v  m         
9 @9 S* _3 M# c' \            ! ?8 k" A; K1 m+ w
if (remainder who 5 = 3) [set k who6 m' [! B) F$ e9 V9 O
                          set x( Wid / 2)  
  m) L! x+ c* P: T8 k: f! O4 ]                          set y (0 - Dep / 2 ) ]' F7 q" O# P: n
                          set f int (k / 5) * 54 j2 j; D7 d$ l# d4 v! W
  setxy   ( xcor-of turtle f + x )
. ^2 I2 G" ?% `+ m/ r1 Z           (ycor-of turtle f + y )
2 p+ ]" J8 L3 A% T4 e           
+ j2 @3 a$ G  R7 m3 ?9 a           
( R; k# V$ B3 X; Rif (remainder who 5 = 4) [set g who8 J* K' ~  `- ?8 }4 v7 s# E
                          set x Wid / 2 " c2 t5 R$ ]1 g
                          set y  Dep / 2 ]5 V1 b) \! _5 c/ E& k' F
                          set h  int (g / 5) * 51 @! e( L, u+ ^1 ]! u$ ?
  setxy   ( xcor-of turtle h + x )* g- g. Q: @- |- P  W' M4 r
           (ycor-of turtle h + y )
8 V& m. x: Y4 t                          # n* Y! j& _6 u  S( v
                          * r: b8 f  o& T) A8 H
                          ]6 T- I1 c/ R/ I, \
end9 P; @! y1 d1 _( x2 D2 n- t, J; i
# M+ b" u. m! ?4 O
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,( h5 q! j! p: q
应该是! O! B- C9 W# Y& x/ s+ M7 A
ask turtles [
8 x9 }; f) E$ H; u  A- C5 Wif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 d0 r0 [: h/ s$ h5 F# @
                          set y  Dep / 2
, d9 N+ W. B- B7 v           set b  int (who / 5) * 5
+ F1 l- i( p) A    setxy ( xcor-of turtle b + x )
( |3 \1 I3 `$ p5 s8 ]          ( ycor-of turtle b + y )]]
) S( ~) w8 [: V2 D& S  `6 Qend
0 `$ h; {" d. Q/ x. y' v之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-5 13:54 , Processed in 0.018624 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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