设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7398|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( @- D$ |9 v# W0 {
0 l$ K- w+ m# l) H. Z: x+ V但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
1 m% H% I0 O: ~$ [& h6 m- I/ _( N8 \- p
turtles-own [a b c d k f g h9 Y) m" p( u/ }. i/ ?
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 1 k- I3 \# b  H& d4 D8 z
]9 v- O  X) k' O7 A' }& u* R2 o# [
to new. A' X& T( R% _* e% z0 a
  ca& l) R% a( J2 Z8 U) F
  crt 5 * num_of_building& f0 H9 ?6 E/ j9 a
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]4 i- F' l+ C, k* _/ z
  scatter     ;;keep center-turtle random positions 4 F6 v1 Q: v8 H# W6 |
  unit_plan   ;;make up the building plan1 I5 Z+ }* l% N3 `4 [& i
end2 R' D7 Z# t* ?1 ~" x
to scatter
- K" k( M* X0 z% }' D" Gask turtles with [remainder who 5 = 0]) A4 @/ a) C: V0 B7 \, p
[4 N# d6 K" H( \; V9 V2 N# S. x) X! N
set xcor xcor - 6 + random-float 151 Y' e. h( F, v1 O# M, a; V
set ycor ycor - 6 + random-float 15
- C) {7 I( P( B- g/ ^- k]4 }# Q( C: Q+ d& u3 z
end: c8 I% t2 p; K9 O4 j8 R$ x
to unit_plan
2 P" ^7 O4 P+ r5 Q7 gask turtles [7 r: J/ b( D% V8 Z2 b6 g9 @
if (remainder who 5 = 1) [set a who ; t( |- p6 g0 U0 U# j4 p0 }
                          set x ( 0 - Wid / 2 ) * }) {1 j" |% G; F
                          set y  Dep / 2 ], A6 u( ~( S; j6 a
           set b  int (a / 5) * 5
( W& E: B, z) t' g" _) b7 k, j    setxy ( xcor-of turtle b + x )
7 l5 v% C# c6 C# j! V. m% Q# a' m          ( ycor-of turtle b + y )
3 @) @% I5 V& }" H- ]if (remainder who 5 = 2) [set c who/ x; E) x0 g7 ?- n
                          set x ( 0 - Wid / 2 ) / L. l& h3 L: b% t
                          set y (0 - Dep / 2 )  ]% T7 ?! P+ s% h
                          set d int (c / 5) * 5
$ R8 T$ X+ M( _) Z   setxy   ( xcor-of turtle d + x )9 M- J" s9 B: K
           (ycor-of turtle d + y ) / K) \. I5 [) S; F6 D
         
1 D# c* ^# z0 C            
. L. P$ [& l5 \" Iif (remainder who 5 = 3) [set k who- i, w5 V) [4 Q4 M7 R% G
                          set x( Wid / 2)  
& h% A7 w) X5 @/ K/ R& y' t, Y) j% G; {' B                          set y (0 - Dep / 2 ) ]
3 V2 t7 s- d7 }                          set f int (k / 5) * 5
5 D2 g, \+ R1 U! p  setxy   ( xcor-of turtle f + x ): c4 F0 j3 j. P0 J0 q5 e
           (ycor-of turtle f + y ) ' E0 E: g+ H2 o! J( T& C
           
* M4 ?3 {0 f: j: {3 M4 S           5 L, h2 F5 n& A) |" [. x6 {: {* C
if (remainder who 5 = 4) [set g who
7 Q1 Z- Z8 ^1 X4 [& k4 L- l- n                          set x Wid / 2
1 u! l* G9 e) h4 W' Z                          set y  Dep / 2 ]
* ^, {% O4 i; K                          set h  int (g / 5) * 5( X4 X/ a  Z3 z
  setxy   ( xcor-of turtle h + x )' T3 h& x8 }) [4 p! d6 b
           (ycor-of turtle h + y ) ( J0 e! p: b* M' a
                          1 y6 f- @& F: e7 U9 Q5 V% V
                          
+ w0 H% r$ V6 h- V7 N& e: h                          ]2 D* f3 C! R0 B( E" X  t
end
8 ?' F% J) M7 r( v, ~
( F: |! ~" s& R4 Z0 \# m- g9 ?[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
0 v0 D  Y; Q1 G+ J应该是4 `/ R% Z6 o7 L# ]5 W) P; H+ @  G
ask turtles [
* c. [8 {" u3 w: l( ^$ Q  }5 Eif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
$ Q/ W" t" f2 C                          set y  Dep / 2
+ k! E8 b7 h. ^           set b  int (who / 5) * 5
+ i# q+ z" l1 O) L    setxy ( xcor-of turtle b + x )
' }/ t  a% o$ C5 F6 {0 M          ( ycor-of turtle b + y )]]. ?$ F  T/ O0 p2 `6 a' t
end1 a% e+ w' R* G2 v" I0 h4 ^+ p
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-8 01:56 , Processed in 0.018648 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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