设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7948|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. t8 r2 t( t5 z) Q8 m# p4 b+ O- _; @* r" S7 ~6 {7 L
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
: i' u' H- V7 O" d6 R4 g& \4 b1 n2 F1 e2 |1 F9 ~
turtles-own [a b c d k f g h
( `0 ]$ d5 |2 f0 V* w8 u  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
% z2 d8 e9 t0 S# H]
1 z* D3 B% j2 [' C" K. j% H4 Jto new; d; s% l4 P6 L- Q
  ca
  D7 m! p/ h8 Z* d& m  crt 5 * num_of_building7 ]0 x! {& A! O# H& T
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 Z/ a' L3 y- L& o- n
  scatter     ;;keep center-turtle random positions 9 m5 m6 l2 _/ B/ {" v
  unit_plan   ;;make up the building plan
  {) `- g0 V1 [* W* w# |; x* }end3 `& T' P( S7 A
to scatter
  s; i( P) d" ^ask turtles with [remainder who 5 = 0]
3 p  v! }, K' h* g4 o; y- Y[
$ H% Z) T5 D6 {, O+ uset xcor xcor - 6 + random-float 15
1 P# l$ S. Y5 c: b7 U* iset ycor ycor - 6 + random-float 15+ @* i. G" J8 t0 z- X, X
]
+ g* ]: |0 v) Tend, N3 c5 L; b# F2 v
to unit_plan
- i! R3 Q; L5 Z* V: m: Hask turtles [# E  Q- K4 f( E4 S, P
if (remainder who 5 = 1) [set a who * _% l. T0 x1 A  N* U: ]
                          set x ( 0 - Wid / 2 )
/ v2 E! R! r4 Y2 ^' d                          set y  Dep / 2 ]
* N* d0 ?4 b" p           set b  int (a / 5) * 5& m3 e/ C4 Y9 {$ A- \& v( @
    setxy ( xcor-of turtle b + x )( x' a; R7 |1 r; z, I5 U% R- \
          ( ycor-of turtle b + y )
# J/ v, k& P& R8 Wif (remainder who 5 = 2) [set c who
0 J/ d; \+ u* w9 u' e) H$ u                          set x ( 0 - Wid / 2 )
. B6 ?/ z% D5 s                          set y (0 - Dep / 2 )  ]: o7 _' a  _2 H6 s( _, b& b
                          set d int (c / 5) * 5( P- F3 V0 t9 c
   setxy   ( xcor-of turtle d + x )
9 o4 i8 f' f' D1 u           (ycor-of turtle d + y )
  _3 Z, j) L! n: \1 m& F          0 g" R$ v$ e9 z/ {/ {' j
            
* r' W8 J" N- D7 }if (remainder who 5 = 3) [set k who
, P4 @4 u+ B' t) u2 c& E' Y/ U                          set x( Wid / 2)  
# i$ V4 H: j2 B# x  g                          set y (0 - Dep / 2 ) ]
. j3 V2 Z1 ]8 P1 }                          set f int (k / 5) * 54 d& t/ }. V' p5 w1 `- a7 c
  setxy   ( xcor-of turtle f + x )
( b  w8 k: U5 Q           (ycor-of turtle f + y )
. C& Q9 ^- a& f* ^- {9 ^           
; C) ~* M, q* `' Y  ^           + ]3 U; S% Z. w: Y% `3 A
if (remainder who 5 = 4) [set g who: d% t1 ]5 N2 O! x& N
                          set x Wid / 2 " C. @, \$ Z5 n4 X3 `. N
                          set y  Dep / 2 ]+ Y4 R8 S3 I$ R- V. Z
                          set h  int (g / 5) * 5. X6 R: ?  V0 y4 t7 |9 m- W! d
  setxy   ( xcor-of turtle h + x )
" D9 x) H+ h* ~1 z$ P  o  l           (ycor-of turtle h + y ) ) g8 }) {1 f( k9 R" M
                          2 W0 S, i' J5 A8 j. z3 |8 V
                          
$ E: n+ [. m8 z                          ]% z9 n: B. z7 v2 l6 |' r9 P& ^; n
end
9 Z! ^- k; Q$ X" ?( u
( }- B/ v* g$ [% Y& Z[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
( z! N5 j$ c1 Z+ `, F  |4 I应该是, z6 D5 |9 T0 g' m" [3 p2 A8 ]
ask turtles [
/ c: H% a# H/ a* T+ S4 C2 k9 gif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
2 m2 U0 L( O: r2 C5 p! h2 E                          set y  Dep / 2
/ e5 q' U/ z* i5 u8 C           set b  int (who / 5) * 52 I" Y1 |  j$ N2 C$ {4 z3 W& z$ R
    setxy ( xcor-of turtle b + x )
( g7 X" e' G7 h1 l9 _; k          ( ycor-of turtle b + y )]]
2 }& u% o4 O: `) [  tend: M0 \7 z' o/ Q' @6 }. L
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-21 00:21 , Processed in 0.015526 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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