设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8438|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
1 q: X! V2 d& g6 S0 ]$ g  O- j! t6 A$ v8 L
7 h0 N  }% ?  D5 h) \1 u3 X0 i+ {9 v6 |但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。/ I( t! R6 Q, v+ N: [: y
: R" M6 }# h$ I
turtles-own [a b c d k f g h
* N5 n; d, F- h  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
* \6 }' U  _7 g% [, J1 L# g' n! {]8 C  U8 q2 |$ W( n* \  C$ V8 `; f
to new& k( e% F, q8 |3 N: h
  ca; B9 K0 e5 Q4 q. d
  crt 5 * num_of_building- v+ k7 x7 V4 N* E1 S
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
4 |) Z, j  v; E) J  scatter     ;;keep center-turtle random positions
) z) f" H2 U% W3 m. N! t6 L: b# l  unit_plan   ;;make up the building plan6 p4 K  k) I( S) D+ X8 l* F: V
end
2 _: N( m0 k9 R1 _3 F! P6 bto scatter
# d3 G3 b3 b3 S0 _8 d7 j' bask turtles with [remainder who 5 = 0]# i' A: W# O1 M% ~/ D
[2 i$ a# r( p( v& l% \  ~
set xcor xcor - 6 + random-float 15
2 V$ Z/ d; z7 `6 N0 zset ycor ycor - 6 + random-float 15
% n* s, C! _4 D]* z3 A. R4 c  O2 M
end: {9 H) k: @0 g7 ^6 i% W
to unit_plan
3 G8 Z0 ?; V9 C# w/ {. ]ask turtles [
7 g2 q& d2 y7 F; wif (remainder who 5 = 1) [set a who , f& l- o/ }* N4 h0 @
                          set x ( 0 - Wid / 2 )
1 A- G' t6 \' Y3 r                          set y  Dep / 2 ]
% Q, Y$ H9 l* [* N           set b  int (a / 5) * 5; `7 {1 @& ~+ Y$ y, f1 S9 {5 ?
    setxy ( xcor-of turtle b + x )
" E+ X' R) ~4 l% @          ( ycor-of turtle b + y )
7 o( p! u  }8 L6 w3 rif (remainder who 5 = 2) [set c who$ B, z5 x: [6 f0 E
                          set x ( 0 - Wid / 2 ) ! t; _2 i) H( o+ ~
                          set y (0 - Dep / 2 )  ]
, t$ s5 a2 Q2 T" n' J  k                          set d int (c / 5) * 5
& k6 c/ u) G" Y. j2 E' W/ u   setxy   ( xcor-of turtle d + x )) l! t4 X: q% [+ n; \0 i
           (ycor-of turtle d + y )
" S  Q' h" P: O          & U$ p8 l+ T9 u  C! k
            
; b' i, y* H' \/ S! n# bif (remainder who 5 = 3) [set k who$ `6 u, D( N* u6 e7 i8 H' b' v
                          set x( Wid / 2)  
4 ]. b" p, \1 c- d! |* ]                          set y (0 - Dep / 2 ) ]( }9 t. D& p+ k$ \
                          set f int (k / 5) * 55 b7 n0 V- T! W: s: @7 V1 C; {: l
  setxy   ( xcor-of turtle f + x )
1 Y0 S/ G# Z% u6 q! e           (ycor-of turtle f + y )
: d% Q3 _. f$ \           
4 m3 [+ N# l  J           & H0 b' J, O" f5 [- _) l5 L3 S8 s. K
if (remainder who 5 = 4) [set g who1 S4 j$ _% m  k# G( t  ~
                          set x Wid / 2
" U8 l/ Q! h2 I8 V                          set y  Dep / 2 ]
9 p. j: {  d% C; J+ d1 r- }+ [                          set h  int (g / 5) * 5/ g. }" V. l$ l" I
  setxy   ( xcor-of turtle h + x ); x9 b! X9 I9 T+ r. g" A; h" |
           (ycor-of turtle h + y ) 8 L, B' F$ O8 ?" m: J
                          
7 z( \4 E' W' X3 p8 M                          ) ~) x5 d2 j4 L1 B+ M# D2 w
                          ]
0 [; {. w8 Q, u* Iend
8 s; Z' E+ F( o) M" Q
8 p! S& U' ?: ]  y[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
+ w6 V) s) @" ?  k! T应该是
7 J( f$ N: q; D0 Fask turtles [
! _; _- E* E5 O7 Vif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
9 h. C  S) m1 C4 ^) b7 @                          set y  Dep / 2 % d' |( t3 @" [3 l' d
           set b  int (who / 5) * 5
- o& o9 S+ o  Q$ I( T    setxy ( xcor-of turtle b + x )
$ \6 e5 P' v  @: P          ( ycor-of turtle b + y )]]
: n+ {# Z" M& o+ Tend
9 n: v2 L# a. I% b1 z+ d之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-26 00:11 , Processed in 0.014286 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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