设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7264|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。6 I9 g0 ]/ x  O" n, l) V
$ {  m& ~  Y4 q( B
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! p( K9 `0 _" ?' ]+ q4 W

! `" r  X+ W. [* l( x/ Sturtles-own [a b c d k f g h* |/ B- W+ ~8 |& Z' S
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle % c. j$ }  A8 @7 F
]" M  L9 t" n9 X/ s! U
to new
  r+ J8 b8 `2 P% O! s  ca% l1 i) u# o6 o- Y  ^+ R
  crt 5 * num_of_building
3 Q+ c( u; k! d& E# B  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
4 o! j( R4 E7 B  scatter     ;;keep center-turtle random positions $ v, _* j- o8 z; g: B2 [
  unit_plan   ;;make up the building plan* G7 E$ M1 Y1 N6 h9 ?
end
8 ~1 B8 X# y' R1 l' m9 @- P* Tto scatter
% F% D7 G0 ^- j# Gask turtles with [remainder who 5 = 0]
# h: x2 ]3 B* {: z8 c. x& i+ C[1 Q/ Z" D$ g8 [
set xcor xcor - 6 + random-float 15
( a4 C* J  f5 K8 [& Gset ycor ycor - 6 + random-float 15
" J) ^4 B. i! h6 d9 \], {$ w; v  @4 k" J, C
end
  Y5 A% p; [. K5 b  v: {2 n: mto unit_plan 5 f0 ^! l' y$ V
ask turtles [! y% \- \) J, g
if (remainder who 5 = 1) [set a who ( h' O  i8 l! O& G  ^
                          set x ( 0 - Wid / 2 )
7 [# I1 Q4 b6 B5 W6 O                          set y  Dep / 2 ]
* x+ M3 E6 j1 i% w) `7 d           set b  int (a / 5) * 5+ T! ^* q. G+ d: X- }( p
    setxy ( xcor-of turtle b + x )
" X* K! g1 y. W. ^  ?3 R+ }+ L; F          ( ycor-of turtle b + y )2 r5 i4 A4 w) U! w* u
if (remainder who 5 = 2) [set c who
9 w% C# X7 `8 ~; l. G                          set x ( 0 - Wid / 2 )
0 d8 n9 t% Y3 y3 A  P) D                          set y (0 - Dep / 2 )  ]
% g9 F+ E' K1 I8 C/ g$ q% [                          set d int (c / 5) * 5$ F- @# U$ N& _7 O, q$ l
   setxy   ( xcor-of turtle d + x )0 ~6 \3 i$ v* W! w+ f3 X2 U! S! s
           (ycor-of turtle d + y )
) L3 Z0 I( U2 D0 N/ g. X0 ?3 B) a          . ^6 @  U9 V2 ]3 v$ N( c! A9 L
            8 d0 l' n8 i; s% U, D, j
if (remainder who 5 = 3) [set k who
4 C9 Z7 f) o8 w/ v9 I. Z! e                          set x( Wid / 2)  " N0 E1 U) u1 ^$ ^6 o  o6 Q2 y
                          set y (0 - Dep / 2 ) ]
. {( W& I0 _# `6 X3 q3 b8 o8 v" r, j                          set f int (k / 5) * 5
" U, L9 c/ [6 T8 r1 i8 e- \  setxy   ( xcor-of turtle f + x )
& M; J; ^9 ?' {0 J, k5 e7 Z0 P           (ycor-of turtle f + y ) , |, n2 m7 T) ^) `
           
# D. Y: E( j% u% V% P; x- e4 t           
% M* C% @  l% ]; t1 y8 Cif (remainder who 5 = 4) [set g who
: b, q7 g  K4 r1 j1 w' L                          set x Wid / 2 + `* z$ d' x; \" B3 P
                          set y  Dep / 2 ]
2 g+ m0 @3 ~+ u& e) d3 t/ l0 A                          set h  int (g / 5) * 5: q' u+ t  D5 O+ v. G, Z: |
  setxy   ( xcor-of turtle h + x )/ I5 ?- P+ w/ Y1 m2 l7 J
           (ycor-of turtle h + y )
3 n. ^& P$ |! u" c& M2 Y+ x  q! @8 s3 z2 ?                          3 v1 I. Q! X  ~9 F
                          + b0 ~  R8 \! ^3 R: _. V+ l% w
                          ]1 ^  _6 |) o* _% Z& V( Y" }  `" ^& k
end
. |, s% ~% {! C8 `; p! O% N
) B2 V6 g, @: F/ l' H: B( q[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! g% q$ X2 I: ~6 H2 G
应该是! w8 g. x; P7 s& W* ]
ask turtles [
4 [5 z4 D% w' D6 [* |3 ^6 Vif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
  Z: z2 S) w9 S8 X* m1 k/ Q                          set y  Dep / 2
. I# C  G6 g8 x  B           set b  int (who / 5) * 5, S7 V% K7 u0 ^: g6 T# h6 V
    setxy ( xcor-of turtle b + x ). L' A1 [) }7 D) ^: J
          ( ycor-of turtle b + y )]]7 q! [- H4 W! J3 _" D0 C
end
) X% V/ A% U" b之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-22 23:45 , Processed in 0.018266 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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