设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9081|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。4 S; A! v6 Z, s2 @/ i- n2 P

: D6 I" r3 \3 l# R. f9 ]* C% }& o但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' p+ z# X- `4 x
- c# m$ P3 H4 [4 ]
turtles-own [a b c d k f g h
, m. \+ n: _5 P7 q  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) M4 z: A" y" E: H* m! N( l$ O
]
0 [; x5 C: B6 Q* ]" x2 G6 ito new
, v. v# s& D6 n& ^7 K  ca
- j% i, {! K3 [" m! [0 a% g- e  crt 5 * num_of_building, l$ O4 z, Y$ h5 D# L2 i
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]" T4 g+ ]$ S! C+ t9 O9 m+ I
  scatter     ;;keep center-turtle random positions
8 R4 Z5 n7 s$ n/ g  unit_plan   ;;make up the building plan
' P3 ?) v9 x/ lend% G4 d; T. t. c; w! @# D4 T
to scatter$ p+ o/ i/ P( P$ d3 F
ask turtles with [remainder who 5 = 0]
  ?" R+ D: b3 P4 B. D[+ t8 z+ ^+ T, T* p4 B) _
set xcor xcor - 6 + random-float 151 r$ Y7 ^6 A# Y+ n. `/ j0 O- p
set ycor ycor - 6 + random-float 15& ]0 \# a' ?3 m1 C: Y7 J) K$ j2 \
]
3 G# G* z1 g" ]end- d& A9 @0 w7 W$ O/ A6 J
to unit_plan * O; h* E2 b; V" m  v" Y; V
ask turtles [
4 C+ ~( @' Q3 v  i7 qif (remainder who 5 = 1) [set a who ) W4 A* m5 W0 U5 H5 k
                          set x ( 0 - Wid / 2 ) 6 M7 Z- ^8 Z8 I2 T8 J0 z/ c; s
                          set y  Dep / 2 ]; ?0 B  K/ N' d: {" `0 r6 v
           set b  int (a / 5) * 5- b2 v$ l5 T4 `0 C
    setxy ( xcor-of turtle b + x )/ E0 W6 o- }) ]4 y% t4 R9 k
          ( ycor-of turtle b + y )1 x5 N: J( i' D9 T2 s; S
if (remainder who 5 = 2) [set c who6 Q8 J" y- x4 `3 _
                          set x ( 0 - Wid / 2 ) 0 N' ^- y& W8 c( ~# e1 |4 M3 |* m
                          set y (0 - Dep / 2 )  ]9 O7 p2 \# d) _9 T
                          set d int (c / 5) * 55 |# Q! X  w0 B9 Y5 W6 s$ v% C
   setxy   ( xcor-of turtle d + x ): G3 h- p8 {& ~$ Z' K, v; P" G8 |; E
           (ycor-of turtle d + y )
$ @4 \! F- Z3 @4 }         
) g( f$ M% X1 t% z" s" m            ! t  d! n" |" j2 w' _: d* S* ]# H% y
if (remainder who 5 = 3) [set k who
* n. M& M- [0 G0 k( W& K                          set x( Wid / 2)  % }. l: `9 C: h8 P9 @
                          set y (0 - Dep / 2 ) ]/ V2 B  D6 ^2 E8 L5 Y- _6 l" R
                          set f int (k / 5) * 5: ^1 P9 [  o0 t1 L
  setxy   ( xcor-of turtle f + x )
) v/ l& ~: y0 r' f8 M( }  D, T           (ycor-of turtle f + y )
; R) ^, E. y: T% u! }& @# n           
5 Q! I% {+ y' F           
2 P& x6 }3 t( n+ v" Z# r2 Bif (remainder who 5 = 4) [set g who
, n( M# H6 t( b. b. T8 l, z/ C0 u                          set x Wid / 2
$ D: V. e; P+ v3 W! v: L. r                          set y  Dep / 2 ]
8 a1 W$ \: c/ l, h7 L                          set h  int (g / 5) * 5
. W- I* l! o/ _- Q: v4 a. G  setxy   ( xcor-of turtle h + x )
0 v+ k$ |9 Q+ Y3 C9 J+ }: l           (ycor-of turtle h + y )
; e, v- q) |! ^# X# f; u  X                          & v: M! C3 T2 B
                          
; h) _$ r" s  Y; G                          ]% H$ o6 P9 l! C* }8 i& a
end
( I# z, y% {; M: t5 n* N
) Q* Q: }, ?; Q& r% \[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,+ ^4 G3 x, N& |9 a2 ~/ f7 T4 b: I+ T
应该是
+ Y. N3 b0 |, yask turtles [
% d' k+ g6 z% f+ e6 W1 jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
8 x% N# J. v- n/ i+ @                          set y  Dep / 2 2 L! E7 v  J1 K% A
           set b  int (who / 5) * 5
6 c# ?% g2 Z. N6 t' d: n    setxy ( xcor-of turtle b + x )* L& E! `' j3 h: L" a
          ( ycor-of turtle b + y )]]$ P) x$ d; [; W" R$ X! W2 q
end% ?- S+ J, J( p, ~4 U% \! ]0 K) j/ H! K( }
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-15 13:18 , Processed in 0.019844 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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