设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8951|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
* k; P* S3 ?6 O, `3 R! U. d0 Z1 _0 q( w( {1 ]
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* [' G0 h$ b& X, y( j
, X9 ~. o4 Q. ?7 w. U0 g; o/ Aturtles-own [a b c d k f g h
: g6 L( U4 i2 N# g  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ }+ d9 i- t4 m% a. b
]
9 ]3 I; Z& g! kto new2 Q! T, q/ t) l6 v  u1 B
  ca5 z5 \% c9 W* l0 Y$ ]( v; Z
  crt 5 * num_of_building
* r4 ^( W" ~  m  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
$ e3 A: B0 a) |+ I6 i' u( N  scatter     ;;keep center-turtle random positions , Y5 `& Y3 q5 _, E
  unit_plan   ;;make up the building plan
: n: C; H5 E- d, l5 J9 tend
8 G* e1 b5 e1 hto scatter& u+ _+ K8 E/ [" ~/ J  v& c6 b! A! @
ask turtles with [remainder who 5 = 0]
1 j# X, u3 c+ I( d/ x[
7 V6 W3 Q6 F, _6 W" V1 H8 dset xcor xcor - 6 + random-float 153 [, O) A+ J$ [, P3 P
set ycor ycor - 6 + random-float 15' `, e2 `- w; w! Q
]
2 T6 r8 E0 g6 Y: n( h5 n. s+ bend, S1 I0 ^/ f6 |
to unit_plan
( K) G& L) p4 oask turtles [; G, l' R1 K8 i2 _
if (remainder who 5 = 1) [set a who + D' A. t; y, b" A# F
                          set x ( 0 - Wid / 2 )
$ }; f2 p% o4 N6 \+ v" g: m                          set y  Dep / 2 ]
! u! O; r+ j: J. Y0 R( L           set b  int (a / 5) * 5
# `7 y0 f) i! c0 ^. z) e+ _    setxy ( xcor-of turtle b + x )
2 t6 W5 @) j9 A4 M8 T2 a          ( ycor-of turtle b + y )$ w) v1 C* Y3 J
if (remainder who 5 = 2) [set c who
2 m" r+ P1 m* Z& X& \& k$ L4 o                          set x ( 0 - Wid / 2 ) 3 q6 i% F  C: W& K' d
                          set y (0 - Dep / 2 )  ]
8 w* e2 X0 c) t! r! h- B                          set d int (c / 5) * 5! f9 G1 \: D( }2 L2 {9 {
   setxy   ( xcor-of turtle d + x )
- d3 Q! ~* |+ x0 j           (ycor-of turtle d + y )
; B1 A- i( p4 O# ?; o          * }2 o6 P" s2 h7 R
            . H: J1 ^3 x6 U
if (remainder who 5 = 3) [set k who
/ N) d* b: D0 ~  j) \! }- d7 \& }: j- U                          set x( Wid / 2)  * O. c$ a+ ~5 Q/ O3 G9 C
                          set y (0 - Dep / 2 ) ]
+ w' |( c7 Q  L& {* B  j" {                          set f int (k / 5) * 57 t/ ~3 C3 m$ `3 g
  setxy   ( xcor-of turtle f + x )9 U2 |) F' ]) c7 p2 w, x
           (ycor-of turtle f + y )
$ E% h/ Y! M) }0 u* m+ r           % I4 K' u3 m6 x- Y1 W" [! [
           # A+ L& h& I. T- b* G! a" `, M
if (remainder who 5 = 4) [set g who/ M) {% X( q' Y  w5 L0 X; B+ m% k* Y! }
                          set x Wid / 2
; f, ^) q9 ?2 W  |; f                          set y  Dep / 2 ]6 H2 ~8 R8 p. R; O9 D: v# n
                          set h  int (g / 5) * 5
. F  ^( y6 m+ w  setxy   ( xcor-of turtle h + x ), D, J  f+ t& N' m# d
           (ycor-of turtle h + y )
: n% ~2 T, d  ~' V, Z                          
/ X8 e  t" T2 T' i( m$ t4 U                          ) a& Z4 J' j" i4 j0 S9 N& f" p8 U
                          ]
$ a: j6 t7 R; E) ?8 Z- fend
  J! E* ]* E6 K& a8 r& ~) E: d/ ~. v9 g0 L  Y% c: L. W
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
  I/ Y- v2 O1 q应该是3 E) M3 @9 m' w. W$ ]  t. B
ask turtles [" b& _" g, S4 A7 \0 t/ Y
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 1 N8 Q0 w- H( O- z. y
                          set y  Dep / 2
) P$ M9 p7 J, R5 j; D           set b  int (who / 5) * 5$ V, g* c. }" f# w7 O4 `! L" R8 g
    setxy ( xcor-of turtle b + x )
" y) S6 z) `" j          ( ycor-of turtle b + y )]]8 s  O- ~8 d* G4 w5 [4 l
end5 \& [7 j' E$ G  }! d+ G
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-29 23:46 , Processed in 0.017611 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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