设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7474|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。4 e1 c- I/ S$ H: `) k& r  B$ D8 f; l
( f  M3 m$ H8 G: Q- {
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) H% [1 m$ T  d, C' j1 e1 W
2 n" _' e$ w+ Uturtles-own [a b c d k f g h# \' Z0 R( S: q; E9 p% i
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ! _, ^3 {: D" H' F, u
]
$ r4 C* c* d: P5 u" xto new3 t. k0 ?9 b, h' ^. w: r
  ca/ x% d1 E- i1 m/ ^9 ^
  crt 5 * num_of_building0 z7 r$ B$ q% L
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]& n& [" Z% i* W, K9 @% m
  scatter     ;;keep center-turtle random positions 8 L- F, `+ H% ^8 s3 X  @3 ~
  unit_plan   ;;make up the building plan; c# t$ s+ f: u
end8 I# y, f) m5 H" E1 c' B
to scatter, c9 H9 u8 w& \+ }" }1 O) V% m
ask turtles with [remainder who 5 = 0]6 R2 @( {3 i* P6 v% q: Q3 _
[/ C; i0 `+ |$ w+ j' ?! {6 t; p' ^
set xcor xcor - 6 + random-float 15
* u1 ?6 `, w; q6 Sset ycor ycor - 6 + random-float 15' \  d6 W' a5 Q/ I- N0 |1 K
]
3 S+ K1 D7 I- s  _end) p) p3 ^2 e  n" p$ w& M! m
to unit_plan
# _" ~* x& K2 N7 Nask turtles [
. x4 w. a8 ~- ^/ K2 `) B3 Vif (remainder who 5 = 1) [set a who & ~* f# Z% r' ~  _. P0 i" A  Z
                          set x ( 0 - Wid / 2 )
6 V. q! c: ^% _1 h, K$ {                          set y  Dep / 2 ]5 t( _/ g% K7 @; R# X# l
           set b  int (a / 5) * 5
3 D) X  N3 j7 X8 h) n    setxy ( xcor-of turtle b + x )
2 Z8 U3 a; H5 k3 k* }          ( ycor-of turtle b + y )
4 {: x( n- R1 }3 `! `8 pif (remainder who 5 = 2) [set c who
6 V4 j$ N, W' y                          set x ( 0 - Wid / 2 )
/ C' I4 w- @2 {) }; Y                          set y (0 - Dep / 2 )  ]
' _  ^  d/ X# N* g8 J  @                          set d int (c / 5) * 5
. j9 u4 @1 ^) x& L# g9 f8 o   setxy   ( xcor-of turtle d + x )
; M3 m' J5 \9 j  o& r. ]           (ycor-of turtle d + y ) # R  y2 R5 _4 T* ]( w0 W
         
8 Y! L& e: @6 c' |            
# v1 g# F8 o  s; |. wif (remainder who 5 = 3) [set k who# [8 p. X: q, D/ Y& ]
                          set x( Wid / 2)  5 ]8 s- h; S9 l. n
                          set y (0 - Dep / 2 ) ]
( F3 x" b  i! a                          set f int (k / 5) * 5
- E1 G, @" e4 ?! y$ u: ^  setxy   ( xcor-of turtle f + x )+ p8 ~' |% t2 M3 I* t/ |" ]
           (ycor-of turtle f + y ) 3 j# v% {. m( ^  t" w
           5 m  t6 ]- H+ T+ t/ E2 f
           
+ Z, C4 i; H9 U1 p' T- ^if (remainder who 5 = 4) [set g who% l( x8 C( h! H6 S" N! Y% b8 C
                          set x Wid / 2
0 K2 a8 \) m$ ?" g( S+ D                          set y  Dep / 2 ]
4 T0 D! e6 j+ e                          set h  int (g / 5) * 5/ E& N. \* w$ m) k/ G$ B( }
  setxy   ( xcor-of turtle h + x )( S2 U/ o; A: a, u) D
           (ycor-of turtle h + y )
7 A  O& I! o4 J* y( z5 v0 B9 y                          ) z- i! @9 l( s2 q
                          8 H( v- B: f" B1 S; _4 c
                          ]
$ \, n/ N! C; p9 W% s% a) nend
: T8 y+ |( t# E  V& A0 r
2 f5 e) N0 [/ U4 v" b[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
) ~; C9 w, k9 J3 H8 {! E应该是
4 w/ V& y! D# O  l. u8 oask turtles [
5 _8 I5 l4 @3 w9 e  E, a( |if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
' l& s( K/ k; B3 ?8 Q/ @0 C+ \                          set y  Dep / 2
6 `5 u* W- P% B( `8 u2 Q           set b  int (who / 5) * 5
( z( ^, K' k/ S( T" t# U    setxy ( xcor-of turtle b + x )% C& v! c7 T0 v% w9 R' @
          ( ycor-of turtle b + y )]]
) p! X+ N' P4 ^4 O' l7 I  hend$ k/ T' j% B5 p0 E, L
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-15 10:12 , Processed in 0.015519 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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