设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6823|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。! P* w& M1 y" I+ @4 t" x0 W5 }; v
* e4 F& _3 p+ J9 j) P
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
, L' \! U( C8 T6 m& n# {3 }
- f' J: i% M3 |5 H& G7 a7 V( T* iturtles-own [a b c d k f g h
6 W% P4 Z7 S( _5 d  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
, x8 J* _# y4 U2 k" W]
) }  x! \# I4 h5 J' sto new8 a7 v  H# }, O" a1 m$ G7 ~
  ca
$ _: C; E/ ~/ m* w  F0 [- f  crt 5 * num_of_building  N, b8 u, }5 A" P9 r; {1 z
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]5 ]( |3 s4 J/ T0 k; E; A
  scatter     ;;keep center-turtle random positions
4 _' v( H5 S# z9 x( i+ g  M- ^  unit_plan   ;;make up the building plan
7 J1 h0 ?2 Y7 }* q4 lend
- p0 w! v# N/ M: @0 Q* B  V# lto scatter
" n; C  F& _9 B. H8 a% ]) P6 yask turtles with [remainder who 5 = 0]: K, E8 B1 F( z  e, R
[
' B. Q/ ^& U; b9 J) x, l% tset xcor xcor - 6 + random-float 15, j4 @0 W" f1 Y
set ycor ycor - 6 + random-float 15. |1 o& r5 L  A# a! {
]* ], I8 \0 m8 F4 T0 r) b
end8 j; o! \5 X" @" s+ e8 V
to unit_plan
: A4 |- W, \1 D- mask turtles [
9 `# b( }  p0 g0 _! m. i( zif (remainder who 5 = 1) [set a who % o. E0 [' J# g7 o: i, T
                          set x ( 0 - Wid / 2 )
$ G8 f" S, k# T4 t                          set y  Dep / 2 ]
0 W5 c$ ^( d/ n+ ^' ~( _  H           set b  int (a / 5) * 5) t; c+ f0 s3 M& [+ s
    setxy ( xcor-of turtle b + x )
0 c9 [8 x& R3 `$ f. i          ( ycor-of turtle b + y )
1 k& ]2 N0 D. y7 Y  j3 @3 bif (remainder who 5 = 2) [set c who, I1 g0 x% z, R9 f: a
                          set x ( 0 - Wid / 2 ) : E  V1 C$ ^$ q: M
                          set y (0 - Dep / 2 )  ]
+ \  A) G0 f7 ~% \4 E0 D: `                          set d int (c / 5) * 5' z: A$ e. {' _
   setxy   ( xcor-of turtle d + x )( N; D2 Z7 L5 ?0 T6 C) Z, U
           (ycor-of turtle d + y )
9 I' C& z" }4 }1 ^         
. x$ d3 f) C# d. Z$ l            
/ C* t/ d# `) e: V2 N5 ~if (remainder who 5 = 3) [set k who
$ \& e8 o- U; c$ J2 o' b3 t+ @: l                          set x( Wid / 2)  
$ m2 U6 x( H+ j  k0 p                          set y (0 - Dep / 2 ) ]
/ A/ N, L$ c3 c                          set f int (k / 5) * 5. ^0 H+ D8 Q" h
  setxy   ( xcor-of turtle f + x )5 U- k/ J+ |5 K0 V# O
           (ycor-of turtle f + y )
" g* X5 x, `1 K4 ?           ! }; a4 E+ `7 O0 J% j9 N" b# F
           ( |* e3 h. [0 e* [9 L1 L# [
if (remainder who 5 = 4) [set g who
% d' n% u' w  G, X4 L7 a# e" ]# t                          set x Wid / 2
+ o( ~+ [1 A1 ~8 \4 Z; g1 ?                          set y  Dep / 2 ]8 L: T# X: N# Q; A6 T) ^3 h
                          set h  int (g / 5) * 5
/ [3 B8 Q- o) B, P6 [6 D  setxy   ( xcor-of turtle h + x )* i: E+ Z# r6 \$ D" M+ ?
           (ycor-of turtle h + y )
1 O: e% b7 w3 I2 j+ ]                          1 r( E1 c( }" u+ O  }+ h8 g5 K
                            N7 U6 ?' L* J3 y& H; e
                          ]
& A' z, G! u8 ]end4 x4 h  p  ~) t

# G5 U9 h# t; c- E* ~  z$ ][ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,. k% ~  ?3 Y7 h' J
应该是5 b1 [) V$ K$ u3 J/ V6 t
ask turtles [
0 `6 `. r. k- p% M2 E8 Bif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 Z3 I: d. q- R  v/ s                          set y  Dep / 2
* L3 k& L5 v7 ?: M0 F4 b) |           set b  int (who / 5) * 5
7 a. c, \7 \8 a7 i    setxy ( xcor-of turtle b + x )0 Z7 d2 F5 u! }" |1 \+ z7 g+ n4 A
          ( ycor-of turtle b + y )]]
0 C3 n9 \& d+ k7 E5 H! l  t! |end
: G0 h3 M& n( a% p之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-26 10:03 , Processed in 0.013441 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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