设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7461|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
+ W6 w/ C+ T7 N! I: H9 S4 V5 t' U; B, F+ [9 N( n8 C# q& q- B
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。3 t+ ^3 m9 N. g: d, J

- F& s  ~" \- `" jturtles-own [a b c d k f g h
6 ^. V- I, `; c- D  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: r, J* r) g, \& `/ X]
9 J6 \; \0 y3 m# a8 o& v1 V' Dto new
& m0 x) S0 Q3 d: F8 F% c  ca
& {3 G! z$ Y  N5 x& `  crt 5 * num_of_building
2 H" L9 `8 N% E3 a  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 {8 Z6 U6 H' y) D$ ?4 n8 x! l  scatter     ;;keep center-turtle random positions
' G( a8 G2 X7 U2 W" s/ e  unit_plan   ;;make up the building plan
" ^) X8 b$ V" `; M/ Jend1 h! }( t: S  S9 |+ G% B$ T
to scatter
8 v' w) S/ a$ u3 M% z) w2 x% \ask turtles with [remainder who 5 = 0]
" y/ r1 g7 [- D; j! s: y[
: O, @8 }  ]3 _# _+ z8 `' Q7 iset xcor xcor - 6 + random-float 15
( a* b, d! R. Wset ycor ycor - 6 + random-float 15+ v( h* ~, ~; U1 f' z  _$ n
]+ M9 ~$ S2 n! U. e" d( T
end" Y$ _/ ?$ b  X" S! `6 x  ^
to unit_plan
5 Z+ S/ X( @3 cask turtles [
2 Y9 ^, f! o3 J  U- `! Kif (remainder who 5 = 1) [set a who
; ?2 x5 D+ \2 q8 k* j: _& \                          set x ( 0 - Wid / 2 )
: A! [" ?+ }4 N8 ?, C% ~, k                          set y  Dep / 2 ]- f9 A2 q" ^' X5 y
           set b  int (a / 5) * 5" M( a% r' @- T) {% f
    setxy ( xcor-of turtle b + x )/ `; i  K& a6 Z$ k6 r) ^
          ( ycor-of turtle b + y )# Y0 x9 w8 p* b* m7 N- a5 y
if (remainder who 5 = 2) [set c who
' c5 z/ D$ q7 v0 F, h, F" h                          set x ( 0 - Wid / 2 ) 3 Q2 W( Y/ @/ w6 H; \: _
                          set y (0 - Dep / 2 )  ]$ Z; ]) N6 M% \/ D5 i% p
                          set d int (c / 5) * 5
0 ^: W( `- A4 _$ I   setxy   ( xcor-of turtle d + x )
- k* Q8 @  n7 @9 x2 G           (ycor-of turtle d + y ) % i2 O2 t# G8 D) O/ D
          - w% d1 s1 k3 W/ l6 o) D# z# \
            ) s( ?- b  Q: ^$ i7 l
if (remainder who 5 = 3) [set k who
, |2 g( ~/ h1 n6 Q                          set x( Wid / 2)  
2 g% W3 N4 l' K3 z                          set y (0 - Dep / 2 ) ]
' @8 S2 Y# s0 _/ N8 D( {                          set f int (k / 5) * 5$ r( j. y& D4 J" l: X0 B
  setxy   ( xcor-of turtle f + x )
4 G% u, ]0 d3 r2 ?           (ycor-of turtle f + y ) , \' ^& y3 e: D# \; w
           2 I' Y" y" P, C' z( u1 C; N) D
           . C/ \3 n% v. w$ S" }! U) ?/ W
if (remainder who 5 = 4) [set g who5 m& C9 j! w; ~# w
                          set x Wid / 2
! F  `2 C$ b' w$ ]) x                          set y  Dep / 2 ]
. L" X  i# w, a                          set h  int (g / 5) * 5
9 p$ D0 `3 n- n9 Q3 J9 w6 b$ S# f  setxy   ( xcor-of turtle h + x )
( a3 }# S( P) K! v  h+ }+ S0 K           (ycor-of turtle h + y )
9 y; m' I, \4 X8 V& m7 t                          + Q9 c* @7 u+ z, P# L
                          
0 O1 A4 X2 Y! [# W  v                          ]
6 o1 L7 i  ^; Eend8 T) ?2 S/ i  X8 f7 {

3 t4 u! q) V% k& m0 ~7 X* v) W[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,6 D4 E9 Y6 N: X, K  A# k8 I
应该是$ Y! h. S; |7 u, A# G* F( @. `8 Q) i
ask turtles [
5 ]! L: \; V# P6 Jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
0 n* g7 T5 X& {( ]* p" f                          set y  Dep / 2
9 [0 [* W% p6 D           set b  int (who / 5) * 5
4 U, _4 L# h, H& z    setxy ( xcor-of turtle b + x )
' G: V; U5 @  }          ( ycor-of turtle b + y )]]& p# M. l6 K- Y% a# {4 y1 v4 |9 ^
end# i' ^( L6 j* x) X8 A7 @
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-13 18:38 , Processed in 0.025507 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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