设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8566|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。- \$ [7 Z8 G  W. b) u, l! p* k3 \

: B8 }, p! t( l. U( e$ F3 Z  N但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。: ~2 C3 k  [9 n$ g* @5 C5 |+ d
& \. f4 a. _) O, n5 r/ q* ^
turtles-own [a b c d k f g h
& S/ H# k! p6 m# J! w: f; o! O  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; O1 d) {( S5 T/ ~# v5 \" J]
1 K5 N8 Y: e) Zto new
( I6 G3 A9 N* |* X0 O  [! H  ca
+ J7 v9 K6 o4 C! Y5 m, ?  crt 5 * num_of_building; T/ U3 M' c% }( R7 D
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]1 o  t4 h4 ^/ b  P
  scatter     ;;keep center-turtle random positions 0 t( M5 O5 t" v& v/ f# \9 h/ P
  unit_plan   ;;make up the building plan8 p# F" Z. y2 [- K9 P% ]
end
5 k9 @" C# m' j( `, nto scatter
# V, P0 w% X( o5 jask turtles with [remainder who 5 = 0]
3 P2 V, B8 Y, q. Y[
) N+ D0 B: I# hset xcor xcor - 6 + random-float 15
* u+ ^& O3 x) S, ?" Z( {9 l9 V' Fset ycor ycor - 6 + random-float 15
) z8 }# b6 S9 E3 C$ F], S- g" {. h) T/ y
end
' A4 r# _7 T8 y1 M5 K8 ito unit_plan 2 w+ X+ F+ w+ b# c8 Y/ p. R
ask turtles [
. ~5 R+ [7 l' f4 jif (remainder who 5 = 1) [set a who 3 \. g; o1 _. f# s$ U  X6 a. H1 `
                          set x ( 0 - Wid / 2 ) ( C5 v6 L) i; j7 x* C
                          set y  Dep / 2 ]( i/ A/ `& o: T5 c
           set b  int (a / 5) * 5  F- o9 g2 Y7 m- C
    setxy ( xcor-of turtle b + x )# l/ S: L/ r; k/ L+ Q$ Z" `
          ( ycor-of turtle b + y ). j) a5 u8 J5 D( A6 F, s: @- n  ]& B
if (remainder who 5 = 2) [set c who5 `. Q) g4 ]4 s7 X* N* i& W
                          set x ( 0 - Wid / 2 ) " V$ k# ]7 D5 x7 d
                          set y (0 - Dep / 2 )  ]( f# E+ W- v$ F) r
                          set d int (c / 5) * 5! Y, P3 n7 ]- N; G
   setxy   ( xcor-of turtle d + x ); g4 ?4 ]! i' `' J; N
           (ycor-of turtle d + y ) 1 X( l& M  q6 D  v  y( [0 _* m9 a
         
4 ]/ N* c. D! p            3 Y: q1 I7 H9 F. `3 O7 e
if (remainder who 5 = 3) [set k who
% E1 T4 M% @* X3 _/ P9 w! S                          set x( Wid / 2)  5 H! `6 w& S+ w
                          set y (0 - Dep / 2 ) ]
3 y$ C7 x3 N& Q( Y! X                          set f int (k / 5) * 5
, r  X6 r- f  N/ ^- _& H/ H  setxy   ( xcor-of turtle f + x )9 x  t$ D+ a2 ~
           (ycor-of turtle f + y ) ! ]. i. o: D! v8 C6 R" \# h- @: h
           
5 i! m8 X6 B5 a* t           
0 d7 _( K( V% f! \3 H: O3 x3 ]2 Cif (remainder who 5 = 4) [set g who: ^) P; l) Q2 R" J  _+ t) M
                          set x Wid / 2
( _# }7 M0 ~% @9 R1 p( d& Z5 o                          set y  Dep / 2 ], u6 e: o) Q8 y/ u) w
                          set h  int (g / 5) * 5, W4 B/ B3 L0 l+ S0 ^' c6 i+ u) l2 u
  setxy   ( xcor-of turtle h + x )" W0 r0 p# z6 z  P6 E
           (ycor-of turtle h + y ) % a) P. J+ Z' o) c
                          
! s5 B! p" o, J  b' b$ }                          
* j: N0 S" Y0 J0 B8 Y: P9 _                          ]+ y$ p0 b' c" \
end. J) w2 n  g3 v/ I
" p1 O1 g8 e; J; r; c
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
4 G4 i* A# }# _. T- C应该是
) D9 N: Q; Y% m$ p0 Wask turtles [$ A; v! m$ ~$ H: N  \+ [$ e4 K
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) + j7 v4 q& m) |
                          set y  Dep / 2 $ x9 J9 e; y$ `* ?
           set b  int (who / 5) * 5
6 G' q9 A- _+ @; o, \& M& p3 m    setxy ( xcor-of turtle b + x )
1 ]6 o' {# r" b  T          ( ycor-of turtle b + y )]]
9 d% U' K( d: tend
+ v% w3 Z9 z( }# Q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-11 18:02 , Processed in 0.013531 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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