设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8193|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 q$ s1 \( H+ u- F( h( l( b
- J/ h. ?6 ~8 l: `0 s! B
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
- X, _8 P! [/ y( I) E$ P( l; X$ j& L$ m, m
turtles-own [a b c d k f g h  ~- u- F4 }0 q) D% ?# n
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle + g# K+ J# e. G& ?1 j* G' ?1 K8 J3 T
]! ]+ W9 S0 T8 e3 R" F$ D
to new
% s3 r8 e1 o" F0 n  {! ~: h  ca4 R6 h4 h% L& l- K; J, J0 ~
  crt 5 * num_of_building( }3 |- z3 z. @" K9 d) z
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
; X* z# K( e% n# l8 e  scatter     ;;keep center-turtle random positions ; A; {" |1 S5 b% M7 |3 C
  unit_plan   ;;make up the building plan& j8 ~5 P* n8 |3 F7 b
end
3 x/ L0 R  T; I$ T; ]to scatter
# ~  }+ F+ Z, ~ask turtles with [remainder who 5 = 0]0 k$ I6 s. P- s
[
* n5 `. |( n: S  Mset xcor xcor - 6 + random-float 15
" A0 G# {4 p" e9 N4 Xset ycor ycor - 6 + random-float 154 m: G! ?) H9 i4 @5 m
]
; U( d: {4 E2 K7 M0 x) L7 {end; D8 _' J! Y2 {$ c! L% T6 _
to unit_plan 2 u; w0 w7 ~; X$ s9 N
ask turtles [3 X9 i) V# t  Y* z
if (remainder who 5 = 1) [set a who
) Z8 t( c, C/ x  d9 s9 k, \  [3 t                          set x ( 0 - Wid / 2 ) 4 `  T6 ?  _7 J+ y
                          set y  Dep / 2 ], n  G- g& ?: d* [+ ^7 ^6 }
           set b  int (a / 5) * 5
9 k1 {! f4 w' ~    setxy ( xcor-of turtle b + x ); i0 c6 t$ r. ^. Z5 Y; W& B
          ( ycor-of turtle b + y )
; ?1 d# k/ v, R3 l8 U" }' K" ]  [if (remainder who 5 = 2) [set c who
8 O  `  ~/ {" g; p                          set x ( 0 - Wid / 2 )
# V+ U. y- o$ U; t! H% e# I                          set y (0 - Dep / 2 )  ]  n  T! D; u! a. G- `
                          set d int (c / 5) * 5% P0 u0 y- |2 C; ?/ @3 A+ {! W1 [
   setxy   ( xcor-of turtle d + x )) a1 n/ [- Q7 W. M
           (ycor-of turtle d + y ) # {0 K/ A* }! [% F
         
" x1 @3 @- D: e' g/ n5 M& v0 x            5 q) e4 h% \% @# E
if (remainder who 5 = 3) [set k who+ y3 ]4 f* c' l1 z
                          set x( Wid / 2)  
$ D# l# ?) [5 H' `$ ~+ S- @8 F                          set y (0 - Dep / 2 ) ]
1 g* e6 P9 _4 b& L% E                          set f int (k / 5) * 5
1 q! S3 E1 X/ `$ S  setxy   ( xcor-of turtle f + x )
# n0 m! V+ U/ q: [0 L6 A           (ycor-of turtle f + y ) 7 Y2 @) q# o* f2 N! u
           0 W! E) y* I8 V% h( C1 g
           
, E. B: @, E7 o% W0 eif (remainder who 5 = 4) [set g who
9 v, t6 J5 D6 M1 Q+ d4 v                          set x Wid / 2
& d+ r2 c# v! ^" j                          set y  Dep / 2 ]
+ t* L, W9 E# F2 W) c- g% K- M                          set h  int (g / 5) * 5
& d; T" }/ J% s8 t2 k+ {/ `  setxy   ( xcor-of turtle h + x )
3 ?* ^: ]7 x3 l# m6 h- H           (ycor-of turtle h + y )
/ P1 ^9 s0 S9 n0 E8 w                          
: G* b) T, s; Z& e2 q                          
. ?0 V2 }- F. S5 p- o7 f: ^5 Z                          ]
# p4 b% ]9 U8 [end9 ~$ ~3 j4 W- q8 J* e1 z: l- b

* Q( ~6 N% {; ~  I. u[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 T/ T& K' B% K) d$ C应该是0 \. D4 F3 }  N  I
ask turtles [
) F- |# ^/ a4 G/ ~/ w# g+ Uif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )   k( A" ?  Q0 U- o! \2 N
                          set y  Dep / 2
& W- K9 s4 a* h+ I6 H           set b  int (who / 5) * 5
% `3 i- z4 Z3 m    setxy ( xcor-of turtle b + x )
  r1 W3 d0 f- e) d8 f& \7 K          ( ycor-of turtle b + y )]]
5 I( z. g3 m' _( c5 l4 b9 Z  `4 qend7 o4 ~" ]+ y) S( S
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-16 16:17 , Processed in 0.022399 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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