设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8013|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 ?8 I0 G/ c2 g& [/ K
5 C. a: e; a! D( B' j但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
2 a2 L/ g- P5 ]& X5 t3 k7 O5 d6 r* Y# u
turtles-own [a b c d k f g h
6 H4 |4 j& Y8 b- Y- Q9 ?5 i  x y     ;; these are the leaf-turtle's offsets relative to center-turtle + b/ B$ ?5 I- z+ V) K+ {
]
* P7 h" f- J  D, k3 _$ V) ^# i* Fto new& o) z6 L" E0 S- Q# D, \
  ca
. c4 X7 N" ?7 `. {; |  crt 5 * num_of_building9 Q5 v* L* k, J9 g4 C2 [
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, d* C) y3 M3 z- p6 ]  scatter     ;;keep center-turtle random positions . U) O" n0 L) L+ U5 j: b# J0 q
  unit_plan   ;;make up the building plan8 Q) r- o' s  A9 Y# p3 o
end
, {7 e# F( d8 o9 N; ~. H/ W" gto scatter
- d! O# y" g8 M: r/ p0 S1 P% w! Eask turtles with [remainder who 5 = 0]. F" c/ c8 D) l
[
  C; D1 x. C4 |& v! A. O, mset xcor xcor - 6 + random-float 15/ d' |$ a, g7 c+ O( k" h
set ycor ycor - 6 + random-float 15
* w( A) F5 j; N' \]
3 F, j4 F) K, c( ]end3 t3 J+ r: b( i0 K
to unit_plan
, I1 d; n, Q- d5 iask turtles [7 `6 [) G9 k8 c
if (remainder who 5 = 1) [set a who
/ T; v1 l- U! G. |, n6 Z) U0 U                          set x ( 0 - Wid / 2 ) # W6 ?. u) ]! _9 J2 j4 L
                          set y  Dep / 2 ]
# y" j5 s7 [& \1 g           set b  int (a / 5) * 5
; j* @  o7 R' F* l! ~, ~    setxy ( xcor-of turtle b + x )1 C* ^$ c+ K3 b: k1 B
          ( ycor-of turtle b + y ). U- y. i+ M" @2 Y! }4 Y) v
if (remainder who 5 = 2) [set c who# T) g" w: R" t2 p
                          set x ( 0 - Wid / 2 ) 3 g8 ?+ N7 C" ?. m) c# Y5 Z
                          set y (0 - Dep / 2 )  ]3 V+ w5 \( E$ {3 l" K2 Q
                          set d int (c / 5) * 5) x3 S0 c& c0 }4 q
   setxy   ( xcor-of turtle d + x )
' y! y3 K* M8 c* Z" q" d  z3 E  K           (ycor-of turtle d + y ) * i' B9 p+ r2 s- n2 I8 Q
         
" u! z+ E% E. z- {6 G( J& y              E. J* g) ~' R' ~0 c
if (remainder who 5 = 3) [set k who6 s) a* W! z" U( h% I1 L
                          set x( Wid / 2)  
, s& C5 L# Z0 R8 P0 T7 D+ C4 e                          set y (0 - Dep / 2 ) ]
6 m' m# F  M9 j5 H( w" K                          set f int (k / 5) * 55 J1 S0 N8 ^" b' O
  setxy   ( xcor-of turtle f + x )9 P4 G) C+ V1 g, A' \2 x' j
           (ycor-of turtle f + y ) ' t! z) S3 P! ~$ E2 z8 ^
           . F2 U% B, V, |5 A% H( m
           
: \) r3 R9 ]: W  Q5 ]) }# {if (remainder who 5 = 4) [set g who
. e- N! e8 u, M1 r, Q6 |                          set x Wid / 2 - A# F5 }0 U; c) |" Q) a  o8 C
                          set y  Dep / 2 ]$ Y& R! p' o* F- Y* M$ y: U/ S
                          set h  int (g / 5) * 5
' A% D8 j* }0 Z0 X  setxy   ( xcor-of turtle h + x )1 J( H  s7 @4 w. v9 ~& _, Y
           (ycor-of turtle h + y )
8 s9 `5 `6 T! L( h# Q0 u                          
6 l4 W2 a( h9 L- o                          + O! v! K1 ?4 u- ~. H* V
                          ]
, `) {/ ]4 ^& oend; Q! \9 P6 L, g2 d6 W8 P
# Q0 }) m9 _/ v5 r% [) ?0 D
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
/ H: U8 u2 a# p6 E8 d# ?7 y. p应该是
1 U2 \! I/ a$ `( y5 Bask turtles [
% J0 M$ X0 K/ w0 u) nif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) & Y( Q. D+ |1 k( q5 y  _; D
                          set y  Dep / 2 - l1 r  Z& [# l: I0 A
           set b  int (who / 5) * 5& X3 U0 F$ \8 q  k' q2 K9 M
    setxy ( xcor-of turtle b + x )
2 L8 \, f  g0 c/ A. a% b( V2 p          ( ycor-of turtle b + y )]]% W: ~: @+ t4 M  }
end% K5 D2 K. o2 {/ N0 f, v
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-28 15:54 , Processed in 0.015360 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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