设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6897|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
& _* i7 z: V* _& b' ^
# k) @0 Z6 e% y( y) _/ f) y+ ?但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
7 s; A/ ^0 o9 j/ Y
& r: ^4 @* Y, O  i0 ?turtles-own [a b c d k f g h9 O! Q+ P' ~" \
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
1 d$ T  P/ y4 n3 D; T/ d]6 b4 w. I! ^6 s& T+ w+ s3 T
to new
) v, I, l  d. r  t! `5 o  ca
0 J$ F6 f9 z  u9 \8 b8 Q( `+ o& B  crt 5 * num_of_building+ L* ~) G! q( e* g0 E* u
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]& I" [$ d1 S0 s, n+ i8 @7 I
  scatter     ;;keep center-turtle random positions # g) ]4 R! m( u; K; A& d: F
  unit_plan   ;;make up the building plan
) p: {0 D4 b) L+ Z& A5 vend+ k/ N8 w1 Z' x: ~" k+ |
to scatter
7 l. i0 D: h! z6 F: Pask turtles with [remainder who 5 = 0]
$ r' H2 i  b2 X! w- C1 }4 u[
# u4 C% j7 z0 M( fset xcor xcor - 6 + random-float 15- d# G" v0 g9 i
set ycor ycor - 6 + random-float 15
8 T' V+ m& L2 G" x5 b]: B, j; |; u/ U$ E& W
end8 m! @+ }6 a. }
to unit_plan / [- o% d3 A4 X/ O. g
ask turtles [4 a% T- B: ^& Q  z' a- U9 C
if (remainder who 5 = 1) [set a who 6 \; M! b4 y, h# O. K1 \
                          set x ( 0 - Wid / 2 )
' b: H! p: k0 j7 p) }; z/ ~8 O                          set y  Dep / 2 ]
$ e- P) f! }( l: h           set b  int (a / 5) * 5  D: D, ?# I9 C
    setxy ( xcor-of turtle b + x )( _( ?( Q+ @2 G- |2 w
          ( ycor-of turtle b + y )
# _' n1 ^  T2 P5 ~: a' U; L7 a: Jif (remainder who 5 = 2) [set c who
- h6 s) v" j. Q0 K& _9 ~                          set x ( 0 - Wid / 2 )
8 \" s3 |! f) U7 f4 S6 b. `( @/ s                          set y (0 - Dep / 2 )  ]
2 @$ Y9 ?; e' O* t                          set d int (c / 5) * 5% e$ X: X; d, g! G& d
   setxy   ( xcor-of turtle d + x )
$ D  I* D% ?1 L2 p. |+ x" y1 x           (ycor-of turtle d + y ) 3 w6 t9 o4 {* k- z2 J
          . F4 ?8 s/ ?- o! j# X5 K
            
4 A* p1 }! H3 v* X; g+ Kif (remainder who 5 = 3) [set k who, T* i* G7 i" {
                          set x( Wid / 2)  
1 x4 d* l* S2 }                          set y (0 - Dep / 2 ) ]
1 `5 h% K: b, E/ C* x                          set f int (k / 5) * 5
) h  Z- x1 ~+ H  setxy   ( xcor-of turtle f + x )  s, h  _6 B, k) z
           (ycor-of turtle f + y )
0 T6 o" W, ~' U2 X4 i  f6 ?3 I* R, L9 h2 x           
/ p  k+ O$ K; L+ l           $ k9 i1 z$ h& ~/ D" w4 P
if (remainder who 5 = 4) [set g who3 p+ T  v( ]# N! {1 M4 H  z
                          set x Wid / 2
6 T! K$ B) k$ U1 C" G( q' c                          set y  Dep / 2 ]
! A: A/ n2 H/ g# y                          set h  int (g / 5) * 5
/ y7 f) X$ E8 p& p" }6 g* n- U  setxy   ( xcor-of turtle h + x ). m8 J) F6 v5 K1 M& T: T5 j4 h- j
           (ycor-of turtle h + y )
4 d3 O( ^4 h% [4 y                          5 D# k& n: A. H4 E  ^6 ?0 x
                          # U' j4 V; i7 H; V! ]
                          ]3 i9 Y+ i+ P( |& m
end7 M# v" M/ s, X% w

* s4 E$ ~" S# A8 X2 V[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* Z% l1 I5 F) K8 U. I3 W
应该是; |8 ~; S+ ^8 I9 x6 |" }6 [( ^
ask turtles [
, B4 I5 e# E. x! y/ f% F9 Mif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
: r$ [, a4 C7 l! D* a; L3 h; S                          set y  Dep / 2
2 A: K$ J0 G: q2 o' n# a& i1 C           set b  int (who / 5) * 57 C! C$ ^/ p! I' T: b: h& t( T8 }
    setxy ( xcor-of turtle b + x )1 S6 G* y9 R: \' w8 T8 {
          ( ycor-of turtle b + y )]]
" }$ Z/ j" ?3 F' k1 F3 ?end
7 c8 E5 ^/ @9 P7 ^: P- ~+ z9 [. u之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-7 07:17 , Processed in 0.013782 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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