设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8223|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 n. M0 `; A  n1 P3 H/ v! @  j

% z$ B/ d, [  P但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
9 F# t- g( z. H/ \* Q
8 D/ t  m, z; z5 \! {9 mturtles-own [a b c d k f g h/ A* g7 V; o- B2 p+ m( L  B
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
, r- S# c' k$ ^6 y" O# a% Y3 _" m  _]7 [( }0 s; y1 z% |8 Q4 M; E
to new8 c0 c# u3 ^) {; y
  ca
: n5 r1 `7 c+ [/ Z* O  ~4 g+ V" Y  crt 5 * num_of_building
3 i3 n6 A3 [" l- Q8 l' }1 E1 i  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
5 h! B7 r. y& I( D3 t5 }  scatter     ;;keep center-turtle random positions 0 A0 z$ s5 B9 D' Q$ v/ l: [
  unit_plan   ;;make up the building plan1 ~- ?% u* U* M- Y% {) g( q
end
* o3 q/ l7 b) jto scatter, D/ j1 F  Z+ I' l# D! x2 T" a
ask turtles with [remainder who 5 = 0]' b7 ^6 Q. d% e" E5 q5 \& X% V
[( ]$ M8 b2 j7 h
set xcor xcor - 6 + random-float 152 Y! ]1 J9 s7 Y' y  ~# P# G
set ycor ycor - 6 + random-float 15
, H9 q1 J6 M, G5 a- |  {]( f  @" K4 b+ h
end' L2 R' i1 N  D# j
to unit_plan
  j. }  `# u- K/ {( Bask turtles [5 n% C/ {4 O4 t
if (remainder who 5 = 1) [set a who 7 G3 E, k' p! _( Y: u
                          set x ( 0 - Wid / 2 ) - {3 ^; I5 S2 I8 w9 y0 k
                          set y  Dep / 2 ]
8 b. E% H3 |+ {9 A           set b  int (a / 5) * 5
3 a1 s3 j; ?( J! }5 E. ?, `+ Z  O6 \    setxy ( xcor-of turtle b + x ). C) _& r* m  f
          ( ycor-of turtle b + y )
+ v- Z" n/ j2 E. @if (remainder who 5 = 2) [set c who' ?! |% Y$ ~1 P7 B9 l, ^5 K3 f
                          set x ( 0 - Wid / 2 ) ; S3 e- H3 ?6 Y6 o% f
                          set y (0 - Dep / 2 )  ]+ S7 R3 c; b# `, a( F, t1 j
                          set d int (c / 5) * 5% N1 m3 [2 ~& h- d3 g
   setxy   ( xcor-of turtle d + x )  V2 I. n6 i2 ?, O: W
           (ycor-of turtle d + y ) ; }- ?" v. |" c% x- j
         
: M5 m* _5 O, t' e* ^6 N            ; D- r6 S5 d- {# l& S' Y
if (remainder who 5 = 3) [set k who" E6 Z- }$ {, @; D% z- W
                          set x( Wid / 2)  6 H8 J/ t  I- I$ n# W7 v6 q
                          set y (0 - Dep / 2 ) ]9 ^5 X" c9 T5 f0 w  o
                          set f int (k / 5) * 5+ v) u9 k+ z$ w( \7 r
  setxy   ( xcor-of turtle f + x )
. y' |4 a* D' {0 W, Z1 m           (ycor-of turtle f + y )
0 l, l% [! K6 o; P$ ]             |7 V* A& h1 N3 L! b( y
           
* D$ P: Y$ Q7 O  r, E/ Mif (remainder who 5 = 4) [set g who
4 W& o( m; V% i# r9 Y$ }* U                          set x Wid / 2
5 x3 f: A  {# z( W% w) [  L                          set y  Dep / 2 ]
7 ]8 p: i, d& i2 I' O; n* h4 ]  c                          set h  int (g / 5) * 5! I( x5 h: z, t4 ~& T
  setxy   ( xcor-of turtle h + x )- q. s6 p. ?7 f9 R, V; g
           (ycor-of turtle h + y ) - K* W+ Q% R' z7 c- F( F
                          
- Z) e. @3 L" f: r& n/ Q                          
+ k% m! E' b6 v                          ]
  \3 D- l% M) _7 W& X) C$ pend
: q# \9 }4 q+ H* x- J
/ U( c& R5 ]( t[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
8 t, g1 |/ s3 N$ _2 x8 n应该是8 ]) u/ e/ o$ n% m$ Q5 y7 V
ask turtles [; q4 e' B3 X, b( c/ \4 j. v
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
8 J0 |( y* P; ~# m+ {1 M                          set y  Dep / 2
5 r; p8 Y' Q/ j( K           set b  int (who / 5) * 57 R; `* j" m" V' @) Z
    setxy ( xcor-of turtle b + x )
  o5 b' N; [( a' Q          ( ycor-of turtle b + y )]]
% c. D  K7 `( B: j/ L5 |3 Send
7 N2 {- U# q# z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-20 18:20 , Processed in 0.017373 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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