设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6850|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
, n/ Y, K0 o5 I. I1 g) \: P: Y0 i/ j
- X# r. e3 v  p但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' {, q0 R, F" n1 g3 z

& d6 \0 H, Y% z: L6 ^; ]2 cturtles-own [a b c d k f g h, L/ r) f* a* U+ d3 U8 |2 }
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ ?: ~$ k; n' b: I]
8 l$ Y* E4 Y& d% ?  {# y% J: C2 Ito new
) q0 ]( F: \. V# T5 R7 Q& L  ca- B( `/ ~# t+ w& x
  crt 5 * num_of_building
  s3 j4 l& @( W* ?, s$ C6 T4 V3 J% J  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
1 J5 F7 }" `: F# @* o3 h  scatter     ;;keep center-turtle random positions
; p! D8 M% ], ?& U. h  unit_plan   ;;make up the building plan+ t; w4 ]/ w( l& f3 r; E
end
: L' ?- ?6 Q  E/ _* A: q) Y3 oto scatter8 r; a4 N( k/ ]
ask turtles with [remainder who 5 = 0]
8 t. }$ h  I: m6 z[
! f6 d5 l1 k& y; P2 Q3 c; Nset xcor xcor - 6 + random-float 15
5 c9 K1 z" ~3 y4 _! Gset ycor ycor - 6 + random-float 15
4 U: S9 K! s. ^5 a8 a]
+ }8 ~; ~) c( ?' u( Send3 O0 y1 w- a/ N. |; j; C: P
to unit_plan
+ h0 s6 q. u) S$ cask turtles [
! |# N/ p8 X9 J; ?& P9 l/ ^% Tif (remainder who 5 = 1) [set a who ; S/ s  E- o# B
                          set x ( 0 - Wid / 2 )
! }# x3 m" p. G0 Z6 o, ?3 l' S                          set y  Dep / 2 ]
' @+ }" |8 h1 z. a           set b  int (a / 5) * 5# Y. t5 y# M& m  L( C8 `
    setxy ( xcor-of turtle b + x )/ f; H3 b  B4 }7 U
          ( ycor-of turtle b + y )& y! b  [: S* l& D8 q) n
if (remainder who 5 = 2) [set c who
) @2 A+ e3 C- K. L                          set x ( 0 - Wid / 2 ) ( Y( z( {8 O2 N8 N$ z+ ?
                          set y (0 - Dep / 2 )  ]
/ J9 J# q- s+ v3 |  d4 g- L4 u                          set d int (c / 5) * 5
' n- s9 l, T; }0 M' _   setxy   ( xcor-of turtle d + x )5 F* e, L( T- ?  f, ]9 Q& u" M8 D
           (ycor-of turtle d + y ) 6 S0 ], s( K3 u* K) K$ ~& Q/ p3 R
         
" A, `/ f+ o: W) T            5 V5 }4 ~3 l: Y  b$ P6 T# o; N
if (remainder who 5 = 3) [set k who$ z- _* a! a2 o  Y1 b2 |! S8 e) n2 E
                          set x( Wid / 2)  6 R  F' d6 G- r8 f# @6 }3 k
                          set y (0 - Dep / 2 ) ]
8 E9 W! i, P2 w* F  l; g                          set f int (k / 5) * 5
6 d, x  G2 _  Z' E) d  setxy   ( xcor-of turtle f + x )
6 O5 }% C$ D/ b2 A           (ycor-of turtle f + y )   o% M: o- E- ~( v, c+ g& b! H! q. w
           
+ p" Q7 r8 N6 l0 d7 U           # Q1 q( |, k0 w% w
if (remainder who 5 = 4) [set g who, ~+ L, X# B- @7 l
                          set x Wid / 2
3 k, r' q  R: c( G; @6 Z9 S+ u* D7 a                          set y  Dep / 2 ]5 v9 f; h- b$ @" T
                          set h  int (g / 5) * 5
/ K1 [. s0 k2 U- R  setxy   ( xcor-of turtle h + x )
2 |. s, @3 t5 _% E9 f( M' \           (ycor-of turtle h + y )
2 |! o1 t2 |3 r- i$ N                          
2 ~  @4 c& h2 Z. F) ^; s9 X1 J6 ]                          
0 C) D' V. P/ u+ m9 x- x3 H  h                          ]3 Z6 u0 w* K; ?8 Q) w
end2 B/ {7 n' y; [: [- O2 K
$ H  a( U7 Z/ h, B# \2 T3 i
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,# B0 \3 F: S0 E0 G0 p+ C3 Z
应该是* m& i+ I6 t9 h, ?: K
ask turtles [
+ o" T( j: b8 b$ nif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
. `  D- J3 O8 U0 L$ U% u( m                          set y  Dep / 2 9 A  d" u! E- R" X( Q% i3 r2 x
           set b  int (who / 5) * 5
3 U- z. }6 Y. T3 q! X: M    setxy ( xcor-of turtle b + x )
$ e+ m; X0 C" v4 B8 ^          ( ycor-of turtle b + y )]]. e2 u2 o7 B1 y
end5 M; `2 E7 x7 L/ D
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-29 21:24 , Processed in 0.018036 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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