设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7354|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。6 w$ U4 `" [# ?) [

8 V% ^" T: a" @( ~但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。# o3 X3 \7 z  E% J) Q" R
. ?$ e# B" ?5 V8 {2 e; s
turtles-own [a b c d k f g h
! n9 i9 G7 x  x, i  x y     ;; these are the leaf-turtle's offsets relative to center-turtle # k8 t8 S. J! S9 X2 A# h
]
8 u- G9 i, P+ F. B% n9 ]to new
, h. _0 r' J' `  ca
: h3 T8 T# g8 g1 N! x, q. M  crt 5 * num_of_building
9 l& I$ N. `, `% {* D' R- W' f) c6 Y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
: Z8 t6 W1 e# Y: D1 ^7 i  scatter     ;;keep center-turtle random positions
$ ?2 q) y+ [6 {; N  j  unit_plan   ;;make up the building plan
' y7 e4 }/ }0 g3 Y" x( u) Qend0 {7 {+ G) I' l0 i6 S% {
to scatter
! q( x/ P4 q9 W1 c  Z+ Q1 ^ask turtles with [remainder who 5 = 0]
& t! ]- ], J$ e5 i$ I[7 Z( i4 V# F6 P3 T/ ~5 U# }/ a
set xcor xcor - 6 + random-float 15* D2 [) k" H0 J5 H9 S( G
set ycor ycor - 6 + random-float 15
8 x: ], I0 e; L1 J: H2 |: O]
% h4 ?+ P; ?3 G) b" |) Qend# s( |( s8 o- c
to unit_plan
2 @" K, t5 n$ z2 i) E, J  [! Sask turtles [3 @; J$ u: W( c/ l: p. p
if (remainder who 5 = 1) [set a who
5 w* K. Z9 _, G+ ~* j1 @- Z* H                          set x ( 0 - Wid / 2 ) 6 T7 r8 }. A* N7 H3 J1 r4 m
                          set y  Dep / 2 ]0 F3 R% A, g4 w" K8 X4 e! u* {( z
           set b  int (a / 5) * 5
4 }' r( V0 a6 [3 P2 l3 d/ d0 U    setxy ( xcor-of turtle b + x )
2 M5 x; {4 ]2 {& r7 b& F          ( ycor-of turtle b + y )
: [. j/ D$ h) f! u3 B  Aif (remainder who 5 = 2) [set c who
3 I6 _9 n( `& l4 b: y  e                          set x ( 0 - Wid / 2 ) % t% `7 c1 z: d
                          set y (0 - Dep / 2 )  ]
9 `) T/ \  N, }! v/ Z                          set d int (c / 5) * 5
- A0 ]! n/ s! N7 y   setxy   ( xcor-of turtle d + x )% `% f& h# l$ }% X; `5 \7 r- p; i! ^
           (ycor-of turtle d + y )
4 b$ o& k0 I: g$ J8 W7 j         
. j  t) E# E# |+ V            + ]# N7 W. h5 U: W+ O
if (remainder who 5 = 3) [set k who; p  u6 W+ I: o
                          set x( Wid / 2)  # s8 k) s' Q$ Z6 r2 N6 ?
                          set y (0 - Dep / 2 ) ]
4 |* h0 G5 D% N% E6 h                          set f int (k / 5) * 59 Y. m  ^8 D9 p& I' X
  setxy   ( xcor-of turtle f + x )
7 g# {: `0 ?* M/ L           (ycor-of turtle f + y )
0 L4 `2 h7 O! K* P( T6 N           ' g3 M3 x6 H" }7 K2 Z5 h
           ) l3 I9 E: E9 s. T6 W: z
if (remainder who 5 = 4) [set g who. ]0 l# _6 G: P- d# z3 ?
                          set x Wid / 2 2 `/ Z! Y9 P. }8 ~4 ?
                          set y  Dep / 2 ]
0 `7 _, p. K) u; J+ M0 w                          set h  int (g / 5) * 5
6 x3 d% X! q4 K( o6 z! A1 U1 T# q  setxy   ( xcor-of turtle h + x )$ m! e, j* n3 K: i1 ?2 M  y  M/ {2 Y
           (ycor-of turtle h + y )
: {+ i: L4 n! o$ f6 O5 S# r1 S                          5 A0 f" }3 E9 o5 @" @8 c
                          
, x4 m+ Z- B; g$ R6 A- Q' I' ]                          ]7 V5 h$ A2 t* }4 Z
end
! N6 J2 `# l/ F2 o" `" H( ~0 @. x5 e6 F! n6 v* I. Q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
) X& o# y& h1 w$ Y. y应该是
1 }  ]6 }2 f* qask turtles [5 _3 W9 X3 e: c% h
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
$ ^! Q6 L) S9 ?; w! n                          set y  Dep / 2
, d% b/ d( }  U! D           set b  int (who / 5) * 58 a5 J  m$ e2 H0 X, H
    setxy ( xcor-of turtle b + x )# k8 R4 K6 v0 p: V3 k9 e4 ?
          ( ycor-of turtle b + y )]]
. l+ x' M- j8 l  m! Lend
# N* y* @! G" ^4 e" V9 J' V6 b之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-2 00:21 , Processed in 0.022717 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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