设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8585|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 E" d  J3 n: R
/ F) ^8 |- ~6 v9 w% x- e- q但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' @2 l+ Z; i' h- Q9 o

$ \+ |  s: g+ A" A- fturtles-own [a b c d k f g h
& l* B7 g( ]" W& ]2 p* |  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
7 Q0 R: P+ I. ?$ q4 _( @]
1 o& m' c7 n8 c. r% w4 h3 wto new# D+ m$ X# m6 @
  ca
  W: n. A/ P0 ?, h' Z  crt 5 * num_of_building
3 {4 P) K) Z3 `. l2 k7 U  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 j' _' p% P8 `- o% N% V
  scatter     ;;keep center-turtle random positions ) u# f( y- R7 W6 w
  unit_plan   ;;make up the building plan' X, x; d% `. o* T6 K0 G/ }
end3 `2 M8 g9 Z7 ]1 e, h
to scatter' d/ ~# k, A! S1 S) H
ask turtles with [remainder who 5 = 0]
2 ?7 [$ R. ]0 ^" Z[
& t/ @0 }& P" sset xcor xcor - 6 + random-float 15  n( V1 H6 F: e+ O
set ycor ycor - 6 + random-float 15; Y9 F; `6 R. M! F% O& G
]
0 j" V  c0 A' H6 I/ ~2 w3 z- Lend
& `7 X% `2 x$ g- E+ j, ~( ato unit_plan
' G( r" P+ E$ J# yask turtles [& v; z" Q$ G7 n3 O9 [' X% k3 I
if (remainder who 5 = 1) [set a who
9 O. m: A7 \) m. K                          set x ( 0 - Wid / 2 )
) x. ]/ }0 t- D/ O) C8 M                          set y  Dep / 2 ]. d: L' {) f2 g  H  \1 y
           set b  int (a / 5) * 5
3 H" F# w8 i' Z# O* q    setxy ( xcor-of turtle b + x ); H9 N/ ?, Y2 l( e" H0 s
          ( ycor-of turtle b + y )
7 W" }- |; k; J0 v" V# ~9 |3 jif (remainder who 5 = 2) [set c who4 L  H6 _+ ]4 _: N. w+ o
                          set x ( 0 - Wid / 2 ) 9 q0 |2 q, J. @
                          set y (0 - Dep / 2 )  ]
6 I& k7 d  v& [                          set d int (c / 5) * 5
% {! L" @2 K. x7 r1 t$ i" k   setxy   ( xcor-of turtle d + x )
+ w! Q* h" I4 W$ d  M* w3 w8 {           (ycor-of turtle d + y ) 1 j& b- p) M0 |( [9 P" z
         
2 A  p3 P1 b2 z/ X) ^( Q" q- ]            ) F+ u$ @" V$ e+ I9 Q6 F9 C
if (remainder who 5 = 3) [set k who
; Y, m( g& {! s                          set x( Wid / 2)  9 F& R& n0 p2 X( `! w3 h7 T) J
                          set y (0 - Dep / 2 ) ]% J5 g1 U7 D( L# S0 s
                          set f int (k / 5) * 57 F9 `; d3 E  T6 ]3 Z3 j
  setxy   ( xcor-of turtle f + x )
. f1 B5 E- s: q           (ycor-of turtle f + y ) , N  o" ~' H# C  l# L  a' x& ?
           3 b  R! k5 g3 k
           
6 W/ n- E) F, [% g2 H3 ]- ?( aif (remainder who 5 = 4) [set g who4 ], \+ ~3 h) i2 i
                          set x Wid / 2 6 i0 L4 y0 `$ M) }
                          set y  Dep / 2 ]& M% w$ o! r2 L
                          set h  int (g / 5) * 5) D0 X7 G/ d3 p
  setxy   ( xcor-of turtle h + x )
$ w: Y/ @4 z: C3 c           (ycor-of turtle h + y ) % J" d4 L$ I5 d" Q7 ?; \
                          7 E# N8 v7 \/ e
                          ) Z6 Z5 @; Q4 p5 E
                          ]8 f4 A, L; q' E1 Q; y0 A# C: c
end+ |# X- S9 l3 a, S: g

8 ]; x) k9 N5 O4 p[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
6 P9 |# l# c1 w5 G应该是$ E) b4 C/ S2 l
ask turtles [
+ Y3 q) O" D" J$ W  U0 Lif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) % i8 c/ R1 ]6 p9 p
                          set y  Dep / 2
1 E& Q# ?# a# z8 F           set b  int (who / 5) * 5. h) E$ ]2 ~3 R6 v
    setxy ( xcor-of turtle b + x )8 m& F+ J6 t' {" I2 [0 @8 S
          ( ycor-of turtle b + y )]]: ?4 {) f- @/ O! {$ o  ]0 E; G3 a
end
8 n: V7 N7 I. F2 b1 }6 e之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-14 11:38 , Processed in 0.013172 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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