设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7671|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' D* Q7 t' q" L+ ~5 x" o. b7 t6 T. I) o) `3 @  ~
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
. [  C! c9 @3 ?7 _0 q% {9 y+ R: H8 {6 j5 c" u0 O
turtles-own [a b c d k f g h
) l( p& B/ J0 t+ b  A  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 4 @1 ^8 C' F3 g* I
]
* s9 ^/ A9 r1 H7 _2 P: Q. ^2 Fto new
0 D8 b) m9 A) M9 b1 J6 j  ca
6 k! ?! Y4 L% g; r$ o! h# w& Y: O  crt 5 * num_of_building/ u6 `- g* C1 \# d1 \4 z
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]% o+ N& l5 s4 l9 Y7 _
  scatter     ;;keep center-turtle random positions / f0 Y' R, V/ H3 ?
  unit_plan   ;;make up the building plan
  ?/ x5 L. R* d$ B) o0 Hend
5 x& v9 l, Z& H& A3 Dto scatter
7 ~' c6 W5 @, u6 {6 r$ ?: bask turtles with [remainder who 5 = 0]
+ ~; Y) s* k0 p8 w$ l, `[
* @' f$ ~) a& Gset xcor xcor - 6 + random-float 15" ~/ q7 o) k; p7 i& v
set ycor ycor - 6 + random-float 152 ]2 z) ~3 A7 L+ ^. }2 ], K* s# M
]
. q3 c( m& f! s. dend% P5 b  {. [, }8 ^) T. ?
to unit_plan / f0 S$ z/ o9 `: d
ask turtles [) k5 ]7 x- O# \$ d) j& O0 |/ W
if (remainder who 5 = 1) [set a who
! e  z" Q/ N8 }# |7 K+ A                          set x ( 0 - Wid / 2 ) . b% _1 R0 f, h( l
                          set y  Dep / 2 ]) k2 s& T. D; C8 k: d
           set b  int (a / 5) * 5
4 }" E* J2 b' H1 x8 s    setxy ( xcor-of turtle b + x )
1 Y5 @9 E6 h1 @: m5 W          ( ycor-of turtle b + y )9 v9 p# |6 [8 w  d
if (remainder who 5 = 2) [set c who/ S- X. Q& [/ G4 F. m/ p
                          set x ( 0 - Wid / 2 )
% p8 X' s9 K" O  \1 N/ z                          set y (0 - Dep / 2 )  ]
1 H  t+ F- g8 f" u1 m4 A7 y, ^                          set d int (c / 5) * 5
* v, A! Q; R' I$ H( f   setxy   ( xcor-of turtle d + x )
# g, ^* {' W; S) A3 g) V5 h           (ycor-of turtle d + y ) ( G5 g% j0 j( O3 R$ U
         
+ k7 @& Q/ {+ Z1 N/ R6 w            
+ {7 ~. r1 D/ j; t" W& qif (remainder who 5 = 3) [set k who
% ]; Z3 d; |, a. b6 t                          set x( Wid / 2)  3 ^" g3 `& A5 [4 W% I
                          set y (0 - Dep / 2 ) ]7 ]) I9 n( J$ L/ f; j2 z0 h7 D
                          set f int (k / 5) * 50 m) s4 h3 q3 u4 w+ S5 Z" i
  setxy   ( xcor-of turtle f + x )( l- |6 v. @. D" `' |: S
           (ycor-of turtle f + y ) % y+ f/ O& w& S  E0 A0 n( l! w
           
0 F+ }! S6 Z2 u5 U! c& @           9 D) q( ^1 P6 R2 e/ ~
if (remainder who 5 = 4) [set g who) }+ l" f+ [4 _2 T
                          set x Wid / 2
6 T! z* T$ b2 D5 q5 ?$ a6 @                          set y  Dep / 2 ]8 S. _! Q' \5 O' I0 y% K
                          set h  int (g / 5) * 5
% m: ~$ R7 R, H  setxy   ( xcor-of turtle h + x )% T  U4 N: J; _8 r1 N) w  b& o
           (ycor-of turtle h + y ) 9 j1 |: q* {+ n' o: j4 r; i
                          : ?4 T) Y9 Q* i. _, R
                            H5 S7 F4 W5 J& \& `
                          ]* \. T& h  L+ L- p, a
end
! X1 B/ Y( u& J# q9 h! o0 C' Q
! b- o& ^& Q7 b: X+ z, C, K' O[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
8 ^0 v6 H! h& }6 F0 S2 F应该是- t$ p; p) S" o6 d! I. r/ r1 g
ask turtles [" F! `7 p- ]0 V/ _
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# l2 V( B* \; t                          set y  Dep / 2
/ r, L  R6 f! [$ C           set b  int (who / 5) * 5
& ~3 ]% e) Y4 j    setxy ( xcor-of turtle b + x ). V: _' g' I/ |1 F
          ( ycor-of turtle b + y )]]# D; M# _' {) `& r7 [; n: i8 X
end. J' K' e- s* t+ i
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-13 04:36 , Processed in 0.017941 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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