设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7096|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& v' s/ h- h- |* V- L3 M
- a3 }, n8 I& _1 D/ F+ L
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
# n8 A* W6 f3 V- o1 \8 [
' t: G3 f2 ^4 \4 Q+ u9 M' t6 }turtles-own [a b c d k f g h; v; Q* _! i* q; ?
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) U0 {8 u) l( E  n( I]0 ?% {  |1 j8 c, g
to new
* U* J+ t1 D$ P5 s$ E" u  ca
$ R3 y6 @( f: n9 v  crt 5 * num_of_building/ Y3 D9 k+ y) O0 Q9 w" N) h
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]$ n- A2 d* ]9 Q; u2 m# ~
  scatter     ;;keep center-turtle random positions
( Y4 q3 z. n7 ]# P4 A! d  unit_plan   ;;make up the building plan: [; Q" t% y$ Q4 Q- }
end2 }9 y, c$ l+ Y) Y; h- ~
to scatter6 U/ x' V/ W5 _6 A- }8 N: K; t$ {
ask turtles with [remainder who 5 = 0]
) a0 Y0 J0 A9 `6 d/ ~  B[" p6 U/ Q' s+ b3 J) n1 q4 F
set xcor xcor - 6 + random-float 15
& n7 a7 o- `4 ]+ w" Q0 c% kset ycor ycor - 6 + random-float 15
0 U' N2 O) `7 u" _. y0 H]
; K8 ~. H& p7 ]2 d: x7 [+ kend
/ g/ v9 e4 z) lto unit_plan ; [6 Z" p5 N/ ~6 H
ask turtles [! P8 g; n* Q) T1 D* ~
if (remainder who 5 = 1) [set a who
& j1 J4 t6 B) T' u; J2 h                          set x ( 0 - Wid / 2 ) 3 U/ }. z2 `. ]8 r8 N2 }
                          set y  Dep / 2 ]5 @  ~& B2 X( y/ u9 N
           set b  int (a / 5) * 5  y3 n2 S# x: U1 t
    setxy ( xcor-of turtle b + x )2 t" m$ l) G% \9 p1 p. c: v+ P9 G
          ( ycor-of turtle b + y )+ ]+ N/ s, Y3 _5 Y7 g& }( E
if (remainder who 5 = 2) [set c who  h' ?% J5 ?3 S# V6 b1 R
                          set x ( 0 - Wid / 2 )
4 U4 W) T" i+ l0 I( L9 b! b# j; r                          set y (0 - Dep / 2 )  ]2 u2 o3 `' J: _' ^# e( V; n1 \( k" d
                          set d int (c / 5) * 5
) w. c& a: z7 B1 R   setxy   ( xcor-of turtle d + x )
/ ?% `+ z3 |7 C5 H; o           (ycor-of turtle d + y )
5 H) Y. H# Z) T3 i          # O3 N) p( X2 z  {, F7 p  `6 \2 f" ?- K
            
3 f! V3 n1 L2 u, M3 bif (remainder who 5 = 3) [set k who
5 [5 k0 L! R% Q7 A                          set x( Wid / 2)  8 F7 \' w- V* J& Z8 ~
                          set y (0 - Dep / 2 ) ]/ \% S, l- d. ]
                          set f int (k / 5) * 5( H7 U! T  f% W2 B- F, q: M6 I5 M
  setxy   ( xcor-of turtle f + x )
$ |7 e4 T# t" @/ |% j           (ycor-of turtle f + y ) # a) K, F; s( h
           6 N  v, _# e" k# \: w
           
0 T/ k+ A% w( ^$ v$ n- j: ~if (remainder who 5 = 4) [set g who
0 [& [6 u) V, X& Q                          set x Wid / 2
7 D: {+ j9 `6 d0 P5 L; t                          set y  Dep / 2 ]
! Y( P+ _* j) w                          set h  int (g / 5) * 54 i9 B3 H/ K4 Q8 Y
  setxy   ( xcor-of turtle h + x )
  ]0 l( H* O: @- C3 c, C+ ]           (ycor-of turtle h + y )
) }3 M/ x1 \) k5 `5 f0 @                          5 {1 Q' o' |# y6 K* w" @% Z1 }9 z
                          
- z3 s7 V9 s, {  y: P; O                          ]
8 t6 V; }- H( E; ~, H( [+ f, aend
% K; x/ l  D9 Q4 V) P9 u: Z& d# A" Y( ^! b, h2 x. G/ H
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,! ?6 y+ w5 A& B: |
应该是  v, q' o8 w) N3 z) {5 t& j& {6 Z/ z
ask turtles [
: B" g& \; T. q( D& F. gif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 2 m# @3 v9 Q, T
                          set y  Dep / 2   B* U, G8 s+ M, T, {6 a
           set b  int (who / 5) * 5
( e" L) q" u- K$ m    setxy ( xcor-of turtle b + x )$ ^# W* _6 G6 T; v5 M
          ( ycor-of turtle b + y )]]) L9 E% q' L( s7 {# S/ m& z
end
/ S0 }& ^4 [, G, M之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-29 20:13 , Processed in 0.016694 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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