设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8224|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。: X  w& T/ A+ G

  {$ [6 K2 [  y6 E/ o% o8 v但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 Z  F* e) {* K% j! _! [8 k6 Y
9 l* D9 U6 c+ `/ V
turtles-own [a b c d k f g h
0 ]8 T, |' G: v/ J1 g, U  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 j/ _4 c1 B) X$ K
]
& h$ ]& b/ D4 {* Vto new' H% `6 k0 `) B+ s
  ca
* E. R  }1 J1 y6 N0 c  crt 5 * num_of_building
' u, M4 {& W/ u& R. a) ^7 a  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]], d0 U2 I. M, E) G2 f3 F% W* m0 Y
  scatter     ;;keep center-turtle random positions
) K4 w1 S8 D/ }* ]8 ^  n  unit_plan   ;;make up the building plan
# _- k5 m5 H( B" V$ c8 ~+ y2 Lend" n$ X. S$ W- F8 p! v
to scatter
- m% X$ D) c2 q/ k- Dask turtles with [remainder who 5 = 0]
% T! C7 R. i9 i% w[
2 i0 i3 R2 k0 |% u& b4 vset xcor xcor - 6 + random-float 158 L$ s8 Y: |, M
set ycor ycor - 6 + random-float 15
. A1 P% o8 t1 L. U]& D+ V/ R, H, O+ j, |
end* Z+ N2 m0 Y3 S
to unit_plan
# \0 [/ T+ b- |" @8 bask turtles [
" W. {& O2 h  {5 o1 q/ @' D2 V9 E' k5 sif (remainder who 5 = 1) [set a who
8 C! A# e. ?$ K& z( D( v" A3 Z                          set x ( 0 - Wid / 2 )
# a5 W0 m, }$ {, c) Q                          set y  Dep / 2 ]. Y" N8 [' ?: S- i0 Q
           set b  int (a / 5) * 5
: J& f0 J/ C4 b    setxy ( xcor-of turtle b + x )
  a* A( w6 K: p1 F( q% i  b          ( ycor-of turtle b + y )0 ]$ ^: y2 a+ a! v, R
if (remainder who 5 = 2) [set c who+ h3 u$ d# S( A  b+ ^& p" J3 C
                          set x ( 0 - Wid / 2 ) # z" E1 w7 ?5 o9 F4 ~$ w
                          set y (0 - Dep / 2 )  ]0 u( p5 I% _6 Q
                          set d int (c / 5) * 5
% U+ a0 K/ V( r! V: S( a   setxy   ( xcor-of turtle d + x )7 ~  r/ i- s/ B: i! C" G
           (ycor-of turtle d + y )
+ p( Q3 h  x' c9 V          / V1 [8 V5 T/ Z6 `, L! ^+ D9 k4 _" a4 ?
            ; `8 Y$ K6 i& y* I" F. w' h
if (remainder who 5 = 3) [set k who
5 C( k" Z' ^( R                          set x( Wid / 2)  7 ~7 c+ w* o! g: C: D7 C
                          set y (0 - Dep / 2 ) ]
2 `  `; R9 y6 q: B; W6 h" \                          set f int (k / 5) * 5
' v3 I6 D! J, K  setxy   ( xcor-of turtle f + x )
+ J2 l' C. [  R           (ycor-of turtle f + y ) 0 m/ ~% V/ r' f3 `
           
" f3 A% a& {& i           
& M  ]7 J8 M1 t6 }1 l* X( A2 o5 fif (remainder who 5 = 4) [set g who
0 M. O5 T* ~. D2 a. h8 {' y                          set x Wid / 2
& i8 m9 K+ b$ M& W2 u' [- h1 F                          set y  Dep / 2 ]
3 |4 F: m6 o! |' ~6 J: J# s                          set h  int (g / 5) * 5
0 J! ^% \" ]6 r% `; x5 B' s  setxy   ( xcor-of turtle h + x )  i0 i4 {3 D8 }/ |8 }
           (ycor-of turtle h + y ) ! `- W1 r; t' F/ E  q
                          4 y7 D6 z6 P6 F6 r& G
                          + G0 k: F* F0 {4 X; i% N  c
                          ]
  W! S8 `" u7 n, A& fend
% F; r$ N8 U; L+ J9 B" C9 M) A4 @
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
" n" t- C9 ^2 E( |$ D$ H应该是
& B, k  j% t- q' m& O+ o7 X- Bask turtles [2 c6 S: x' K. k- [% s: X/ W; i' ]3 p
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! f! i. V/ j. o' z0 W8 Y: |: I5 C
                          set y  Dep / 2 . m0 c5 s- ^. k' C- t
           set b  int (who / 5) * 5
7 V$ L' `& J6 c2 T, b1 G& [" U5 ~    setxy ( xcor-of turtle b + x )7 }6 }; r, t$ X# M# A7 F3 T
          ( ycor-of turtle b + y )]]+ b7 L. d- H7 z( ^1 \; [
end
/ O2 i5 `* C: {, [% Q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-21 00:21 , Processed in 0.016590 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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