设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8182|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。4 G" O4 j" H1 c, Q; Q

  v& O! d# ]3 a" C3 X但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) S% y6 y$ v  I/ Y. |
/ C8 a6 i; E7 T6 E2 O& Iturtles-own [a b c d k f g h' v" f& K. h6 U  G( f, D7 Q
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle * N8 S, U% h( `, Q+ ]6 M7 Y
]
, R' b8 n$ w. l% `# Uto new1 t; `4 A1 G  h6 R7 g
  ca" X9 C" C5 Y% l. q) y( l
  crt 5 * num_of_building
- a+ F; \1 G% b0 p9 k5 m  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
8 `9 m) a: ?/ z7 ?# S; D. b  scatter     ;;keep center-turtle random positions 4 b4 b  Q& G. X5 f1 }( ^3 z1 y
  unit_plan   ;;make up the building plan
5 i& d: c$ v( {. _end
: Z  k' P1 U1 T# q4 Wto scatter5 q4 [; h! J9 n9 M+ \( e1 m2 _
ask turtles with [remainder who 5 = 0]
/ ^8 L- \- J# H6 Q; \[
/ A$ k* X2 k" P( Z7 I2 Wset xcor xcor - 6 + random-float 15/ K: B, q. v" Y- R" {( X$ l
set ycor ycor - 6 + random-float 15# d( J% O  M8 g* B6 m
]1 [& n) Q8 w" b
end+ V1 b0 n" L( m7 H
to unit_plan 3 Z% P9 o1 E( H0 r
ask turtles [, e8 K+ c6 T; v: @7 e3 E
if (remainder who 5 = 1) [set a who
3 Y8 W/ F* M- a# @! [& ^" w2 E                          set x ( 0 - Wid / 2 )
3 f' W% X6 M1 x: Y                          set y  Dep / 2 ]$ G9 ^6 a7 M( w2 w/ _
           set b  int (a / 5) * 5' h: G0 J0 U2 `  q) u6 w% S- r
    setxy ( xcor-of turtle b + x )& u5 s- U/ S2 q! q; O( b
          ( ycor-of turtle b + y )
5 r: j" Q& }5 ~( p) rif (remainder who 5 = 2) [set c who( b) r: n3 f/ K6 w
                          set x ( 0 - Wid / 2 )
) o: A9 x1 ?# f+ g+ j. S# ?/ c                          set y (0 - Dep / 2 )  ]3 G% z/ g4 r7 N) h3 c
                          set d int (c / 5) * 5( h! _8 K8 U+ G. s7 B/ }3 \
   setxy   ( xcor-of turtle d + x )) a9 M! b% Z& v( A1 Y
           (ycor-of turtle d + y )
& P8 M7 R7 I, @# G4 A3 _7 U4 Q& t          0 k, F  s; _2 ?& \
            # b) Y! C: i3 ]9 v4 e
if (remainder who 5 = 3) [set k who- g& b' j0 f8 T7 M
                          set x( Wid / 2)  ' o5 L: {& E" A* t) ]
                          set y (0 - Dep / 2 ) ]) A2 P6 [0 j- J* y9 R# C! A8 @: b
                          set f int (k / 5) * 5
$ b7 _- K( I, E( ^  setxy   ( xcor-of turtle f + x )
/ @8 q, [* x; w& y) E! b" y           (ycor-of turtle f + y )
3 K8 A' `3 M# b           ' N! `; ~' v8 @! D" w* X
           % Y1 i, p7 d6 P. t/ _# C& }
if (remainder who 5 = 4) [set g who* I" O7 S9 }, S/ ]/ t! f8 L
                          set x Wid / 2 8 a2 q8 ^. X+ q6 e+ y% J
                          set y  Dep / 2 ]% _& P! W( C, Q4 {0 @! k: C' }
                          set h  int (g / 5) * 5# }+ o* t7 y4 u- v; B7 R
  setxy   ( xcor-of turtle h + x )
- ^. q9 m1 d+ s. w+ b9 m           (ycor-of turtle h + y )
8 A; f# e) d6 m                          
4 V, T+ D  D" P( O" j% x                          6 v7 E) S& f2 N, A
                          ]
, R# d3 p+ f8 ]9 m, c6 l; @% Dend
5 n! B  K$ _9 n; o0 q
, V2 x8 `9 R9 D5 x3 V, J! H6 v; g[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 C; w+ ^8 y/ W8 i# B2 C% U应该是
6 v, F2 v$ t) g9 A. H2 j( W  `+ ]ask turtles [% F1 t2 x4 u( c; y% z  B3 q8 J
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 Q. }0 Y2 f$ W' |. Y
                          set y  Dep / 2 ' Y0 B* k0 C! w  {- I
           set b  int (who / 5) * 51 `+ N# `/ P2 {. M+ c0 ~' w* T7 i* o
    setxy ( xcor-of turtle b + x )" U8 H; m8 o3 m/ t
          ( ycor-of turtle b + y )]]9 O$ i! n6 z! O- O4 ?  B
end
+ c* ^6 F8 X" o8 @之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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