设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7996|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& }( w( M( }2 J. U2 l

4 S, K" s5 `  |. `) F. E/ M1 H但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。9 L2 V2 X3 B2 P! @

% n& t3 G) b: ?turtles-own [a b c d k f g h
$ Z$ O! T! Q$ t% _  `3 V  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) o* v* ]) H7 {) v( Z2 C; U
]
  ]/ e# t0 c! T- b5 Q) n" Cto new
/ k* y0 t4 s0 ^4 D  ca
0 t4 J; ?/ Z1 a) R& o4 V  crt 5 * num_of_building+ X4 P$ J) J  @. t
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
4 n' G% d1 S$ v  scatter     ;;keep center-turtle random positions
, c7 T- H! T* N6 M: b" I- D1 l  unit_plan   ;;make up the building plan
/ c# z" ~* k0 f! f6 }- Fend- D% S1 e, B! [, u' P8 h8 T
to scatter
+ w3 Z' `) U( i* F& Iask turtles with [remainder who 5 = 0]  U6 X, i7 n# w
[
/ W0 n- f5 H0 G( B- F8 p- Qset xcor xcor - 6 + random-float 15
  ]9 X) J& t' _set ycor ycor - 6 + random-float 150 N  Y4 `% @0 T0 ~3 Q2 v
]
( R' F- v3 B' L8 z5 _. j  V  }7 yend( l+ w3 R; P. ?! o% X7 o( E
to unit_plan ; ?: v  H5 g; |* l9 D' k
ask turtles [0 S7 B) j+ F. |3 {& w/ |8 @; _' o
if (remainder who 5 = 1) [set a who
7 e) {0 z- f; M7 d; u8 K                          set x ( 0 - Wid / 2 ) & u0 P7 A8 O1 ?
                          set y  Dep / 2 ]# K5 f$ p, G6 P5 ?1 ^4 M. i
           set b  int (a / 5) * 5
+ p$ U/ R4 g. j; v    setxy ( xcor-of turtle b + x )& a0 ^# {9 Z) a, F$ k- v
          ( ycor-of turtle b + y )( E" G1 O% z1 z- u% ~
if (remainder who 5 = 2) [set c who4 p, L' L0 l  E1 `
                          set x ( 0 - Wid / 2 )
$ }0 l* [7 L+ i1 A* @3 B% A' k' B                          set y (0 - Dep / 2 )  ]" g: t7 M" z- S" ^1 t
                          set d int (c / 5) * 5
  H$ h$ N7 U8 c7 |7 J4 g7 p5 w% s# G; r   setxy   ( xcor-of turtle d + x )
7 h2 c# y3 I+ K/ U$ D           (ycor-of turtle d + y ) 0 y- {5 ^( r( c
         
1 `! N- n6 V4 u# Y            
2 q' Z+ i1 ]$ u! v6 w6 wif (remainder who 5 = 3) [set k who9 p6 X$ w  k8 T' i* B& |
                          set x( Wid / 2)  2 _5 g8 m. L$ w- d- @; {, f* G5 l) o% @
                          set y (0 - Dep / 2 ) ]
6 x. e0 }- ?- o* ~: j3 Z7 N                          set f int (k / 5) * 5
1 u( j8 s+ Q6 v  setxy   ( xcor-of turtle f + x )
! e; n$ `3 V8 k& Y* @* Z           (ycor-of turtle f + y ) 7 Y. u* j$ @1 B) s
           9 K* {8 V: w- L' v
           1 b3 R+ d9 M$ i7 X$ V7 A
if (remainder who 5 = 4) [set g who. W. F6 c9 [7 Z: B6 t4 @
                          set x Wid / 2
0 Z) N  l0 c  {4 {9 h. D7 R                          set y  Dep / 2 ]
& B3 H$ R7 O2 B2 t5 k; O                          set h  int (g / 5) * 5
9 E4 V8 q. `# _3 L  setxy   ( xcor-of turtle h + x )" x, c/ D4 p% O5 @) k
           (ycor-of turtle h + y ) % I' @4 `7 t: A2 ^1 _+ h) W' c
                          7 Y2 T# y# K4 w# u; ^  y1 F. g
                          
! }' J" |' D  R4 ~. S/ }% b. }2 f                          ]
9 w1 A& N6 W3 }7 bend( p# {/ P& l. U) I& a
9 k; Q: M- `; |$ s, w! Q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
6 Q& X# Z. |2 q% z应该是6 i' h: r4 D" ~3 {, z: S  [
ask turtles [/ z0 Y( H% j9 r9 ]! V. B6 W( l
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ; @8 A% L9 n+ \8 W1 A. D# U
                          set y  Dep / 2 - p+ R$ W  ^9 C5 k
           set b  int (who / 5) * 5
. g2 n5 |+ p0 D; {7 @0 C% N$ j    setxy ( xcor-of turtle b + x )
  f# l5 Y+ A1 t* d8 F9 G          ( ycor-of turtle b + y )]]% {7 b4 }% U/ r& ~; o$ |' M
end
# K( t2 p8 i( w  o8 y) N之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-26 16:56 , Processed in 0.016718 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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