设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7773|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
% l/ U  V( f9 q3 S7 Y2 `4 e- n5 q! b3 f, J+ U
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
' h: M0 S  h! F: h4 b2 |; B" Q+ O" Q
! F. f. j, ]7 ~. n- C8 J. Tturtles-own [a b c d k f g h+ f& Z3 h* }5 M3 L
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , Q0 g( p9 @  V& o0 B4 {
]4 s4 {; Y1 h/ T
to new5 k3 Y& R  b8 j, z
  ca  M3 N! _8 [5 z0 e- R
  crt 5 * num_of_building
  |6 ~! O& d8 a3 t  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
. g" a. N% a% C" ^7 ^( B3 z1 b, B. B/ d  scatter     ;;keep center-turtle random positions
/ Q" @' o5 T7 E0 y4 j( S  unit_plan   ;;make up the building plan" N$ A+ {3 C- V
end
! C$ G. A" e8 n& s% m7 V( V2 m* }to scatter, B, O8 p' b6 Q) a% T, S
ask turtles with [remainder who 5 = 0]
" I. z; V! ?% y1 r2 `[5 @2 d/ k1 S' A% g
set xcor xcor - 6 + random-float 150 x& p$ m/ W7 B$ @( P7 \
set ycor ycor - 6 + random-float 15
2 H% g- ?3 h, r* Y7 U; e7 z]
7 F( q* X, k) ^) o+ W7 O* l8 f5 ]$ eend
2 T; w. x3 w" j0 L- J: mto unit_plan
+ s, D" l' U, P  B" _  gask turtles [
* S  ^+ J7 ~1 ?5 r. M/ rif (remainder who 5 = 1) [set a who 2 E4 u# J2 K9 V. \! ^) J1 [
                          set x ( 0 - Wid / 2 )
3 w  ~5 W1 P) w8 w  k, f& B+ E                          set y  Dep / 2 ]! E# P! b* M, t
           set b  int (a / 5) * 59 W% m: E' z5 U' W( E: F' a; n
    setxy ( xcor-of turtle b + x )2 |0 _% k9 j' e0 L6 W
          ( ycor-of turtle b + y )) e& r+ E4 X2 l( Z$ e- u
if (remainder who 5 = 2) [set c who+ P3 T9 H6 L& }* O% b6 j
                          set x ( 0 - Wid / 2 ) $ q( v' w- c- \' D( D) b
                          set y (0 - Dep / 2 )  ]6 ?+ v# ?- u& B
                          set d int (c / 5) * 5& I/ ?4 M; N" O+ l5 V
   setxy   ( xcor-of turtle d + x )7 B3 V* p! f# ~! g1 U+ v8 L
           (ycor-of turtle d + y )
6 d+ o+ n- @( R- b/ Y7 b, @          4 f5 G! b( g  C" @- x
            : C* J4 ]7 X( D* D( e
if (remainder who 5 = 3) [set k who- y$ R. U' I0 e1 T! b7 O+ Z. K. g
                          set x( Wid / 2)  
! e. u/ H1 h: x7 |7 m/ F4 ?" H                          set y (0 - Dep / 2 ) ]
' `7 E& J0 w/ g' t" O                          set f int (k / 5) * 5
+ i; C( u' }3 H! h0 P  setxy   ( xcor-of turtle f + x )1 Y/ J% T7 _8 J, A5 q' \! J  k
           (ycor-of turtle f + y )
' ?! H- P, l, t4 q           
( e) |% s# G5 ?1 C8 O4 _6 m           
+ N2 `; }) @& s* [% ?& mif (remainder who 5 = 4) [set g who$ j$ A0 i- M2 n
                          set x Wid / 2 4 w% h. J; K/ J4 k. }) l
                          set y  Dep / 2 ]
$ U& J' |9 B- H& }6 v% A                          set h  int (g / 5) * 5
; ]. k+ F0 G+ X% g( v; M. Z  setxy   ( xcor-of turtle h + x ). t& @! O  e6 ?! Z
           (ycor-of turtle h + y )
8 b- z" A2 T& D7 h# T# c( {3 K                          * _7 `& }5 ]8 D9 N
                          3 j1 i2 v! B3 V9 w$ g6 L
                          ]
2 c3 ?$ m1 }4 ]end
8 }$ n% M* m7 P9 T& P# y
; w. V2 V/ H+ I% i! t4 V; |0 {3 X[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
! N7 W% t/ t0 ~' e+ T2 k. I  J* J应该是
, C8 r7 Q0 u0 R+ qask turtles [* q4 c1 M: x6 l; c8 d
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
. d  c0 _. c) V7 k' G+ F8 e                          set y  Dep / 2 8 X% s. d9 P. L
           set b  int (who / 5) * 5, J# n- t! }8 C/ O. k
    setxy ( xcor-of turtle b + x )
2 S$ _  P- m& o9 f          ( ycor-of turtle b + y )]]9 G5 E2 ?$ o1 `! g2 Y
end
. x0 T2 m8 K& Q! Y之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-29 20:14 , Processed in 0.014707 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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