设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8919|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
: I8 v" D7 P, u4 c8 x* P1 w, s; U( e+ ?
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
  q; p1 W" ?$ H' O3 ]2 D0 I  _. @, y$ F* l- {7 U
turtles-own [a b c d k f g h4 P8 l) p0 K4 u$ N3 [& {5 y. g
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle / J6 {, `/ P7 I) }' [9 t% G+ z
]
- h* p' \+ b+ P& Bto new7 _, P/ ^* b$ y# L  C
  ca
, q2 {5 Q. y# c  crt 5 * num_of_building6 O1 m" j: d/ V. s
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
+ q2 e3 _8 _0 C) S  scatter     ;;keep center-turtle random positions + G' j+ N3 h) G  |
  unit_plan   ;;make up the building plan' |; L# }# p2 {/ ]; o4 U0 W
end0 ^" I1 {) f7 `1 v, ^, p
to scatter. c& s9 X$ u1 Z/ l# b/ p4 L1 f
ask turtles with [remainder who 5 = 0]! h, T6 R* j9 f2 ~( G3 z
[! k/ \9 T- A( c" k
set xcor xcor - 6 + random-float 15% w0 J" ^9 ^# a+ R
set ycor ycor - 6 + random-float 15) k" h& E2 ?2 M
]
- o2 M( O" h  N. y+ @' E- s3 D' Wend
" f$ v4 J# x' H/ |to unit_plan # K- o1 m# W+ e0 }$ K8 V
ask turtles [  c2 u) _8 [( X
if (remainder who 5 = 1) [set a who
, L6 Q% q" |. F2 ^4 X) o                          set x ( 0 - Wid / 2 ) 0 A3 P' G! P# ~- i7 y# N3 {
                          set y  Dep / 2 ]
) ~2 N  O$ f( F- Q, A) S5 J           set b  int (a / 5) * 50 |0 |  ~! }2 V. i9 y
    setxy ( xcor-of turtle b + x )% l# M7 O6 j: C8 R+ [. p
          ( ycor-of turtle b + y )0 ]+ c# C6 I) I, J: b8 o  c- u, j
if (remainder who 5 = 2) [set c who
& y8 V/ w1 U9 I2 `+ p8 f- J                          set x ( 0 - Wid / 2 ) 2 P3 _( G& G: c7 k% m/ C' W- S
                          set y (0 - Dep / 2 )  ]1 y: f( A# B* |+ H2 t
                          set d int (c / 5) * 5. y! M% p& s2 f: [$ A7 j$ m
   setxy   ( xcor-of turtle d + x )' n4 L5 u6 y$ @& @. b. _2 D9 W
           (ycor-of turtle d + y ) 3 h# b0 C- f+ B: l5 B; K6 ]! g
          9 F* c7 m! s& k. B
            / l% b% x2 R! }3 n4 P$ `$ ?
if (remainder who 5 = 3) [set k who7 i/ ]* y, s: g4 H# E( p
                          set x( Wid / 2)  " m& R9 p3 h3 r. j4 r6 F
                          set y (0 - Dep / 2 ) ]! @( }0 O; a0 e& a6 M$ d
                          set f int (k / 5) * 5- `7 v' [: Y3 a1 m- B$ I  `1 ~
  setxy   ( xcor-of turtle f + x )% k& D. o6 |9 q6 y
           (ycor-of turtle f + y ) % C1 f3 A9 |6 b: W- k3 N* B& H
           
4 T6 h: z" w0 q+ V7 z           4 \+ u" j* U7 D) W- U) j% R
if (remainder who 5 = 4) [set g who
, L) t. i3 r" p0 U                          set x Wid / 2 , U- k- G, Q) m' E- r
                          set y  Dep / 2 ]8 ~( z# j- |- Q
                          set h  int (g / 5) * 55 t- O8 t- p% g0 T0 K# i
  setxy   ( xcor-of turtle h + x )6 f) H; n' O5 G) g# @
           (ycor-of turtle h + y ) 5 H, X- Q- f. g
                          
/ Y' T& {- g9 e. G1 N2 ^% {                          ( J, r7 ^5 e8 h, A
                          ]  l) d7 |! u" F$ a% G
end
" N2 U0 N' r; F7 y' E* L$ S
4 h" `; j3 i! _[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,. h, m4 W0 f) \* I1 K- Z; F4 y
应该是
) o' O  M  w' S9 B; Hask turtles [
" C' p5 l  c" F1 ~if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ) Q+ p/ k6 g" M9 e5 s
                          set y  Dep / 2
$ x' T* ]- q- n           set b  int (who / 5) * 53 z2 V0 K, e* |0 p# I
    setxy ( xcor-of turtle b + x )
8 n9 u6 i( O0 c% m6 ~          ( ycor-of turtle b + y )]]
& P* t+ v# y' d5 `end
7 B5 ?- \& ]2 F) ~之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-24 05:21 , Processed in 0.019929 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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