设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6894|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
$ v' [0 ~. ^1 E1 J+ Q6 X3 q' ]3 Q) O9 c* @  y  t
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。; ^+ ^% m9 E& L: F5 D

- m( I; P3 \" c8 A# z9 rturtles-own [a b c d k f g h
4 k4 V: d$ F4 A- Z  x y     ;; these are the leaf-turtle's offsets relative to center-turtle : v' _3 u) h, i1 U6 n
]$ N( y& B2 Q- ~; c7 J$ \
to new9 `. [3 m! \# l4 P
  ca
. Z$ d  W; y) B+ v% ~  crt 5 * num_of_building
" ]5 l- r) N0 v8 ]3 |' w  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
  e3 L0 s/ c- H: A6 A; D. F  scatter     ;;keep center-turtle random positions
/ w% Y1 o! E3 h5 i- V8 I  unit_plan   ;;make up the building plan
% \2 _, r' x$ f0 Gend
9 Q, {# X2 r: }. p9 o' wto scatter
4 G- e( U* ~% X' \9 V1 Gask turtles with [remainder who 5 = 0]
# Y! }& f+ z4 ], x' l. K[0 k6 a7 G  D' {  z2 O
set xcor xcor - 6 + random-float 15
& C) J! A. O/ @8 j" h1 A  I5 ~set ycor ycor - 6 + random-float 155 R! T0 A. ]2 X  b/ ~4 S% k4 v1 f3 i
]
5 o" [- x$ W# {; x* M3 Xend, u$ q. s/ h; n8 P$ A" @
to unit_plan ! G1 e5 `+ k- B
ask turtles [0 b- j% ~- Q9 o/ ~8 C2 a) C
if (remainder who 5 = 1) [set a who 6 m; k% U/ {1 G+ E: z7 A/ m7 z8 {
                          set x ( 0 - Wid / 2 )
# ~, P! }* ?( `8 Y7 O                          set y  Dep / 2 ]
& e  q( j/ l. F3 @3 |           set b  int (a / 5) * 5; o/ T( p/ t2 x) \( r5 _
    setxy ( xcor-of turtle b + x )
; E/ @& m( L3 W          ( ycor-of turtle b + y )
6 D- {/ \6 y# N$ l+ Xif (remainder who 5 = 2) [set c who
$ M5 d$ @& N0 N                          set x ( 0 - Wid / 2 )
; M" B5 u4 F, D# z                          set y (0 - Dep / 2 )  ]
! T% G9 h/ z% ?                          set d int (c / 5) * 5
9 B: k, X1 [' P+ h$ Y( n* \; w' Q) g   setxy   ( xcor-of turtle d + x )$ J: r7 F, d; V/ G
           (ycor-of turtle d + y )
. f' w* L: W5 o         
6 g' X, C& [" a" ~& }. v1 p8 O              K# I! y; U+ j* \6 Q8 c6 J& T8 L# ]  r
if (remainder who 5 = 3) [set k who
# p) p, m+ M  }5 i) D; c                          set x( Wid / 2)  . q( d( z5 F$ R3 {
                          set y (0 - Dep / 2 ) ]
) y9 P* w- A. T8 O  F$ v3 d; b  Q                          set f int (k / 5) * 5
: a8 s1 q; t. N4 p" V/ M  setxy   ( xcor-of turtle f + x )
2 r% S3 i2 a6 ~$ `           (ycor-of turtle f + y )
0 u" l; u; f3 C# J/ c           8 i' |! I) V6 y6 i; U/ u9 ]( }
           ) K0 W# D7 X% [4 j( [- m6 A
if (remainder who 5 = 4) [set g who/ s" A. P4 [( \/ n: x8 V: r% x
                          set x Wid / 2 3 R; R9 c, ^% y) l
                          set y  Dep / 2 ]
- @+ P, W; ^+ P- ^+ R" U* }                          set h  int (g / 5) * 5
" h0 C2 t' Q" K) g* E: d$ h+ a  setxy   ( xcor-of turtle h + x )9 ]5 u3 h, w4 H6 A1 _! Z
           (ycor-of turtle h + y )
+ B) Z0 i! ~0 T                          ; C0 d& M  z- Z
                          
+ |4 h1 H2 o6 w, @                          ]6 m4 |  A  j# e. ]$ \
end
; M' `( r2 V/ ]+ y3 p9 w
9 b' q5 v" ^* I! L[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,2 U* h6 A( \4 }- y3 T# j
应该是3 a, S4 l2 z" Z8 D. w) n
ask turtles [' l1 K$ ~, \! [# o
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 3 J6 g9 I. k# D" A1 Y, r4 _
                          set y  Dep / 2 4 k8 v6 f0 }7 W+ Z4 v
           set b  int (who / 5) * 5
$ y- y$ u8 J# n0 s- [2 u    setxy ( xcor-of turtle b + x )( A. P' `$ J# i1 {- O+ R
          ( ycor-of turtle b + y )]]6 D+ N, a* L0 E9 O$ x
end! R7 ~# @8 k( W# n
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-7 01:06 , Processed in 0.019082 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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