设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6819|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。) ^9 f/ C1 M- I9 Y, g% T, q( B

# O" s" O+ W- b" b; @但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。5 i6 B8 n2 I  J+ W/ I# V( u
* j0 z  s$ W4 Y) n1 V
turtles-own [a b c d k f g h0 X% y' m* g3 o; F7 `
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
: H0 E, e# Y% \8 ~2 W& W$ C2 Q" g/ ~]* G. m; j; i; _$ M/ h4 }' j
to new
3 E1 f3 v- v% u. D9 w: m! a  ca  A% g" w1 Z4 r% P# s# x) L& h% x
  crt 5 * num_of_building
, a5 V) \* ?5 ^' I+ X  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
# e$ I) \7 r/ F% V0 k2 ~) u  scatter     ;;keep center-turtle random positions ( L; K1 ^1 O- Q: |) n3 O' e
  unit_plan   ;;make up the building plan: y! q. u3 t4 ~. x7 e6 o
end
+ R  y0 ^; j: |$ M) l0 Gto scatter
) \* D- \! w0 a: K$ L& a  rask turtles with [remainder who 5 = 0]5 |: Z2 Z  N9 z2 e( F
[
4 N+ t; B4 |& b1 pset xcor xcor - 6 + random-float 15* I4 w: a+ `* |3 W% l; O) z5 C, F
set ycor ycor - 6 + random-float 15
4 ?* ~# q+ m( \! c+ U# n: C7 H]
2 M  ^  P6 E/ H& e3 Xend" v) S' U& {! X4 }# A' D
to unit_plan & v" k+ ?  }+ ]0 e
ask turtles [" x7 B; ^- O: j; H
if (remainder who 5 = 1) [set a who " D7 {- t" Z, O+ B/ W( r- ?3 m3 H" ^
                          set x ( 0 - Wid / 2 )
2 Q5 X  Y* z1 S' t( ~1 ~- B                          set y  Dep / 2 ]' S# e( B6 S! w3 g+ E
           set b  int (a / 5) * 5
6 W% g2 Y: [& h; S. P4 E    setxy ( xcor-of turtle b + x )
0 J/ X* r9 z- y& N          ( ycor-of turtle b + y )2 L! s9 d- z2 R0 X: O
if (remainder who 5 = 2) [set c who
! O! w8 W  l0 K                          set x ( 0 - Wid / 2 ) * J) P5 K" s4 e. [; @2 v! a
                          set y (0 - Dep / 2 )  ]. [( I/ C6 e6 `: r4 j( _: d
                          set d int (c / 5) * 56 P( l; p" G9 }! {7 ]4 g( N
   setxy   ( xcor-of turtle d + x )( H) l+ E* j0 N2 r) m% i
           (ycor-of turtle d + y )
5 M7 u# c- s3 B" r  x9 g+ x/ g/ x          8 i# V( ^9 M# [3 c7 w) m* `
            
- X4 F9 `" v$ ]! M, _if (remainder who 5 = 3) [set k who
2 a" O, S) K4 G3 f                          set x( Wid / 2)  6 z- i# c+ c7 f, H) M9 y2 P
                          set y (0 - Dep / 2 ) ]% a$ t# W2 k2 K6 C# w0 v
                          set f int (k / 5) * 53 I, a3 j. {7 o* I1 `8 K
  setxy   ( xcor-of turtle f + x )
( O# G) ~9 e# h! P+ m           (ycor-of turtle f + y ) 9 e8 p6 ?+ O( k- ~; e: M
           
. U  t5 |* o# s9 ?2 o0 g$ E8 l           4 c+ }8 ~7 o3 u' `$ ?4 Z0 l! _  u
if (remainder who 5 = 4) [set g who
% |  f+ I- B+ p                          set x Wid / 2 6 }% T7 G" M* H  i4 o
                          set y  Dep / 2 ]
' p* Q8 N4 k/ A3 W9 A                          set h  int (g / 5) * 5) _7 Y. c2 A4 }: v9 ?# L
  setxy   ( xcor-of turtle h + x )3 |- ?! J6 V# v8 H, r" Y
           (ycor-of turtle h + y ) % A& f% A) A% c0 }6 ^+ J
                          
1 J- T6 f" C3 }! v+ J7 E7 G+ e                          
) J! G3 ^. k4 M5 Q, e" ?% w" h, |                          ]
. d* W, q. R$ b% B" f, }2 Z' }end
4 r3 x2 v7 B8 ]6 _, S2 z
+ _. q+ }( s- B[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 v, O7 }3 M( o应该是% B" J, ], R3 M
ask turtles [
* E2 Q4 M- c  `1 p- b7 ^$ Kif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) . [, I5 X1 r# J) o8 e- m8 z& a  P
                          set y  Dep / 2
: Q0 R: c: _5 O) {           set b  int (who / 5) * 5
( ?: o3 ?, T( J- X/ M  j    setxy ( xcor-of turtle b + x )+ Y/ z. `. H7 p) o, b* Y
          ( ycor-of turtle b + y )]]9 c" U; N/ I6 c, _
end
. F3 z' P; x. `' `8 Q% C2 B之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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