设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7564|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
& R2 L+ f7 n7 W) @- d* y: [' E  C, ~0 G+ X( @0 z
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。3 k$ ^4 E  R" ?% I9 q' v/ z

  U3 ^: J& u; s' U6 l' mturtles-own [a b c d k f g h4 N3 x" v' h) Q' Y6 v6 C! {
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
+ E( B( ]6 \0 I7 k% x( R% ~]
; n: H/ ]( x+ c8 E0 a3 sto new
6 ^: g8 ?4 ~$ P. Y. `- E" e  ca
# v6 u% ]' r  c( f  crt 5 * num_of_building& e6 a4 V1 Q( _' e: E" O3 A
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 o5 B' V7 C/ z8 z" J/ Q  scatter     ;;keep center-turtle random positions
  _# i! @+ m9 l  unit_plan   ;;make up the building plan
/ h& q+ y3 ^0 pend+ i% y8 w8 j, h7 Z
to scatter# C8 w: L3 Z+ y$ X3 b% ^7 \
ask turtles with [remainder who 5 = 0]; Y; B/ S* c  h% D2 a
[
  N- l5 k  H6 O$ F# b" h! dset xcor xcor - 6 + random-float 15$ b' J+ V0 \1 Y7 M' D9 J7 i, V
set ycor ycor - 6 + random-float 15. G  f' g9 ]2 `+ t+ U" S
]
* u% u) `6 T. D8 `( mend( S/ b2 t" u+ _# l- m/ I
to unit_plan 6 S/ H! u3 U; N% g; o; g, k2 a
ask turtles [
  i* w: {% B4 M7 B+ zif (remainder who 5 = 1) [set a who
% u; h: _( \1 \, h  k5 Y                          set x ( 0 - Wid / 2 ) 1 Q! Z9 W6 m6 M7 N% n) ^
                          set y  Dep / 2 ]
- d( c: D" ^6 Q  _# H, N           set b  int (a / 5) * 59 T6 G; b+ y; c3 n/ ?: r2 A
    setxy ( xcor-of turtle b + x )8 X3 K. [; q7 c  [
          ( ycor-of turtle b + y )% G7 D7 i2 [0 g" U# Y! v3 z  i
if (remainder who 5 = 2) [set c who
8 ^3 N, C" Q& S" \9 r0 M5 Q- O5 i/ Q                          set x ( 0 - Wid / 2 )   \' h3 A* e7 N$ p/ v( t! v
                          set y (0 - Dep / 2 )  ]
# @  v' l$ M! A6 ^. t& o) e                          set d int (c / 5) * 5
5 L1 e2 W( I/ {; }) Q   setxy   ( xcor-of turtle d + x )
% k/ e1 M, e- d: z           (ycor-of turtle d + y )   h2 {4 p1 u& Z+ m2 U
          5 Q. E' b; A* a( H) C+ D) ]
            8 \/ C) O5 E0 B3 M0 k' n  q
if (remainder who 5 = 3) [set k who- X/ S2 L% G8 p9 l& b" e
                          set x( Wid / 2)  
7 ]. v, N5 E3 j2 p' \! \, `! J                          set y (0 - Dep / 2 ) ], E8 d1 s" k$ Z" K, h$ ?8 H
                          set f int (k / 5) * 5
, ?. j% ?& q9 b% R! }* ?  setxy   ( xcor-of turtle f + x )! R# ~5 G8 Z9 x4 _5 ^0 `
           (ycor-of turtle f + y ) ; |4 H; c; T; i3 w! L( e! @0 ]
           
6 o' a* |: X6 \; o/ D. U  x           / K6 U5 o8 F$ x  {& [3 g
if (remainder who 5 = 4) [set g who
4 E1 B- \0 K% D, D& ~4 {5 g                          set x Wid / 2
' B# s, _) f3 e, x: n" A                          set y  Dep / 2 ]9 Z5 r. x+ {' \/ @7 C- T& j
                          set h  int (g / 5) * 5
5 w7 `, X' M, u5 s  r; R  setxy   ( xcor-of turtle h + x )
. z1 B7 L8 _9 e2 a. Y" c           (ycor-of turtle h + y ) 8 e$ F; `0 z3 M1 e& ]7 C
                          & r& G9 L. {0 d9 A1 Q9 H  N
                          7 j  I, Y/ P, f* B3 W& T
                          ]8 U3 i* ~& R- z8 _, G
end4 F* e& b9 ~  k

. y" b$ V/ l+ g; i# b) l0 o[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,0 T3 H; N/ I' S" H' {+ \
应该是% V8 z3 z8 h$ D( i& {9 p7 {
ask turtles [
8 R7 f1 V, ?7 m  ~, H5 H7 Mif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 ?5 `) m' n6 I2 v                          set y  Dep / 2
% \' C' V, R; Z           set b  int (who / 5) * 56 a* S1 q) v! \
    setxy ( xcor-of turtle b + x )! s* U0 R% n7 ^2 i0 f+ d
          ( ycor-of turtle b + y )]]/ e1 i" c( G- x/ j7 f' j- E
end
% l6 A3 q. s; e* ~4 i之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-27 13:04 , Processed in 0.021739 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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