设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7296|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
) Z% ]/ B$ Q/ i  |# r6 L- U! j# Q( ]8 q& l+ b' j
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。7 q4 h! I  ], O- s. ~

5 a0 @3 M' F' \turtles-own [a b c d k f g h
: w) c( T& [( ~$ o* j4 k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 F+ [1 `/ k1 k" {1 ^' F4 y# b
]
3 c- ]8 K$ ?- k# Y- `to new
, _6 s: z+ ~& G; }" S* K+ \" K  ca
% ^) S% _& B3 @$ h  crt 5 * num_of_building5 y, F% }0 X- F: o$ O
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]6 T) o' h2 f4 C7 |
  scatter     ;;keep center-turtle random positions * i" i4 u, `2 ]3 r
  unit_plan   ;;make up the building plan; ~" w- T3 ~2 x# I1 W
end
, B  U5 ^% J2 G& x1 Fto scatter
- W, ^" |$ b5 R: Aask turtles with [remainder who 5 = 0]
2 c: B; q9 ?, c+ l7 _; D" k[+ }. x; q$ h; N' q& F
set xcor xcor - 6 + random-float 15
7 Q, o8 M4 ?5 G3 T. S- P8 C* jset ycor ycor - 6 + random-float 15
8 H( [6 n0 ~) q" P]
5 T, g2 z6 o! Lend. j3 o9 W. w# i! Y4 ]; ^0 q6 |
to unit_plan
. W) f* a" w% w+ Y: f7 G) p, U' Wask turtles [4 S+ J+ s5 G" g$ k8 }2 S) Q
if (remainder who 5 = 1) [set a who 1 S+ `2 L5 j# r' o7 j
                          set x ( 0 - Wid / 2 ) " L% i9 n9 W! W1 v
                          set y  Dep / 2 ]  ^1 f* N$ X4 t! c; P
           set b  int (a / 5) * 5
" p* g7 {8 J# C" z( t3 I8 h/ U* S    setxy ( xcor-of turtle b + x )$ {- g+ D# X+ {6 q* K7 ?  {
          ( ycor-of turtle b + y )7 f0 {0 T+ A9 J2 f
if (remainder who 5 = 2) [set c who# _. Y& X/ m" _0 w
                          set x ( 0 - Wid / 2 ) 0 F, X+ j! a* l# k% S: X+ ?
                          set y (0 - Dep / 2 )  ]) d4 _) z4 M( b1 }, Y( ^0 @1 d
                          set d int (c / 5) * 5
% q: ^9 l% _" z2 J& y: [   setxy   ( xcor-of turtle d + x )
$ x4 q# ^# z5 \           (ycor-of turtle d + y ) & P7 J8 s2 _2 q7 Y' q
          9 F5 s2 W6 S5 ?/ K4 e
            
1 K$ Y! W  i6 ]0 [! jif (remainder who 5 = 3) [set k who9 i2 S9 M9 v) F3 R' `+ Y8 q' }) W9 B
                          set x( Wid / 2)  
* A: u. p5 m% [, X' ~/ ]                          set y (0 - Dep / 2 ) ]5 p+ b5 O; Y' D8 v) ^
                          set f int (k / 5) * 5+ {- e2 F3 P- q' I& I
  setxy   ( xcor-of turtle f + x )% j* b/ Y9 z0 |& m6 v
           (ycor-of turtle f + y ) 3 ]: e  E' l$ K0 e7 N6 u
           
' h4 T  b6 M4 l- j4 ]           
& y7 y5 J/ K. c4 I0 _+ Gif (remainder who 5 = 4) [set g who
4 p. h1 s8 b8 L: \                          set x Wid / 2
6 ?! n. V7 D" c3 F& d" }                          set y  Dep / 2 ]# q5 y" C3 m2 Y
                          set h  int (g / 5) * 5
6 |" F" O( ~9 u% T2 T- y3 g  setxy   ( xcor-of turtle h + x ). C8 ]1 g( ^5 n- |( u
           (ycor-of turtle h + y )
3 H- B' O" A( i; r3 y                          
/ b) t2 t* L: W                          
4 X$ H4 k9 g2 \% z, O                          ]2 C" @: ?3 s7 `
end  O; L( {- S% _. Q$ z% A" E
4 M- {- l. U5 B# V2 w+ `" T" q& E
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,% f7 R) R8 t) b& y1 V& S
应该是
0 u) }1 e- w) \' [1 e) ]3 z7 f5 bask turtles [
/ r2 P  l0 u* ^5 B8 {if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 6 z0 Q& E5 `2 [  ?# U, m
                          set y  Dep / 2 ( W9 Y* M, D  e( |2 L4 [% X
           set b  int (who / 5) * 5
$ }. E, k1 F3 @5 }4 ?) g7 A    setxy ( xcor-of turtle b + x )( c& X+ ~0 z6 ^" y
          ( ycor-of turtle b + y )]]
9 K, H& K2 f7 s# H/ {; [end: |+ q  Y8 r$ g
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-27 04:22 , Processed in 0.019061 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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