设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7987|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' a$ |; S& l: x! n: I+ l
, p& a* C' z/ u2 L9 m( b但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
3 ]- e7 M) L, l* c) V$ a" ~/ q; {6 Z  W& N
turtles-own [a b c d k f g h
" p" Z, d# W! {  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: I! V$ ~" A$ K2 `]
3 g+ s: P+ Q# U7 kto new
# f) n8 \6 k; A; Y* U  ca; W, ]' Y/ p! I  U1 C( m7 _% a
  crt 5 * num_of_building. a% u: J! F# _) T) X/ _
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
: V* s; V7 U  W# t  x1 o: `# d8 P  scatter     ;;keep center-turtle random positions * l" M' L4 w, i. U, w# m
  unit_plan   ;;make up the building plan
+ o/ A/ c% a3 S/ L$ U9 ^+ T3 Mend
* ^; h6 T; q& U5 c. Q0 g1 u0 Mto scatter
! v9 N  Q) X% |5 X+ z. N; `1 Eask turtles with [remainder who 5 = 0]
5 P; i* w6 X3 v5 t[: l! b  j% D$ F' O3 t
set xcor xcor - 6 + random-float 15& D3 [  b1 p  [6 E9 D
set ycor ycor - 6 + random-float 150 ?) B$ V& V" h8 h' V
]' B$ i2 K" D- C
end
0 f' c- G0 y' n  L/ P7 Lto unit_plan
4 O- S% S7 d" g+ F+ b- w' ~ask turtles [
7 k2 O7 v/ v: T  H2 \5 i; M% Vif (remainder who 5 = 1) [set a who
  u# k+ i' s5 a" {) S# E                          set x ( 0 - Wid / 2 ) ; f6 b$ G9 \; `& S9 @0 g
                          set y  Dep / 2 ]9 x1 r  ]8 R) b) U9 i. _9 s- l
           set b  int (a / 5) * 51 s8 S* }/ g+ n0 V+ }- r7 v' A
    setxy ( xcor-of turtle b + x )
" b# i% C+ {' v2 d          ( ycor-of turtle b + y )
* \) V1 K* W) @) C8 e9 l% v! i4 u8 aif (remainder who 5 = 2) [set c who
" q. U5 I% D4 S5 Y& u4 q, w                          set x ( 0 - Wid / 2 ) 6 y. R, N' W( A5 t/ \
                          set y (0 - Dep / 2 )  ]: y* \/ m; W: @' H" L- r* |( F
                          set d int (c / 5) * 5
+ M( U  h0 ]5 a; ~; E2 A0 D  ]0 `& \   setxy   ( xcor-of turtle d + x )9 W& q! k: y; |; B
           (ycor-of turtle d + y )
& S" g: g$ I% M9 W& C0 _          4 V) l1 E4 t4 L0 Y
            
6 L# m% S" J/ J& H4 @; s2 hif (remainder who 5 = 3) [set k who
( H! X/ Y, k* Y3 @                          set x( Wid / 2)  6 B5 a2 ]. ?: @3 D1 b
                          set y (0 - Dep / 2 ) ]
- A5 |, F2 r' z5 D9 w2 `, _: n                          set f int (k / 5) * 5
0 D) |3 W: s" o: J" N  setxy   ( xcor-of turtle f + x )! R7 e/ y8 x" h( Y% s2 f
           (ycor-of turtle f + y ) & A- ^8 ~4 _; C+ R+ @. s
           . P/ r; _  ]+ E; _
           0 V/ j. m3 u6 C3 q1 C
if (remainder who 5 = 4) [set g who
) N+ d3 u( w8 K$ S                          set x Wid / 2 4 X! {5 _6 E7 B8 a; R
                          set y  Dep / 2 ]9 ^' V0 ?% r2 X- U$ P: |$ A" g, H
                          set h  int (g / 5) * 5
. Z) G7 o3 D5 x; ^+ [  setxy   ( xcor-of turtle h + x )/ Y8 j8 q0 R& z1 L- r
           (ycor-of turtle h + y )
+ X5 w/ n- j3 m4 [' _. S- Z                          " z" f% x3 A* s+ H
                          
# m0 y' H2 K( N3 }+ w                          ]
' |$ `; E2 l+ Z; |7 rend$ |" T/ b6 J" l, E. X5 d' q1 M) Q

* V4 U9 e2 |; f; H  P3 _% i$ e[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,: O( a  @9 }8 ?6 s! Y. G
应该是  m  U% ]4 `2 C- i
ask turtles [! c. v) {# \# d* _
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) + d8 P* U: b  R( i8 X3 ^# F/ ]
                          set y  Dep / 2
8 u: n8 m) D1 C+ w3 e           set b  int (who / 5) * 5- F5 s& [$ \; P9 ?0 ^& v
    setxy ( xcor-of turtle b + x )
) M" M- q/ C6 R          ( ycor-of turtle b + y )]]
- d* W5 i/ q8 S1 yend
9 o0 X) n  i8 Q) b9 `* Z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-25 05:16 , Processed in 0.017242 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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