设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8845|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
% T: p) D9 S' A/ B8 {1 M0 F- k, v0 @/ H
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
. R( A0 ]2 _& L
  k; Z9 v# Y7 _2 n* }# Uturtles-own [a b c d k f g h$ [, Q' X* g% i* c  W9 D, {: o
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ! [+ P! g- M' c" I, ], @: N
]
3 S7 m6 O  i+ _! q: a% ito new
- s8 g( ~5 P3 r- ?. N  ca
3 H) E/ m$ N) j. ?6 `4 ]8 E  crt 5 * num_of_building
" Q/ L0 b* g6 i! E$ D2 P- P- I7 E  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
3 E1 k/ g! z+ u! |2 \  scatter     ;;keep center-turtle random positions ) a! h+ g5 N+ l& D
  unit_plan   ;;make up the building plan
2 z/ J  t0 S/ Send
, _% D6 w2 F0 b6 V" e% O, bto scatter: m$ ^+ Y. k) r; x. G
ask turtles with [remainder who 5 = 0]& I% {  g% I$ m8 k8 M& y
[
5 u% ^! D. F" M0 g% _% e5 _- Aset xcor xcor - 6 + random-float 15
2 |! e3 \  x! Z5 f1 Sset ycor ycor - 6 + random-float 15
: e9 L- {2 j# k2 w) J]
+ J7 y+ K$ x( O5 x/ T) M+ Qend
% z, X) p) B5 m. M; X0 fto unit_plan , x/ I& ^7 Z% {; s1 k
ask turtles [% B. C/ Y. G3 u# L/ ^
if (remainder who 5 = 1) [set a who 2 o( m% ~! K* ?: `
                          set x ( 0 - Wid / 2 )
4 d! O) u$ G! ^1 Q: k                          set y  Dep / 2 ]
4 C, m& }7 W: h' w6 c% w' n           set b  int (a / 5) * 5
. `7 W, o, L6 J    setxy ( xcor-of turtle b + x )  z0 D+ l+ o! x7 V% G0 d
          ( ycor-of turtle b + y )8 ~" i  i& k) A0 A( s* ^; B
if (remainder who 5 = 2) [set c who
+ S( ^$ y, Y5 |; y, m) {+ R( V# G4 T                          set x ( 0 - Wid / 2 )
2 m( w7 z3 C* Y- Y. S3 f                          set y (0 - Dep / 2 )  ]
; i+ D+ s8 ^9 X                          set d int (c / 5) * 5
6 S1 `! \$ C0 n! D2 n( [   setxy   ( xcor-of turtle d + x )
2 ^' D1 B, ^) ]1 o6 ^' t           (ycor-of turtle d + y ) 9 w4 B( Z2 e0 Q, k
         
% S) F- P2 l! e            8 u* Q* O! ^7 |& s8 e: c
if (remainder who 5 = 3) [set k who+ E8 G: q  X9 s$ O# w9 V3 P
                          set x( Wid / 2)  + _# k$ D5 d. p; \$ R! |. h- Y
                          set y (0 - Dep / 2 ) ]
' F0 V- [/ I) t8 J- q. p9 D% {                          set f int (k / 5) * 5
$ k+ ~2 B. A& B' `% F% u# F8 v  setxy   ( xcor-of turtle f + x )5 r7 \$ v9 P! x& x) K: D$ h
           (ycor-of turtle f + y )
6 r+ r9 u/ n7 V# n4 R: n/ J) P           - @' S) O7 D4 ]9 O
           ' r6 Z: i3 N2 i5 E" w9 u
if (remainder who 5 = 4) [set g who
& _8 E1 {8 }- U                          set x Wid / 2 5 F+ o* G' R* T0 k
                          set y  Dep / 2 ]: h  }0 P- r; L: x. L; F3 @
                          set h  int (g / 5) * 5. [" S+ o/ p* {- _
  setxy   ( xcor-of turtle h + x )" ~5 e4 q+ U  F  f
           (ycor-of turtle h + y ) 8 Y, h/ d- f# w/ ~" x+ w0 n/ I; C
                          
4 d/ u4 z3 O; i, u) ?8 r                          
' Q  Z& ?, e1 D' h                          ]0 |* J9 x$ C! {8 b" k& @* k
end
; B4 Q# O6 @- b6 u" B9 x4 d$ F( o  W# Y5 e( N( q( m0 e: p* P" K/ n) T! }
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
: Y( _0 z/ t8 h应该是
9 F; E( I2 Y) C# o$ C  m* |ask turtles [
. C1 O0 h6 a8 B6 q$ T. tif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
. l1 }) d: b. J# ]! K3 x& y7 m                          set y  Dep / 2 9 x9 Y9 T7 d. h
           set b  int (who / 5) * 5" X+ T/ N) N( d
    setxy ( xcor-of turtle b + x )9 B" ]3 B: @7 w2 o4 a& i
          ( ycor-of turtle b + y )]]7 f+ C) V* _, |
end# j& l/ H$ T6 C& q: e" n, b
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-11 04:19 , Processed in 0.014633 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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