设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7625|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。/ ]2 l4 b( t/ E! j
4 j' y4 a1 P. J/ h% V: i
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。; C/ S5 O* W3 R
( W. F, z. d+ {
turtles-own [a b c d k f g h
+ U- d1 ^+ [! J1 T/ O) S; X! Y3 _  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
7 ?5 s. {% A% u2 r]
/ ?( A- K$ c. n4 a& y2 k' M" @to new
( o! R; I8 L4 {" V% v' f  ca
% I! e6 e6 e! _  crt 5 * num_of_building+ H: T& T/ o) w6 F3 p5 O8 s- G. o
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]- ?4 z8 M8 Y" Q9 A$ k+ j; V* b
  scatter     ;;keep center-turtle random positions
* a  C/ j( y& }" N; i6 b  unit_plan   ;;make up the building plan# n- _. g- q/ W) }; a7 i: j
end
1 h: B  c2 |& v& F) Eto scatter
, i3 Q0 ^6 \2 X  w. A8 Iask turtles with [remainder who 5 = 0]2 X- x" N) [- Q" j6 x
[
% m: ?6 m' k4 Iset xcor xcor - 6 + random-float 154 n! w  x8 n3 O) N+ L8 H3 }- Z6 K
set ycor ycor - 6 + random-float 15. ?, ?( v) r( s2 S3 }
]# Z+ g# I) Y/ ]+ K
end3 H) |3 c& a6 ^9 y, q: B9 C
to unit_plan / p$ c! [4 b  N3 l( `. ?% t
ask turtles [
- }1 C: A6 T) s1 qif (remainder who 5 = 1) [set a who
% D5 q9 t" L& q                          set x ( 0 - Wid / 2 ) ; ?+ w& c' Z' W# D% n2 l1 ~  L
                          set y  Dep / 2 ]+ O7 n- l3 R( @9 {! t- ^: |
           set b  int (a / 5) * 5
* B- `2 x% J2 e" r6 F* Z* I) [# E    setxy ( xcor-of turtle b + x )
5 B8 Y: {7 N- D          ( ycor-of turtle b + y )
" F; W$ g. K% r1 r3 x7 ?# I3 V  `if (remainder who 5 = 2) [set c who5 t% t* R9 Y! I% D; X
                          set x ( 0 - Wid / 2 ) $ T( U0 h: ^1 R$ W# a; e
                          set y (0 - Dep / 2 )  ]
5 X( s8 ~0 v1 L6 m                          set d int (c / 5) * 55 _+ G! F/ Z3 _9 M  a
   setxy   ( xcor-of turtle d + x )4 P$ I: x2 }: |: q0 G5 n
           (ycor-of turtle d + y )
  Y. |9 J4 L3 U: B' E0 h: p         
7 N1 h8 R' }$ @# n            
6 m% W5 f! D- F  u( g3 L" D: v5 yif (remainder who 5 = 3) [set k who& x: l# G" z# s8 [; |: Z
                          set x( Wid / 2)  
6 q* `: f: K0 a* }. {5 r                          set y (0 - Dep / 2 ) ]
5 F# Q. |- @6 X- G, F) G4 _4 O) D                          set f int (k / 5) * 5
3 `' b' {% o, ~1 `1 \  setxy   ( xcor-of turtle f + x )
9 g% t5 {- _7 u0 T# `5 g           (ycor-of turtle f + y )
; p; E4 U( L4 d5 I           
- H% M/ Q. ]1 v" D9 R% ?1 q8 y1 \           
1 l: U# n, b. p; W3 A& Aif (remainder who 5 = 4) [set g who
4 Z" ~6 O( r  ]4 d4 t9 q# a                          set x Wid / 2 8 T( n8 A- y8 h% [
                          set y  Dep / 2 ]5 z' i/ `9 v1 u9 k7 u( @- u
                          set h  int (g / 5) * 5
7 p$ s" Z+ N  X. H  setxy   ( xcor-of turtle h + x )) l; N3 N6 [+ l3 F, y" k
           (ycor-of turtle h + y ) 1 Z4 l9 H1 G- _- i( E& q& A, p
                          6 m; y: w3 \& [& B2 P4 l# v
                          
2 I- F3 r* N9 T7 ^" h                          ]
2 {9 L4 v5 x; p6 D* @end9 ^4 [. n2 t. ~' g$ P; Y

  @7 w% G( D" |4 Y. |; H! L8 T) \. q[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
6 L2 }$ O/ }  k5 l, m  ^应该是. q" q" A3 h$ _1 c1 @! n$ E
ask turtles [7 u7 Q) ~" k0 l" D- H$ @
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ; f: F3 K. @: R( x, t1 [# ?
                          set y  Dep / 2 % p4 U0 s+ G1 c5 }
           set b  int (who / 5) * 5
8 `* g) r' B# a& K8 ~. I$ _    setxy ( xcor-of turtle b + x )
$ ^2 i4 G& d/ m" v9 k          ( ycor-of turtle b + y )]]
. D* N; Q# T8 r; Vend) X* f9 ?, z4 f1 G
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-7 17:43 , Processed in 0.016779 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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