设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7486|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
- o/ t+ i3 |0 [( H7 ~* H1 ?
! X9 x$ {  O: ]" a7 u9 j, G但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
- [% X, @& i% G" r/ G) ]
" B  Z) v) c9 d& W5 A' a* H1 N$ A9 x! rturtles-own [a b c d k f g h9 A! [# \& l, o1 h: O
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ( g: Z6 e8 m5 c4 x* s7 t/ v
]
' A$ F9 @7 `+ W0 eto new
! d7 t+ R, V7 j/ q* |( m  ca
' k, Y0 @5 T( z  M; t+ {  crt 5 * num_of_building$ k' \* t* m( W! c2 Z, u/ ?" H
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, A7 M* M+ B) m  X9 Z  scatter     ;;keep center-turtle random positions * ^) U6 J- w$ t, z
  unit_plan   ;;make up the building plan# z/ A0 {/ J# r7 V  z
end
+ k4 E% D7 X0 B( n9 U5 zto scatter* N. W! ~- Z1 U. U0 U) F5 K
ask turtles with [remainder who 5 = 0]4 j+ N  q. U  k; q
[
' D( L$ L9 w6 k) ?4 Fset xcor xcor - 6 + random-float 15
, O1 m; t2 v0 m6 D  @8 V5 iset ycor ycor - 6 + random-float 15
$ Y3 g5 x  {( c- u( B3 K]* ]4 n8 D( ?% @. e7 G
end, [- D6 x; P) k2 K
to unit_plan
4 k. Z, f% N* |9 _ask turtles [* X3 N$ A  x7 \2 M; {$ ^
if (remainder who 5 = 1) [set a who ; ?3 _% b: H9 i" ~. [
                          set x ( 0 - Wid / 2 ) , A& G! {/ W" z2 x
                          set y  Dep / 2 ]/ \9 W5 F- O8 J: \8 g& c
           set b  int (a / 5) * 52 o" w0 S7 l$ X$ ~& M8 Q2 B, F
    setxy ( xcor-of turtle b + x )
' n4 G9 ]: ~$ W! }$ v  q- V8 v" u          ( ycor-of turtle b + y )
5 F4 U( \  K* A& Z4 }2 j$ u% W3 Vif (remainder who 5 = 2) [set c who& T. h; T; |; E: N
                          set x ( 0 - Wid / 2 )
4 K$ `6 D1 @% Z6 R( V* w: }1 \3 B                          set y (0 - Dep / 2 )  ]6 d' R$ h5 t0 M1 A1 b
                          set d int (c / 5) * 53 K; m( x0 d" T4 Q3 [# w; l
   setxy   ( xcor-of turtle d + x )
, ?) @$ ^. B. }- D  O           (ycor-of turtle d + y )
8 ]" t$ K; m( p: f- g; ?5 u( \/ `         
" _3 @) ^# D$ p1 a            % i8 e; F4 [8 K4 `2 u8 X
if (remainder who 5 = 3) [set k who
  [2 A0 k& I4 n0 K5 \- C                          set x( Wid / 2)  / m  j: I) h2 r* J
                          set y (0 - Dep / 2 ) ]
, ]) j  ~" |! ?                          set f int (k / 5) * 5
8 ]" d8 u8 a9 F1 n  setxy   ( xcor-of turtle f + x )1 u) O1 B; ^" d0 U; H/ ~6 S: @
           (ycor-of turtle f + y ) + m/ o. {. R3 E+ J% _& o: `
           
9 n. F1 X6 `$ |& G5 L           ) |, h2 z; z+ ~' C6 D; m. Y
if (remainder who 5 = 4) [set g who
/ ?# q* ^& [6 m7 Z* q                          set x Wid / 2
* `5 j  I2 _3 N( q                          set y  Dep / 2 ]
, j& @6 V6 n, ?0 @                          set h  int (g / 5) * 5
3 H/ D0 E1 X' e% M( a% {' z8 f/ [% y  setxy   ( xcor-of turtle h + x )' Q0 ^( t  O2 f
           (ycor-of turtle h + y ) 5 O  N- g7 v9 ^; N
                          9 Z; F0 R5 f$ Y* F! e$ k3 X: U
                          
& r8 }1 O0 \8 A2 n6 C                          ]. `! K9 w/ x4 P" B  r5 Z# B* W% R
end
) O9 N3 Y! D; C5 G8 }4 O9 z5 Z. ^" H$ [5 m9 \7 T& @- ^
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ U+ W0 z; P; }5 w9 k1 W1 ]应该是
# T# K; c8 {- ?2 v7 {  P- x; z* ]; Mask turtles [
: [  X% l4 f' M% Q( L3 Y. Aif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 U6 V) U- @9 h$ x& m                          set y  Dep / 2 9 M. h. S" |# K' y+ F) t
           set b  int (who / 5) * 58 h7 c, o4 ~! Y& r, T
    setxy ( xcor-of turtle b + x )6 e2 f' D5 P& I4 X7 @
          ( ycor-of turtle b + y )]]
6 ]% w% o) B6 O; w( k& j: v, s, Dend7 F: o! {5 M7 f2 W3 q: b/ T" m* p5 s
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-16 23:02 , Processed in 0.017714 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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