设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8138|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 w; y1 U; t) A6 \

5 P0 y. }' g* t  L但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。! m2 P% M% f: O2 C
! K$ T( B2 _3 w  z3 V
turtles-own [a b c d k f g h1 a2 W, |* R' g$ E7 k
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 P, c+ n$ B9 b) _4 f1 G# g( f9 X
]/ x7 H7 b* C! K- o! v( |( A
to new
" f: M2 [; d" {# R4 z  ca
  P  [5 m, F' K$ k; ]! N  crt 5 * num_of_building
* o& w9 k2 F1 i- W6 r5 W  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]; F8 r% D/ S, @: r) N5 M
  scatter     ;;keep center-turtle random positions   g- |0 B: q# g0 Q) h$ x
  unit_plan   ;;make up the building plan1 A! }8 X. t2 W2 G0 P# x1 M8 _
end. e/ ~8 i7 d7 n8 |8 L
to scatter' a# q# o8 G" r! j, F. M
ask turtles with [remainder who 5 = 0]/ j, T; d( t( m5 K$ h  v3 D1 S4 R
[" b7 p) f0 o/ Q8 X; c7 D6 A( C+ `
set xcor xcor - 6 + random-float 15% h5 s" H/ f6 e4 n+ n
set ycor ycor - 6 + random-float 15: ]* x* O& f; T3 m" w  n: G
]
9 e( Q2 y/ ^* Uend
, S3 t  }4 p8 g4 |$ rto unit_plan 1 Q7 {. m& J6 |. ?. ~
ask turtles [
& G% y" D; u& I& c- I& Iif (remainder who 5 = 1) [set a who : J/ }: t9 c9 ?$ r8 W$ }/ C- l; ~
                          set x ( 0 - Wid / 2 ) % B9 v9 _+ ~, j4 |; |
                          set y  Dep / 2 ]
7 G& ?0 z( c# M- F) U           set b  int (a / 5) * 50 V+ p8 Z  s) S) k# b' `
    setxy ( xcor-of turtle b + x )) j7 C" ]$ F0 u5 N% ^
          ( ycor-of turtle b + y )
- [( l+ i6 f; ]1 Z- Dif (remainder who 5 = 2) [set c who. Q7 h, E* j7 l1 A3 B
                          set x ( 0 - Wid / 2 ) " v" l( ^) P4 Y9 r, W8 Y/ I
                          set y (0 - Dep / 2 )  ]
: Z9 [3 }% g4 W! m3 W( H% o                          set d int (c / 5) * 5
4 ~2 W' n9 [+ G- J* J" u& N   setxy   ( xcor-of turtle d + x )& U: c8 x( w( ~8 ~. Y) G
           (ycor-of turtle d + y ) 5 M0 x3 _1 r$ V0 I/ V" X+ I/ s
         
, v; C% [, o6 I6 O+ o$ X            
/ ^. a5 {  M4 U0 Vif (remainder who 5 = 3) [set k who
7 J) E1 I, z( G6 L6 l- t2 Q                          set x( Wid / 2)  
: n" W5 g( h0 v- [. Z/ y/ J: b                          set y (0 - Dep / 2 ) ]
5 R1 s' T. J, E5 V1 ]- T# a                          set f int (k / 5) * 5  d) m+ \. R' g8 A
  setxy   ( xcor-of turtle f + x )1 i9 B, D; l. r, G7 E8 q
           (ycor-of turtle f + y )   i8 B. V+ ?: v' ]7 ?% F
           
7 d' b7 m. D, t  O           : N7 y0 X$ a, U. W" r0 I1 [$ F
if (remainder who 5 = 4) [set g who+ O5 c& \, ^( ?* W  [; u: d# ?4 ?$ s
                          set x Wid / 2 : c* f) Y) _* \' T# f! E
                          set y  Dep / 2 ]
# |" I  U. N" W- \                          set h  int (g / 5) * 5
# F- L6 E$ ?2 P0 H  setxy   ( xcor-of turtle h + x )! |& d) J. C# L" _/ z8 K7 ]
           (ycor-of turtle h + y )
' M- w% o% P% Q: G8 K                          
1 x, b% b' t& P( _4 ]                          / F0 l5 [; S6 R9 d
                          ]
1 [7 ~- S- f5 j5 ?2 Oend/ ^: t, o& r7 F/ X

! r' q- C! c  r" w[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* K* M7 J0 S2 v3 z- w0 O
应该是6 E3 B* h% q% k
ask turtles [
+ ]- f2 K  K7 q) d- [3 `if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # a) u) V( z4 Y+ c. h" Q
                          set y  Dep / 2 , F# y1 S, V) B2 ?
           set b  int (who / 5) * 5- p- \- d; q1 h; s
    setxy ( xcor-of turtle b + x )
: @2 I- [4 X$ f+ E& ?  `3 a          ( ycor-of turtle b + y )]]
% e5 P3 }7 G! C7 i: eend  ]% Q: L: K9 M, _0 ~
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-10 11:32 , Processed in 0.020278 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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