设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7935|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. D2 p* N, Z4 j, {) ^' i5 y  Z6 N( s
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。9 Y( O1 {3 y7 ?4 L7 n2 x3 f4 m
/ F( @3 H$ f* N5 E8 c
turtles-own [a b c d k f g h( T% C8 u% {- ?4 c
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 8 I# ~( D& `! a7 |8 _
]: f  P) L# b1 L8 I* Z
to new" j- j. f% m! o
  ca
! z( _8 V9 Z/ @* L! _4 K  crt 5 * num_of_building
( Y& _" g# O: d/ V  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]: j  U, @* c# n' H) w) D* Z
  scatter     ;;keep center-turtle random positions
& _3 H+ [. i* Q$ t4 j9 G2 X3 A' Q  unit_plan   ;;make up the building plan
# j6 n: Y/ ~8 X  Y- V, {9 U* h# jend: o6 J& `- F3 [3 T
to scatter& G% U+ D1 @" b, B  B
ask turtles with [remainder who 5 = 0]
; E4 I' \0 I' x& ]& V+ \* V% H[5 i- D( v  t* N& M8 @' F( b
set xcor xcor - 6 + random-float 15/ T! e- d+ o! k4 G4 g$ ~2 c
set ycor ycor - 6 + random-float 15! x9 R4 [0 @+ y4 A: x5 r  v
]
9 _- y% T2 Z$ Uend
( S* y5 {( Z# A; l& }8 Zto unit_plan " w' D  b: N( }: q( T" b
ask turtles [
7 b( h2 f" k) o8 r2 zif (remainder who 5 = 1) [set a who / P" f: }, \6 C6 P! l# r: O
                          set x ( 0 - Wid / 2 )
) t/ @. p& A( }7 z$ K& C                          set y  Dep / 2 ]+ Z( m1 a' K5 w  J
           set b  int (a / 5) * 5
- q! }& P4 U9 [# c    setxy ( xcor-of turtle b + x )9 \# r; m0 k# q  W2 E$ r  {1 [; L
          ( ycor-of turtle b + y )7 R" |; c" v$ \# K, B0 d
if (remainder who 5 = 2) [set c who
2 p2 M1 T) s2 G3 E7 C                          set x ( 0 - Wid / 2 )
- X9 Q* w, N5 G                          set y (0 - Dep / 2 )  ]- ~8 H% \' \- F+ N- M) r9 v
                          set d int (c / 5) * 5
7 U  a+ @% T( s: N( r. `" h( p   setxy   ( xcor-of turtle d + x )
/ E6 ^8 i- e3 J           (ycor-of turtle d + y ) " {4 V+ \! n. F- L1 g0 j7 a& Y
         
( ^' v( U; T$ C! Z            % ?* O' B# N$ A( t& _( \
if (remainder who 5 = 3) [set k who2 i( y0 x, O0 h9 d
                          set x( Wid / 2)  
3 `5 S! G' I) X- e  E3 |                          set y (0 - Dep / 2 ) ]% z0 x/ [! j9 F4 k
                          set f int (k / 5) * 5
* i/ T7 Y8 [4 W. y, r  setxy   ( xcor-of turtle f + x )
8 D1 B! p8 J8 A3 g( l& b           (ycor-of turtle f + y ) $ A4 p8 z9 T9 T/ s8 d- q
           , q0 R  Y4 [; `' [: i7 i& U
           
0 }. ?" U2 _# g' nif (remainder who 5 = 4) [set g who
( R* N  h' e; c                          set x Wid / 2
2 e4 U6 x4 z2 Y( t. d                          set y  Dep / 2 ]
9 F& i7 T1 M% _5 ?& ]* [                          set h  int (g / 5) * 5
2 a. l0 c2 ^! X& G- k4 z3 b  setxy   ( xcor-of turtle h + x )+ W. B+ h1 g" h
           (ycor-of turtle h + y )
* l7 o2 u& K) A4 n% H                          
3 _' f) ?) x( d# F                          6 W1 ^. M, z; D7 u" f! z3 q
                          ]
" N5 W: k2 x7 V+ ~+ F' }. }" q7 rend
& s) L0 m% V* l6 G$ W6 y) ]0 ]8 Z' h9 O  d3 b# G1 P8 }
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
5 y; A5 H: K, o% |1 @, X应该是6 i+ Q3 s4 s2 t
ask turtles [/ E4 x& g% x0 ^: ^6 F, d7 ]0 K
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 3 k" \6 a8 R& |$ L  n+ H- z
                          set y  Dep / 2 : W3 `# {! r4 @1 u
           set b  int (who / 5) * 5* z% F2 r1 i- V' v: x
    setxy ( xcor-of turtle b + x )
. p9 G1 M, H2 c; \3 X          ( ycor-of turtle b + y )]]
  A4 ], t' r4 q' {9 [; I3 Zend3 H: o/ _  U9 r$ q! R
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-20 00:18 , Processed in 0.017778 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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