设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6908|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。9 t5 ]8 R0 v& T7 h& S

% e2 w9 {& _. d9 C但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
/ {2 U- z1 l4 N0 m: ]2 Y- S6 g# }9 e- L( |1 q5 D
turtles-own [a b c d k f g h! ]4 C7 t# p' m2 G1 X
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
$ Y- L4 [" F% F, F6 t+ Y1 `]
! ]4 p8 ~: [: E# Z& Y  k1 N3 Dto new' J3 l/ b- ~+ T$ Z# z8 `5 r* \3 k
  ca3 U, d, U; b0 a" E( [  h$ S
  crt 5 * num_of_building6 t  S7 L' ?2 F
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 G7 J( A5 G8 e) d' B
  scatter     ;;keep center-turtle random positions
3 U+ x( v$ _! H3 r  unit_plan   ;;make up the building plan
6 }- w+ g( ?. B+ W) u1 w8 s7 N8 Y2 {8 T& X+ @end. u8 d# V/ h3 n* T) c4 ?
to scatter$ }) o" m& q( j! W, E% B7 F9 x
ask turtles with [remainder who 5 = 0]* B8 r. Y! ~# A  @* }  y
[
+ `; k- ?0 X) b; s. ?set xcor xcor - 6 + random-float 15  C- g( c; b# q4 r- I/ ]
set ycor ycor - 6 + random-float 154 g7 `0 P# @3 _6 g
]
6 |/ N9 W3 S4 G3 dend" m& ]+ x0 Q: T3 c3 u
to unit_plan 0 n- i6 u4 W7 S
ask turtles [
2 e3 ], F, l) K3 [( }& T& y1 iif (remainder who 5 = 1) [set a who
, L: k" G6 O3 U; {4 K                          set x ( 0 - Wid / 2 ) # x) m  {3 O2 q* k& p- W
                          set y  Dep / 2 ]! `9 y; p$ G& ~" h) X- y
           set b  int (a / 5) * 5
: a  p% c- q8 o! p" R* P    setxy ( xcor-of turtle b + x )1 A" r6 x9 _" C" W6 Y) u
          ( ycor-of turtle b + y )
9 c' O  ?6 v% p, R+ q- M- \if (remainder who 5 = 2) [set c who
; z+ x  V- N. h: S4 Q0 G                          set x ( 0 - Wid / 2 ) ! C1 [& x* i+ p. t4 h
                          set y (0 - Dep / 2 )  ]. b  p2 x, g5 T3 ]5 j- A1 z0 n
                          set d int (c / 5) * 5' P8 ?  f7 h# n' B. P6 F
   setxy   ( xcor-of turtle d + x )
" v( ]- _4 g* Z1 Z; g) k           (ycor-of turtle d + y )   B0 P( d% W7 D- H% M
          ' Y! g  J3 @! [7 r, e& `6 D
            
! D6 j9 ~: ?9 J' ~- C8 eif (remainder who 5 = 3) [set k who- n+ [. |3 S5 N
                          set x( Wid / 2)  ) A: E) l0 R9 D+ h
                          set y (0 - Dep / 2 ) ]# M7 T7 z9 u+ W, p3 D5 F2 Q
                          set f int (k / 5) * 5$ H5 E* r( D. A# d$ F6 n
  setxy   ( xcor-of turtle f + x )
- h, e- I- t% j6 i+ [           (ycor-of turtle f + y )
- h( T2 e4 ^5 p) P% j! c4 h( F           
' N7 ]! I3 O- [+ [* D( H           
- L/ W# D$ ~6 V! c  i9 Iif (remainder who 5 = 4) [set g who
/ y$ n6 i$ `* j                          set x Wid / 2
3 V; w$ B9 s3 j6 z4 w) ~$ c4 V( c                          set y  Dep / 2 ]
# t2 E7 Q; h3 m5 b3 x                          set h  int (g / 5) * 5: n7 n) ]/ O, Y: x7 n
  setxy   ( xcor-of turtle h + x )7 n& K7 S+ t3 ~: a
           (ycor-of turtle h + y )
+ H- n- i" W3 r4 Q2 v0 L                          0 I3 v* M7 ]: q4 u& T
                          
7 m* S: A% Z1 D8 Y. G7 h4 W0 k! D. Q                          ]
9 E' j4 z: s. z& j) dend
2 ^2 V8 y2 R/ }5 |) g5 J( R+ L' ~. @3 G9 s) Y
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ @8 u/ E+ Z; C" _' D. F$ ~
应该是$ C& |0 A7 J0 @  l8 y2 M
ask turtles [
# I; e5 D1 K7 P. Gif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) * x, N: e) o' [1 D
                          set y  Dep / 2
2 j; Y5 u3 `5 ~. d/ _           set b  int (who / 5) * 5. f: G" T0 Z/ a. Y9 b
    setxy ( xcor-of turtle b + x )
- g# l4 t: M$ q/ Q3 P          ( ycor-of turtle b + y )]]
# I0 U0 _5 T+ n2 D, a- Kend* _5 H  M8 z! I7 ], g) B
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-9 00:23 , Processed in 0.024231 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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