设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8362|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 ?/ H; E) j3 D/ ], K
2 ^3 m- O  w) l但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
2 E- U) T  y# J  y0 a: h) X1 N+ ~- d; m8 m
turtles-own [a b c d k f g h
3 S1 r5 i! L+ k0 Y  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
7 R, J/ j. P: _' h9 d, B]
8 N* g; D+ \' N/ z2 B: \, Ito new
8 ~( v8 k, y: g' ], f- C  ca4 \* d& ^# c4 y+ Q
  crt 5 * num_of_building
5 {1 q7 H# ?- K# Q/ a$ T+ [) b  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ p! f) D+ r9 A5 {
  scatter     ;;keep center-turtle random positions
6 b/ Y( w7 X- M4 q+ z& S, V  unit_plan   ;;make up the building plan
+ E0 D0 H2 n; \( U" q/ Fend
2 U9 F. E6 r# y/ T) W% @; pto scatter" B/ L/ |, {" X' y+ J9 U
ask turtles with [remainder who 5 = 0]; U7 m  t, P6 x, E
[3 v# x( T+ V9 v( S
set xcor xcor - 6 + random-float 15/ ?- g. A/ Z- _$ H5 C+ ^  [6 V
set ycor ycor - 6 + random-float 15/ u( }/ i0 F/ a; E+ z
]5 r( x( c$ y9 D5 d9 A0 `4 @
end7 X8 }7 R5 j  |- ^  Q( y: b( P
to unit_plan . b0 m; s: A% s* x
ask turtles [
. a# B' ^! y- }. l0 s; t' fif (remainder who 5 = 1) [set a who 6 K7 ^+ m8 }( I( @
                          set x ( 0 - Wid / 2 ) ( O5 o" B3 [" J0 r9 k6 p  J
                          set y  Dep / 2 ]: b" P' S( Y% t+ X; {  k- D
           set b  int (a / 5) * 5' v( @3 D2 T! {, p
    setxy ( xcor-of turtle b + x )
; Q$ e/ d* T8 |/ @( b  W) q7 m          ( ycor-of turtle b + y )
" N' \2 r+ }$ j/ Dif (remainder who 5 = 2) [set c who5 [7 [" N" W7 j! b1 _" }3 e. O# @8 T
                          set x ( 0 - Wid / 2 )
& f  m$ ~/ |3 y, L                          set y (0 - Dep / 2 )  ]
9 f( E0 N: U# N/ S, K4 \* d! o                          set d int (c / 5) * 5
0 I; M$ I1 V: O   setxy   ( xcor-of turtle d + x )" C) {3 O0 ~. i$ e0 `) M9 _
           (ycor-of turtle d + y ) 1 L. V. }1 a4 e4 R- T& A
         
6 x5 v* ?7 Q  p. ~            
7 H7 Y! x( A( S. \4 F* E( m& m7 @if (remainder who 5 = 3) [set k who
( K1 U; l+ }. o! W                          set x( Wid / 2)  
4 b3 X+ I& n6 H% l( M                          set y (0 - Dep / 2 ) ]1 p7 z5 b- B9 Y) U% a' @& S
                          set f int (k / 5) * 5
7 P  G, o* T/ U% C! j  setxy   ( xcor-of turtle f + x )
3 \  q; E! `( ^. }9 ^; W           (ycor-of turtle f + y )
8 B* m+ a: N6 t2 v4 V4 f           6 `4 Y: y; _. Z+ Z+ R3 F, n
           % ^$ ?+ v8 Y2 Y
if (remainder who 5 = 4) [set g who5 ~% L( r) X* @" i6 s7 L  I. \
                          set x Wid / 2 , S( u5 S; e/ d, C
                          set y  Dep / 2 ]
3 x5 A$ C. j, l' r  ?                          set h  int (g / 5) * 5
) j/ B) a3 v, K9 z/ |; ~, v  setxy   ( xcor-of turtle h + x )
8 O7 C: p" i4 s" X& A           (ycor-of turtle h + y )
7 c. a# T' P' C+ F4 C                          1 G, X5 b6 @3 u% i
                          6 Q; }9 c3 V9 U$ C2 J
                          ]' j' S6 X3 O* t2 L
end" G: M/ g3 ]6 N5 O( I

3 ?; x0 N' H: q- o[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
, \* Q0 p+ v! j. R5 a, O应该是( V# S6 Z5 W) i
ask turtles [5 z% y. S- V1 P0 `+ p
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
, @  h2 G+ {4 `( F                          set y  Dep / 2 2 w) C" M6 ^9 n- g/ A- S1 k
           set b  int (who / 5) * 5
" g# {2 y* d2 Z# r4 B( B9 V    setxy ( xcor-of turtle b + x )
) n+ m* P+ B& d' O% |4 B2 k          ( ycor-of turtle b + y )]]/ L7 h! J9 B) Z, n3 }9 V
end* u( V" T, ]) v$ j" r
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-15 04:46 , Processed in 0.014024 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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