设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6936|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
9 u5 j& K) Z/ [% q
! H7 d' D; B4 q- c/ ]但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。* F2 |' Q  |% e+ ^9 O. F  T

* M2 w! Z7 s) Y4 n; F, tturtles-own [a b c d k f g h
- D& X9 C6 Z: \; Q1 I; I+ P  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ U& T7 \" d3 n2 A/ L
]; ?( ~! a% \& o5 i. B
to new
0 h3 O. p* m- ?6 f+ x0 d2 J  ca0 _4 B9 G2 F  x" H
  crt 5 * num_of_building: i# S* {6 m* G; D% |
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]" H- X1 Z8 J0 i) }! M- H
  scatter     ;;keep center-turtle random positions
, i! `; |2 ^# O  unit_plan   ;;make up the building plan
9 u' X6 U0 K0 v  Gend; T& _5 l$ r4 ]& S# g+ o
to scatter
1 u3 }* ^6 f8 M- H" W( hask turtles with [remainder who 5 = 0]  H9 x# F5 Y0 A3 w
[
$ t& [' G! M: Q7 c! v2 o. hset xcor xcor - 6 + random-float 15' s4 n' Z+ H/ C% w
set ycor ycor - 6 + random-float 15
7 j" h& p# e4 E- O0 ?]( b* a" J0 G( J( \
end
: V+ J" a! ]8 M' xto unit_plan
4 A7 t% E1 v) X/ r0 H3 xask turtles [! \: x& W5 l7 i! e8 x- j  w
if (remainder who 5 = 1) [set a who % `. k: i- m, f7 L
                          set x ( 0 - Wid / 2 )
3 O" C; |/ J+ I- q6 Q                          set y  Dep / 2 ]
( k2 o' M( d! h) a# ~* j% {7 A7 ~. K           set b  int (a / 5) * 5
2 d% ~: x. Y" s4 B0 D    setxy ( xcor-of turtle b + x )
1 i: J% y0 o9 u          ( ycor-of turtle b + y )
) a# x) D, o4 C6 i" g: k8 Dif (remainder who 5 = 2) [set c who4 c8 @: o: s& P% ~) [4 G) F" V2 O
                          set x ( 0 - Wid / 2 ) 3 J4 y6 e% {, Z* k
                          set y (0 - Dep / 2 )  ]
* S' j! V. n" e                          set d int (c / 5) * 5; |+ F+ G+ T2 k, P. l) ~
   setxy   ( xcor-of turtle d + x )$ t* d! p# a) t+ U7 O# V& W& |
           (ycor-of turtle d + y )
+ {/ y% e2 F2 n# d& w* p1 o- x         
5 t8 L' n, h. K4 H1 y9 K# M) ]            1 b; h4 X, x4 ~; [" P: f
if (remainder who 5 = 3) [set k who
2 M/ V. ~- m5 ~                          set x( Wid / 2)  
$ K" B5 f& x, }7 g; }                          set y (0 - Dep / 2 ) ]( q0 Q* D, k+ _8 t
                          set f int (k / 5) * 5
  I9 P  J; ?/ p( p8 S% C  setxy   ( xcor-of turtle f + x )
, F+ G0 }( q+ l. P) O+ L           (ycor-of turtle f + y ) 9 u3 _- \+ ]. d) w  B5 `+ y
           3 |9 K( B' K+ Q9 i% k
           
0 Z$ t$ O& d- L: R# i9 ]0 Iif (remainder who 5 = 4) [set g who
1 n) {0 n' [, D! X+ K: \6 I                          set x Wid / 2 2 r* d' i; T2 V, Q5 l
                          set y  Dep / 2 ]
; s; y( U- O& i) k7 ~                          set h  int (g / 5) * 5
* j8 Y6 I6 i6 t  b; N$ @- p0 s" {1 S; x  setxy   ( xcor-of turtle h + x )5 ~) O4 Y2 Q, ?- M
           (ycor-of turtle h + y ) 0 @! [  ^( E+ Z6 |
                          
- B1 z+ R& i* g                          4 K, {5 F$ J4 z  x" W
                          ]; {5 K( b& T  j0 g1 p4 Z9 c
end3 O) g6 D4 ]2 @  m# _: p

  ^3 G" k7 o# I$ f6 _$ X6 s* j- w[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,5 [/ m3 @: c$ n6 n3 i1 {0 l1 Y
应该是
; |9 d/ R$ v. Zask turtles [+ s. z" y# I7 k& q, i
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 k& ^6 A& H/ I; e9 a
                          set y  Dep / 2
/ X; u0 R+ j; J9 a# F           set b  int (who / 5) * 5) x" B6 i. q( h5 x" B4 I
    setxy ( xcor-of turtle b + x ): G! [) @3 c! m) G& y& |( ?8 C
          ( ycor-of turtle b + y )]]
) O: v. B  R4 q3 G  `end. ?) w- y9 t( J  J* o
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-11 21:11 , Processed in 0.022961 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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