设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7812|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
* T4 |% W  X) o7 t& N: i1 ^" }
; f. i+ D' h7 _但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" R8 S4 Z' f% }( H3 l% Q
* L; W  s3 `/ ^- h  }turtles-own [a b c d k f g h6 F) m, X& K2 M1 r
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ! y. s% B) H' U/ {
]
8 ]& w  {1 d# R) lto new! ^% C( [, D$ }  F- H
  ca
9 }7 O( n5 f8 `; e8 \8 @" X9 o  crt 5 * num_of_building
) p2 F6 I7 b$ D2 e# P8 o# p  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]" i1 ?, O, x1 _8 `# w
  scatter     ;;keep center-turtle random positions
' s! o3 v/ T3 v2 J7 w' I  unit_plan   ;;make up the building plan! C( ^, }2 P" I3 v
end: K$ t9 A7 m/ N7 x9 g  R
to scatter
* l. u/ L* B7 Z8 |2 }$ Z8 hask turtles with [remainder who 5 = 0]
, ]( `$ Q' U+ @$ X[
/ r& y! }* _& `+ @set xcor xcor - 6 + random-float 15% W3 m: I0 O3 t0 ?6 w( Z
set ycor ycor - 6 + random-float 15: B( N5 s. F4 O- S7 H: c8 a
]
3 r& z5 l$ X- D* h9 B1 k) R- jend
# L0 q; z$ v, ^! V* n: xto unit_plan
/ E8 u% C- H$ G: F+ v7 Vask turtles [4 P  b" e( D8 F  J
if (remainder who 5 = 1) [set a who
& S1 u/ d) c  ~$ f: B6 ]                          set x ( 0 - Wid / 2 )
6 J! \6 ^3 V2 m( \                          set y  Dep / 2 ]6 G5 _4 k& q0 y  Y* j0 _
           set b  int (a / 5) * 5
1 ^' h$ Z4 c7 V% g4 G    setxy ( xcor-of turtle b + x )5 w0 S# U. l% _6 u% Q
          ( ycor-of turtle b + y ); D& H8 m. U4 n3 m( n
if (remainder who 5 = 2) [set c who( F4 z7 G4 O# N6 Z. p- ]/ `
                          set x ( 0 - Wid / 2 )
4 F0 F, S+ U0 c& @% C( C9 ]# q                          set y (0 - Dep / 2 )  ]2 g# j9 h' O+ U) K) ]
                          set d int (c / 5) * 5
$ M! R( S7 J( {6 L2 U   setxy   ( xcor-of turtle d + x )# o$ ?  ^2 h. U! I. S3 V2 r- q
           (ycor-of turtle d + y )
: B$ B1 N0 J) b. U) A         
/ V- G3 j) H6 E. W: J6 n            $ E# |- B* D3 Y7 V1 L9 n# z: s
if (remainder who 5 = 3) [set k who
, `- _- v. u& t8 L  O6 v                          set x( Wid / 2)  
7 g2 Q: \% k& Y                          set y (0 - Dep / 2 ) ]( w/ R1 ?; ^7 f
                          set f int (k / 5) * 5+ a) H0 }" \2 c. }& k
  setxy   ( xcor-of turtle f + x )5 v2 w7 i. O' _- ~1 C8 j# F9 u6 C* ^6 K
           (ycor-of turtle f + y ) - {; p5 c7 E8 u( f/ z' @) r" ?
           3 D3 [# @) D$ T+ `- G; `
           
9 Q* {0 m% |! v% ?0 `+ S' rif (remainder who 5 = 4) [set g who
+ e5 c8 m+ }8 [5 X: s* P                          set x Wid / 2 + L" z( D9 I( I( E" ?4 C; _% u
                          set y  Dep / 2 ]
! _* p  ~& ?- ]! Y, z                          set h  int (g / 5) * 5+ N' U+ U4 k, w. f" G
  setxy   ( xcor-of turtle h + x )
8 T5 R. B( ^: D           (ycor-of turtle h + y ) - M: P) H7 Y" `% `  B$ D7 ?
                          : ^) m2 E) D. i- Z- j6 a
                          2 V% l% |4 k1 N( \, s, j
                          ]7 C! q; `; y& ]4 C' L% `8 ]* y
end1 [6 ~* B* p6 b0 B$ l
5 ~! P" ~; W' J9 t- y
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
! W' k0 m  W6 j# `9 j& ?! c6 I" j应该是8 b" W" m" z! z, h6 C$ X
ask turtles [
% g2 E- H0 \3 ?2 I$ |0 }if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 8 }; Q" M+ R# J+ ]: R
                          set y  Dep / 2
* {& g! r. m% A, H8 k8 E: p6 m* K           set b  int (who / 5) * 5* }% ~! d' z3 w3 U1 ]# l+ S! x- M
    setxy ( xcor-of turtle b + x )6 G$ S# [1 P. h3 ^( D
          ( ycor-of turtle b + y )]]
9 Z' v0 N4 M! q. Aend  v7 a8 N* l) y* _
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-4 15:09 , Processed in 0.019617 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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