设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7426|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
$ y) f0 s; O9 U( I8 Q/ W. D8 f, R
. k- l/ \$ n9 R+ ~, Y' O+ J但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。" A+ i  C$ x9 J& E

. I* v1 s* @3 e' O3 U) ?7 Qturtles-own [a b c d k f g h2 P; n: P- H( D2 |% T: Y
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 P$ v' K; x: B
]1 _) V( _6 O1 {0 P1 d. N0 _
to new
- P5 E$ E9 w) C  ca
3 I  i4 R2 g% o" R4 A" s) K+ w  crt 5 * num_of_building& L8 h; ?! G0 g9 r0 L
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
/ j4 j3 h8 {6 `* f  scatter     ;;keep center-turtle random positions
$ R  Y# O2 f# g' o3 _4 M  unit_plan   ;;make up the building plan
4 @/ Y- ]$ A. \end
3 {1 W0 [. \7 [5 C4 ~* V6 Ito scatter' ?1 Y* p1 i* `
ask turtles with [remainder who 5 = 0]  T; l+ W8 x+ l# h3 k3 f- z
[
6 N+ P9 F& U  d1 ~' O( Lset xcor xcor - 6 + random-float 15  u: _- I( }( l1 p) L" i2 H1 @
set ycor ycor - 6 + random-float 15
: B) }- ^- X. w+ X/ I]$ M  k+ u/ }: a6 J& o2 L- e  }
end9 _: D% R) a6 a/ Z) h- }
to unit_plan 9 p& J( h6 p! d4 o& j  O
ask turtles [. R) j- Q3 O8 A; z+ s; c& A
if (remainder who 5 = 1) [set a who
' C& d) b6 i6 U' e( l" J                          set x ( 0 - Wid / 2 )
+ h3 s" ~* u% `- ~9 M; X; p/ s                          set y  Dep / 2 ]+ ]1 Y* m: l4 Z- S
           set b  int (a / 5) * 5
, b! G$ n$ f  D3 N8 q2 i, ~    setxy ( xcor-of turtle b + x )6 L, v2 u/ s/ b- A
          ( ycor-of turtle b + y )% ^. X' c$ S0 t% |
if (remainder who 5 = 2) [set c who' G- R$ z5 Q. W' ?$ Q4 V
                          set x ( 0 - Wid / 2 ) - Y+ o/ Y! N8 v. X( I) h, B
                          set y (0 - Dep / 2 )  ]7 |" k7 i+ w) X- I6 U* p" S& Y0 W5 g
                          set d int (c / 5) * 5
5 R2 }: d' @9 q' c! f3 R, K' L   setxy   ( xcor-of turtle d + x )
% F. ~9 P( D+ i8 B           (ycor-of turtle d + y ) # K, S% e6 J. @5 \( t8 j* T# g+ x9 H
         
% T* c% i+ d! _9 m            ' q( _# P5 b8 I+ x
if (remainder who 5 = 3) [set k who
; U! L8 C' D% w                          set x( Wid / 2)  & o' J7 `- F2 G. C4 O4 D) Z9 u8 X* l. K
                          set y (0 - Dep / 2 ) ]
% v8 \; P; _: N* l3 ?0 W: V4 A                          set f int (k / 5) * 5! n& z7 v5 |, q5 |/ r
  setxy   ( xcor-of turtle f + x )
$ [! X! c' |0 R0 e           (ycor-of turtle f + y )
1 P( V/ b" n8 r, M% m) J: w           
% q* h3 m0 C4 e* D9 `0 m$ A           
) U2 \' t6 y5 @5 Bif (remainder who 5 = 4) [set g who
; i: z* U1 i- P. x$ a3 U1 s5 R4 {% s                          set x Wid / 2 4 K) E7 y2 H% W8 N, K% ]( Z+ k0 p% j
                          set y  Dep / 2 ]
' v$ o" }% W3 Y' F! A                          set h  int (g / 5) * 5
1 S' c' r# ^* Z( E4 ^  a  setxy   ( xcor-of turtle h + x )2 A7 Z& [& e( u5 _0 ]
           (ycor-of turtle h + y )
- C# `, r0 q3 D                          3 q8 |+ Z, v, t% u# y
                          
3 U3 O$ j4 P- G! M                          ]( A8 g3 [: N. @8 x5 ?6 T$ Z
end, H% H  p1 i; {' B7 g2 L4 Q- ]
3 t9 w) Y* X* a. m" J, O: N
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 H. a9 i8 Y9 H6 S) A
应该是
' `0 v3 x; M3 J% Cask turtles [9 s# J! k, ^& R) G, Z
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
: ]3 t- g7 ^) |3 d4 y( |9 m                          set y  Dep / 2
8 M# {0 m3 f& P           set b  int (who / 5) * 5$ U6 v/ l  T2 e2 [# z9 ^
    setxy ( xcor-of turtle b + x )3 z1 R: y! e/ H/ C
          ( ycor-of turtle b + y )]]0 m8 ^/ t& N4 R) b
end
; [: {7 {+ F+ _) {+ o& [; T之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-9 20:57 , Processed in 0.016350 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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