设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8410|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。: m/ Z4 Y/ Z6 J/ M/ Q1 q4 ?
) H. C+ W0 [% F" O
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。3 }- M0 x. i( c9 m) i7 A
% F- F& V5 P8 }, ^
turtles-own [a b c d k f g h
7 I" I  l4 a, O: M9 i  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
8 y) r7 @* z6 _. M+ _! i]
& x' O2 [1 c% G1 J7 Kto new3 o! J4 H% C. y1 n+ ]; `! ~
  ca
" u3 }8 a+ T  j' u. O) W  crt 5 * num_of_building
4 N) {  N! R5 G6 x) E0 Y3 q  F  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]  A  R3 n$ f% Z) j
  scatter     ;;keep center-turtle random positions 0 y( j- U6 X' f- N7 [6 v( u
  unit_plan   ;;make up the building plan
0 b0 g3 p/ e: e3 Eend+ }' F) q! z4 b
to scatter0 V1 g0 ^; M0 e+ U! |
ask turtles with [remainder who 5 = 0]3 z$ I4 d3 R6 c% |3 S
[2 O% `  b) C- C9 j- s4 i; e7 U
set xcor xcor - 6 + random-float 15) D7 o4 k8 b7 K' U  y, ~/ H' L
set ycor ycor - 6 + random-float 15
* D1 F( b6 k+ ^* u% m- f' K]; w8 S7 ~* v! Y& J
end& P0 P) @7 }8 K+ Q. d8 C
to unit_plan
  I: s5 a2 l+ {1 m6 I4 Aask turtles [8 n% ?% W3 o) [/ H; W* g
if (remainder who 5 = 1) [set a who
" E! e! m7 N2 k9 @                          set x ( 0 - Wid / 2 ) : M. `6 j- h# r
                          set y  Dep / 2 ]: k; T/ X8 S1 N# ^
           set b  int (a / 5) * 5
" {- I( w. ~& c+ p+ P- s; q7 r    setxy ( xcor-of turtle b + x )$ e) p( Y1 [7 Q& d
          ( ycor-of turtle b + y )0 ]1 @  ]" m9 A$ ~  t
if (remainder who 5 = 2) [set c who' q9 D. Z; j! l
                          set x ( 0 - Wid / 2 ) . m" j  I0 c; A: W$ M) K2 h
                          set y (0 - Dep / 2 )  ]1 l# ?/ T' l6 d
                          set d int (c / 5) * 5
% J7 M6 X# r, X! H, @+ s   setxy   ( xcor-of turtle d + x )
  ?2 \3 m# g9 _' k3 \" J# t9 A& E           (ycor-of turtle d + y )
2 V. j3 g/ g5 t, t' }8 H          9 T; Q" V) D' Z# G; b
            
! K( _( c: M# j  T0 Pif (remainder who 5 = 3) [set k who
4 c1 s3 Z8 @+ n7 ^2 c                          set x( Wid / 2)  
, |0 b% H9 m+ o0 |# s1 ~: q                          set y (0 - Dep / 2 ) ]
8 O! S) P, _9 W" _& U7 A                          set f int (k / 5) * 5+ ]- N5 C5 s: {/ j' p
  setxy   ( xcor-of turtle f + x )& a3 Y  n# ?  a
           (ycor-of turtle f + y ) * f8 D- f, k$ ]6 I* P. |- x
           
2 i* J. A, ]- u9 K           ! p6 X. R! p' U4 V& H9 T
if (remainder who 5 = 4) [set g who: U0 x0 Y6 u& n
                          set x Wid / 2 5 x' Q4 h) |' |6 v8 G9 ^! u0 m
                          set y  Dep / 2 ]
' |+ r9 N* r4 l) f# R                          set h  int (g / 5) * 59 m  `& [1 ~3 e- v+ J
  setxy   ( xcor-of turtle h + x ). r: T4 \9 q& ^$ Z- T8 Q: Z
           (ycor-of turtle h + y ) 0 M1 n- u7 |1 \4 m8 e
                          $ u+ C5 j; Y0 Z5 h" K9 ~% k" W
                          5 ~: }6 x& n# ?4 x( x
                          ]
3 K6 j$ p+ c; Y4 y, eend
! X- w) u+ W& \- w, g& O; N5 ^9 r9 `7 M$ c/ x. I
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
$ R2 b7 P9 @* C* m2 W- I应该是
" W$ v$ ~7 G6 x# e7 g7 v2 y3 Gask turtles [
" {) @) {; y$ nif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) * [) |5 I$ f& q4 t& l) ]- v
                          set y  Dep / 2
4 v; J& @) n! Z- V- Q, j           set b  int (who / 5) * 58 `$ A4 ]' i& ]2 ^
    setxy ( xcor-of turtle b + x )
% m; X. E1 d6 {$ _( Q          ( ycor-of turtle b + y )]]
7 F6 R7 o* v" Send
8 l& b; G. D+ f- S8 \& p之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-21 17:57 , Processed in 0.012715 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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