设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8151|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
6 c0 `' b2 J/ }! j5 m$ i) Y
% Q( T, J4 V  O' @& f但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。, g7 w% x( J3 `% E1 `

4 d: s: |( K1 \  v$ J6 Q9 D1 wturtles-own [a b c d k f g h( s$ @2 L4 H/ I) ?& u
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ; v6 z$ O0 n3 T, M7 T
]9 Q6 {8 C( C4 l4 n3 M2 X/ g. ]* I
to new
6 ~4 U, T& R- U( ?) j* l* h+ |  ca
! P5 T' p6 J0 m8 M% _  crt 5 * num_of_building. E! T9 t; U1 T7 k! G
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]2 K' q# s. g4 }, G: Q& y
  scatter     ;;keep center-turtle random positions
1 D1 n6 B0 L8 P# f7 K, t  unit_plan   ;;make up the building plan5 L/ f& i) x* P% v" T3 V7 k1 {
end+ X) d$ t! [: h2 ?
to scatter
. W, N- c# u' u) l) O7 Mask turtles with [remainder who 5 = 0]& [4 Y# ~$ l# n! K5 d+ e: m. F, c
[" k2 A# k; m5 x: R4 O9 H5 h5 z
set xcor xcor - 6 + random-float 15: n' T* l6 k* m4 |1 \
set ycor ycor - 6 + random-float 15
& f- Q$ X6 H+ i3 y]' `0 o* s+ P0 g# [9 \1 T
end
: {" P6 X4 Y8 h3 K! Ato unit_plan
: M& p2 u5 q1 ~5 P+ `$ Vask turtles [) t- P" E) e9 S3 z2 M) m7 Y/ a/ F% a
if (remainder who 5 = 1) [set a who
) A5 M6 l/ e2 a6 W4 ~/ q& f                          set x ( 0 - Wid / 2 )
0 s0 A  V9 B2 G. i/ f  t                          set y  Dep / 2 ]
$ l! g2 ?" \$ P; V           set b  int (a / 5) * 5! \, H9 c, w8 m! m& c: e( r& {* Y
    setxy ( xcor-of turtle b + x )
/ |9 e: E4 s. b7 U  c6 z$ ~  y8 L          ( ycor-of turtle b + y )
5 c5 y6 ^1 X) G, xif (remainder who 5 = 2) [set c who2 X. X, q0 x; J4 k/ I
                          set x ( 0 - Wid / 2 ) 1 Y# Q3 d; l" f
                          set y (0 - Dep / 2 )  ]' S: t3 G& E3 {# d/ E
                          set d int (c / 5) * 5  [* z4 _% A3 x) {( w
   setxy   ( xcor-of turtle d + x )' _0 ]6 P2 h. n* O' v) p
           (ycor-of turtle d + y ) 9 n0 a! B+ `( W6 J4 F5 U
         
$ V" v$ |% i5 M3 ^0 B% v            
" Y/ ~% x; s0 S0 o; W3 F2 y& `if (remainder who 5 = 3) [set k who
& J! w& T$ C4 j7 ]- A6 ^" X                          set x( Wid / 2)  6 h/ C2 T  _$ P7 H7 M" z. W
                          set y (0 - Dep / 2 ) ]" Y5 _/ \$ B1 t; _2 `3 A
                          set f int (k / 5) * 5
5 j$ [7 l0 S2 ~( `/ \2 Z  setxy   ( xcor-of turtle f + x )
& j& ]9 p- p& O" a2 g% ^           (ycor-of turtle f + y ) ) {" A" Q5 M8 T- ?
             {1 C5 f8 N  P9 g' R$ e
           
2 L# L1 ]  e. k1 T3 b& K" e2 dif (remainder who 5 = 4) [set g who! d5 \7 t( N+ H$ E+ x
                          set x Wid / 2 $ s' C0 y3 m; T; K, y  |. c1 F
                          set y  Dep / 2 ]9 E% s( _: ?  n5 K  ~* c
                          set h  int (g / 5) * 5) J/ c/ w9 t$ v% g8 O6 J
  setxy   ( xcor-of turtle h + x )! ~' U' w' Z/ ]  i6 b: @
           (ycor-of turtle h + y ) ( ~; M% Q' D  U* B6 d( U3 ^. @4 x
                          
# m+ u7 `' M8 j2 B3 a4 S                          9 ~3 ]  s( T6 r
                          ]
) C0 ?  F- y8 f- G& u0 ?2 o# kend
, I9 s0 @, l, ^6 A
; j/ ]- G' H8 R. ^$ y( H  y[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
* c/ v( l) `0 b5 X应该是
! r/ G/ y3 H  F5 a( Y* Nask turtles [% g" K" j/ |4 W4 Y4 J  Z
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) - T- B4 K2 w/ i! W! z2 s
                          set y  Dep / 2 " f% e: y# N* w: @- d( Q& I8 ]+ m
           set b  int (who / 5) * 5  t8 a6 z. n. G7 k6 y
    setxy ( xcor-of turtle b + x )
2 `2 v& Z' U6 q  p6 _6 z          ( ycor-of turtle b + y )]]+ x# l( `/ [3 o% ]% p
end
. ~8 Y$ w  h+ \$ G. {$ p之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-11 20:10 , Processed in 0.020794 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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