设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7477|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
+ k! E9 N4 u& ~8 c* Y* V, n* A: @
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。4 Y* `2 ]( ^# I' I0 T* ?2 m
. X. ^, \$ R. K/ w2 p& Y, c
turtles-own [a b c d k f g h
9 U5 Y; X4 T: ?) N9 B3 \- E  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 4 S: H7 G3 s* s: `, J. F
]2 `2 A2 w. q' b  W- m$ M' U- c
to new
- J4 f9 r. l3 H  ca
8 {. K& V# \/ ^/ ?' q  crt 5 * num_of_building
0 ?. S* y- V8 l# v/ \4 R# c  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ G" R  s; s/ n9 X: [, n' T
  scatter     ;;keep center-turtle random positions * ~; C; `2 Y) i# x+ L- k
  unit_plan   ;;make up the building plan# c" P9 c$ I& l. s  t  P
end+ B# G2 O( H( ^
to scatter: I+ J7 B3 H6 {! X3 J9 X
ask turtles with [remainder who 5 = 0]# T" a6 k; `+ r8 ~
[, K$ r% [; C$ C. ^3 i* `; M1 _( s
set xcor xcor - 6 + random-float 15
9 S! x  C( `8 O; lset ycor ycor - 6 + random-float 158 q0 `# N( |! }3 F  g6 r
]- F2 F0 X; q% N1 D: O( Y
end
  n- Q  v  |/ S* U  i* Y# Q$ hto unit_plan
" X- m! u0 n8 V1 Y0 ~& P' q! u4 Bask turtles [
8 r, I" m. H; n, F: H% \if (remainder who 5 = 1) [set a who # u: Z* Q9 C$ b. h" }" _3 a7 S
                          set x ( 0 - Wid / 2 )
# X& K& W, n# K5 v                          set y  Dep / 2 ]
# S& l, ~! m3 a7 W- V# A           set b  int (a / 5) * 5
" F# o3 Q6 P2 y! i    setxy ( xcor-of turtle b + x )
) _1 O5 u; f. D! E          ( ycor-of turtle b + y )
+ y8 }  Z4 @" }" e' Wif (remainder who 5 = 2) [set c who) O: }9 n2 b: K2 Z! Z/ k& }  G( J
                          set x ( 0 - Wid / 2 ) . z7 y' l% ~/ E. X
                          set y (0 - Dep / 2 )  ]' g( B  w; ]4 K2 f' F
                          set d int (c / 5) * 5
- ^" b3 w7 p3 Z! j6 i3 C! I4 C   setxy   ( xcor-of turtle d + x )
) n8 B- z1 b; T           (ycor-of turtle d + y )
9 r. ^- ~) Z: ?! G( Y         
9 r( s5 }' F! ?4 [; u, ^, _            # @0 ^1 \: D0 Q2 c& h* `
if (remainder who 5 = 3) [set k who
- J; M2 M) Q% ]7 V% l                          set x( Wid / 2)  
2 a$ ^5 s3 F( i- P- H                          set y (0 - Dep / 2 ) ]
* q4 W6 ~- N0 r/ _5 c/ [. y                          set f int (k / 5) * 5
/ s+ a; _# R; R: ?$ W4 Z  setxy   ( xcor-of turtle f + x ): E, }# y2 h/ N. V! b! |
           (ycor-of turtle f + y )   @3 t/ D6 h0 ?' X; B" T
           / _$ `) j& o) s% K
           
% R8 L; q2 m8 ?if (remainder who 5 = 4) [set g who0 a8 q8 n" v4 J* j8 W- ^# v5 }
                          set x Wid / 2
9 s3 t- _0 n7 f- N5 A6 [% D; t                          set y  Dep / 2 ]
1 c1 V) {7 x) \4 T                          set h  int (g / 5) * 5' x7 t& x/ ?' L* y; g( L7 z
  setxy   ( xcor-of turtle h + x )
, [% R( y2 X7 U0 L( e           (ycor-of turtle h + y ) / T# Q" v+ B- v
                          ) m- @2 i- }; j4 A. z- |
                          / b/ H9 @/ l6 n: H/ b9 f2 \5 I3 A
                          ]
. Y' s% g1 D- d4 `end- u- b1 z2 c( U. P0 w; J2 x! U; \0 G

6 z2 i; R% H/ ^! @* y! n[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,- R. c6 b$ L1 b0 w
应该是& A( l. v/ S, l$ T9 l. Z, l3 R
ask turtles [
  n9 a8 l6 w, x! q* ]if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) . C0 u9 ~+ y! @/ s) b! l1 _& j# x
                          set y  Dep / 2
6 \# K3 j7 {  S- A; T           set b  int (who / 5) * 51 Y3 w2 N% R6 u; `/ \+ O
    setxy ( xcor-of turtle b + x )6 E6 I6 @# Y# f% ?3 P# G! k! U
          ( ycor-of turtle b + y )]]
- _! g( v# N0 q) mend; W, l2 `+ q: X7 u% H6 v, T
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-15 16:35 , Processed in 0.028393 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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