设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8139|回复: 1

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

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

$ c7 X) q* P; O6 L& c3 ~& j) A+ e但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
  j* ^  _  }0 o- a: @0 L; e
$ `/ o5 i& \( u6 |turtles-own [a b c d k f g h
& I( g' J4 c/ }  x y     ;; these are the leaf-turtle's offsets relative to center-turtle / ^) v# L; N! ?8 n
]
4 ~* s2 Q* a4 dto new
+ Q- }* o0 Q4 y+ P5 X  ca1 V' r3 t0 x+ y
  crt 5 * num_of_building
# A9 G  ~+ S/ F8 B& ~  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 X) i# R- K$ q/ ^  scatter     ;;keep center-turtle random positions
' j+ D) V) c" H8 ^4 |  unit_plan   ;;make up the building plan
+ M9 I$ n& H5 A. A1 n+ ^1 cend
( s4 n2 l, ]% ?to scatter1 i  C* D7 b1 I# o; k) a
ask turtles with [remainder who 5 = 0]: ?9 Q0 \  o$ g$ d) T
[  }( Y0 p3 S. Q
set xcor xcor - 6 + random-float 15- B7 d: o2 l' t
set ycor ycor - 6 + random-float 15. j! V9 q# {# g- _, |; o7 o
]: _- f9 U6 p3 W3 U( C! J- E
end
( G& T  O0 ~2 u. }9 O9 E7 O+ Fto unit_plan $ w1 y: a6 j, [" l6 f
ask turtles [
. x; `. C$ t% K1 |/ hif (remainder who 5 = 1) [set a who % Z5 b6 m1 y; [1 f+ x7 A3 t  p% h
                          set x ( 0 - Wid / 2 ) , @" u) q: @  J( c. J" p' |
                          set y  Dep / 2 ]; m) A( g& y2 [5 p+ t: Y
           set b  int (a / 5) * 50 d" E4 S2 T, c
    setxy ( xcor-of turtle b + x )) n- P( R- u9 P/ c; E, u
          ( ycor-of turtle b + y ). ^: }) B3 J( @1 G; A
if (remainder who 5 = 2) [set c who
  {2 P( a5 N4 i" }7 u- M5 d* G, e                          set x ( 0 - Wid / 2 ) 0 a; H5 b2 F, L  t, h5 T( \; A2 ~
                          set y (0 - Dep / 2 )  ]
5 S- S, ^" l! k1 Q4 q; W* x+ S                          set d int (c / 5) * 58 }& B1 Q/ c' s! e  {/ k- F
   setxy   ( xcor-of turtle d + x )
( |/ T+ Z! r. l. i$ r           (ycor-of turtle d + y )
6 x2 P) {7 f# l% v$ Y' K2 n1 z1 t( _          , Z* N: k+ ]0 H7 ?. T  p- B
            ; M  T( h/ a6 u2 {4 |  N( v
if (remainder who 5 = 3) [set k who
& V/ ?: h! A$ ?) U8 {: _; P) k9 g                          set x( Wid / 2)  
) a  A2 {/ i: j, T6 X6 E' a  v  {                          set y (0 - Dep / 2 ) ]
& X7 f2 G9 _6 u$ [* A  b. D                          set f int (k / 5) * 5
% p+ d, N2 Q" G" G  c* r4 ?- L: S  setxy   ( xcor-of turtle f + x )
1 o9 y! r/ ^' v+ a+ R) L) |* s9 r           (ycor-of turtle f + y )
) S1 d2 o4 z/ |- a" f/ v. O           1 e- S1 c4 E7 B  }, B8 r2 a
           $ o9 p: e& B# ]: M+ g4 F
if (remainder who 5 = 4) [set g who( Z2 e4 e; ^) J; X" }$ K
                          set x Wid / 2 8 d4 Z3 T# q* \' D* ]* M' s
                          set y  Dep / 2 ]. G: T- Q  B: \4 d* U/ F. R
                          set h  int (g / 5) * 5
5 P. L3 w, a5 f) l  setxy   ( xcor-of turtle h + x )& C  }. e- X2 ^2 X/ b9 Y( N
           (ycor-of turtle h + y )
1 A7 U$ r1 L0 P; Z8 y                          
0 X0 q+ i1 m& D6 }$ [                          
$ r3 U9 L8 L" W( Y! T8 D" w% L$ ?                          ]
- `3 e  e2 u0 L( w0 p& N$ Aend/ H; l( r2 i+ J9 G+ M  @$ K
6 |5 I! [" Y4 l" n
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
/ q% Z# ?! K& t1 g% P: P应该是. z, F/ e+ q8 \- [6 M
ask turtles [4 I( S& l/ M& C" v4 J" n- `
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) L) k. g7 U6 `0 `: x% x2 @7 [" W
                          set y  Dep / 2
$ i- q: M3 r& R$ [% L! n           set b  int (who / 5) * 5" S' Q  |! m5 p3 T" y# _* k
    setxy ( xcor-of turtle b + x )$ x6 V8 L3 P. H0 o; x4 Z; `/ ?; D
          ( ycor-of turtle b + y )]]
% w4 q) G. a9 ^5 D! Bend
( G1 b; {! \0 ]0 s3 p% i% W) ]7 p之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-10 16:39 , Processed in 0.020488 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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