设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8414|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
! }: h# _' @1 U$ |6 F# c0 l7 q0 \1 Z5 t% F1 g
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* o: a1 t. Y% w" b! r) o7 g) l3 Y- F& ?* H' L- H! c: P
turtles-own [a b c d k f g h- y6 d) f( D3 I
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle $ Q  ?5 v8 p! }5 X' V2 c
]3 m- u; o* [* m% b- B1 p
to new- v2 z3 _- r; `: Z1 ?' u& b
  ca" L- ^- R8 {6 Y: Q* c& j3 \
  crt 5 * num_of_building6 J* Z7 `* ~) I: i
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
) x/ g2 g* M$ d+ g  scatter     ;;keep center-turtle random positions
9 G+ B( u. G" N; Y; j* H+ g  unit_plan   ;;make up the building plan- ]( r) _# s1 T( [& [
end1 n+ a) U3 X, k  q3 K6 {
to scatter
/ K( P' j+ U6 p. y8 s3 U& a3 y) Zask turtles with [remainder who 5 = 0]
, S8 t; Z+ D9 N8 _0 K1 U9 ]$ g[
% @) r/ H7 Y# \set xcor xcor - 6 + random-float 15
" I( W6 [7 A- m0 sset ycor ycor - 6 + random-float 15
2 G' Y1 @; B0 V- P6 g4 z: U! y]
# T" x% {3 v5 N6 p. Q% fend+ ^( p- M0 w& O) v  k: A/ N
to unit_plan
2 @! J! Z2 O$ S7 N+ |8 l9 {ask turtles [
+ Q! }2 K9 ]0 K4 F3 J: _3 a7 Qif (remainder who 5 = 1) [set a who
. I9 j! s; m: P$ U# a! F! e                          set x ( 0 - Wid / 2 ) / v% C1 P+ [. Y, O" [$ h
                          set y  Dep / 2 ]9 r% @3 w+ e! ~& }3 Q
           set b  int (a / 5) * 5
' ~( g* i7 s& R) m    setxy ( xcor-of turtle b + x )
- }6 v; }! n; t3 `) B) A( v          ( ycor-of turtle b + y )
, i" O' H2 o9 G9 Xif (remainder who 5 = 2) [set c who
9 l4 ~) q1 ?+ n1 N! C5 S                          set x ( 0 - Wid / 2 )
7 _' j2 i) x9 Z                          set y (0 - Dep / 2 )  ]4 C  E' P6 v+ l3 S( s
                          set d int (c / 5) * 5
. D( _8 V6 u! p4 b6 n8 D6 k/ E* ^* t   setxy   ( xcor-of turtle d + x )
% z5 n( v( _- B' G           (ycor-of turtle d + y )
: M" G) a+ K. w5 a2 i# j  t          8 {+ G, `) N/ Y8 P7 a
            / t8 O8 O! T! o- z# b( }* Y
if (remainder who 5 = 3) [set k who2 u  q9 ?: t$ r" ~
                          set x( Wid / 2)  * S/ a2 n, `: D3 l1 C/ {, L
                          set y (0 - Dep / 2 ) ]
7 H5 ]9 q; k* S3 M                          set f int (k / 5) * 5
+ a7 x% _8 D/ F& \  setxy   ( xcor-of turtle f + x )
% t4 M! v3 A' n, m/ m6 o5 R  B           (ycor-of turtle f + y )
4 r+ F/ I! i; T6 y; I/ W           
3 T! N- K! o3 C) i5 R           
4 i" V9 \6 v; }if (remainder who 5 = 4) [set g who
3 X+ _* D' P5 R$ ?2 M) j                          set x Wid / 2
/ d! P# Q3 q. ^0 C                          set y  Dep / 2 ], ]! x  r% g3 I" S3 @
                          set h  int (g / 5) * 5
/ |, x& b5 w" t: R) B, O+ G3 Z3 A  setxy   ( xcor-of turtle h + x )
% K0 n# ]2 n; Z) w           (ycor-of turtle h + y )
3 e" H' f" J2 R7 T' x                            \/ t0 B5 X2 }" q" b- F0 w8 O2 Q
                          2 D6 d' e, A- R3 D+ R3 v
                          ]- h. Q4 N! }  J6 a$ h: k6 A  T
end. a9 [2 F+ W5 a5 D
  l1 @: v4 S; @. K: B
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
( s( |- w9 K- v( G5 `; G) H应该是$ s" O1 t) n! m, k3 K5 X( N1 M
ask turtles [
' X; y; b4 v$ J! h6 Hif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 6 c/ L8 O3 q( j6 [
                          set y  Dep / 2 $ d+ E$ c# V5 d/ w  l8 s# q$ J
           set b  int (who / 5) * 5
5 K9 Y0 C! U$ c8 t( o& T( m" f    setxy ( xcor-of turtle b + x )* S9 l5 y$ y  P1 r+ N/ E5 W1 S! l
          ( ycor-of turtle b + y )]]+ d* ]" `9 \! E7 s" Z
end# Y- H4 h, J0 }& D% h
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-22 20:31 , Processed in 0.016014 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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