设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9169|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
: ~' J: f0 f1 w, s
' D, b2 \6 }6 |1 M% f: m3 @但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。. j& G9 L- d# D( {3 f# l

% @. {* s9 a! |* Y! k% ]% f1 u3 ?turtles-own [a b c d k f g h
% J% Z, \6 U0 v5 N& l  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ; m* w6 z2 ]/ c6 x6 a2 n0 ]7 T$ [6 j
]8 S" T& u5 y7 b8 u+ G
to new5 b, {/ J+ B! C7 @9 s
  ca
9 ?" @0 M6 E+ `6 R  crt 5 * num_of_building
4 b. q- F/ R! f; u  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
. a9 j% s* B, o" A5 @  scatter     ;;keep center-turtle random positions ' w5 m" D8 j7 ]" X0 m- m# _% ?
  unit_plan   ;;make up the building plan
! |( ~# j: K% Rend
, I3 P$ G# ~! c8 cto scatter/ ]4 C" E0 A$ @5 e9 e5 N
ask turtles with [remainder who 5 = 0]
; r. Z) w4 ]$ O+ Z$ X[
" d6 O$ C+ t# ?% {% q6 Tset xcor xcor - 6 + random-float 15
  t+ Q- I6 p" `1 w# }4 jset ycor ycor - 6 + random-float 15* O, P+ l0 s7 s7 c6 v% W2 P2 ]
]
! e  \$ z" O. G1 Hend5 K9 d# u  @" R' H: L3 T" b+ w
to unit_plan ! }  H3 R9 z! Y3 a" T. ]
ask turtles [& h$ |$ `, x5 f& Q
if (remainder who 5 = 1) [set a who
* m- r) k8 ~, B8 Y5 e                          set x ( 0 - Wid / 2 ) 6 A7 [. ^( B6 q; x3 c. m, U
                          set y  Dep / 2 ]. E( }& H% [# p
           set b  int (a / 5) * 5
' c. R; T2 Y! j' ~    setxy ( xcor-of turtle b + x )) r6 l7 Y4 [3 Z
          ( ycor-of turtle b + y )
* p8 z" N4 d8 ?5 i& p, Dif (remainder who 5 = 2) [set c who
5 p/ o% `( T4 \; L0 ^6 C                          set x ( 0 - Wid / 2 )
) w+ T# l$ G3 K# s' B+ X3 n% b                          set y (0 - Dep / 2 )  ]
2 k/ o: t4 _. ?. u9 ^$ ]                          set d int (c / 5) * 5
8 K3 D2 x0 |/ B; @3 w0 {   setxy   ( xcor-of turtle d + x )0 s- A5 O% B  f. ^. r& O+ M  z
           (ycor-of turtle d + y )
3 A/ q' [, J; x  _( n/ @. Y          & o! \6 y+ S% _
            
& X7 Q5 C/ f( ~% [if (remainder who 5 = 3) [set k who
9 q3 f) G+ V% B- i+ O; a. u+ q                          set x( Wid / 2)  ( V1 ^2 w% F0 ~
                          set y (0 - Dep / 2 ) ]; u  Q' I/ i( ~! j6 ?* v! Z
                          set f int (k / 5) * 54 y0 {7 d8 M' |% X3 N
  setxy   ( xcor-of turtle f + x )" Z- e) I" Z. V
           (ycor-of turtle f + y )
+ w5 R" Q6 L$ y. m4 l/ v           , s. @' v+ g: G# \8 q' Z& p
           
. |: a# S# g8 ?/ R( aif (remainder who 5 = 4) [set g who
; R+ M% O; G4 I7 L5 h6 \: Q                          set x Wid / 2
' X  U, r; K9 }1 X                          set y  Dep / 2 ]
0 H8 ~4 y" N3 N+ G" ]                          set h  int (g / 5) * 5- b' Y( I! C' g/ |9 T) K$ s
  setxy   ( xcor-of turtle h + x )) @- k9 o: H$ f9 `7 ]% j
           (ycor-of turtle h + y ) / J/ y( K: f& b& N' M. q) R
                            _1 m% O1 k* ~4 o
                          
5 f1 l2 n3 ^4 W) G) y0 C                          ]
+ r* v& R5 k8 n; S, ?end
- Y4 m4 ^8 P+ `# A  H, I0 ?( f6 F+ d0 }+ X' j
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
2 u* w- ^3 @  Q' u+ w% {; o7 q0 c应该是& ]! t" _7 q7 f, u8 y2 \1 P
ask turtles [' m7 H: R! d9 L4 p4 a1 ?' n
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
0 h& |, e2 Q- q0 ^0 X4 [$ @                          set y  Dep / 2 - f8 j6 a% v8 Z/ ~! `4 Z
           set b  int (who / 5) * 57 h  Y; M% q: a+ d8 s
    setxy ( xcor-of turtle b + x )
& P; A; U6 A0 f7 ^, A  T8 _          ( ycor-of turtle b + y )]]
0 \+ H" d1 c# A; x% mend
+ n4 ^( k, Z/ p4 o' s! \3 o之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-25 03:59 , Processed in 0.016042 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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