设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7610|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
  b* D& a6 ~* r! Y9 l2 Q$ w  q1 i/ p4 N) _  X/ I
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。+ p6 ]1 m  v$ K0 u4 p( R  d/ b
; a6 w, O% x  W+ k5 z0 ^
turtles-own [a b c d k f g h# `% y  X% w/ G6 l
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
4 q8 X/ d  I9 b" o; H' \]
) n$ N" \! V1 h( m. N: W$ E- f  Zto new, B6 A$ b/ h2 f2 }: `% r
  ca
, A6 s( d4 L. z& k& H) F# S  crt 5 * num_of_building
* W( O( T4 t- o+ |$ G0 e& ~, G% v  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]: w8 K5 x. }' y
  scatter     ;;keep center-turtle random positions . c; g! [2 U. N+ A
  unit_plan   ;;make up the building plan
- [8 [  N" w6 oend  |! g8 ~4 X, F9 w$ r6 w
to scatter, _" \9 U3 x, E1 {$ a$ N! B& A% J
ask turtles with [remainder who 5 = 0]
7 K4 a! R: r4 v[
$ O- T) L% g3 x0 R% _set xcor xcor - 6 + random-float 157 D. R- o  I1 {9 K- x
set ycor ycor - 6 + random-float 15- x; M% p- l( b, ?! a+ H! }
]6 F( Z0 J" Y) B- b8 ?
end& N. r# j. J0 ^+ x# ^7 i
to unit_plan 6 B. }+ h3 d9 t" E; f5 W
ask turtles [
. k' M& H3 H8 G. S6 kif (remainder who 5 = 1) [set a who 0 Q* k6 R! F8 E8 V0 z
                          set x ( 0 - Wid / 2 ) . U/ C0 \. Y; F4 U% [
                          set y  Dep / 2 ]( n+ C  r* a% J' _* s7 _# y" D
           set b  int (a / 5) * 59 M9 h' w( m8 o* k8 M4 k
    setxy ( xcor-of turtle b + x )! N* e  }" {" M, ^1 v
          ( ycor-of turtle b + y )
6 ^( ^  G) {" X- B# J7 z$ t' hif (remainder who 5 = 2) [set c who6 G1 |  U4 H& {5 X: t& u* F: |$ @8 a
                          set x ( 0 - Wid / 2 )
/ z- i- p3 \8 [5 \                          set y (0 - Dep / 2 )  ]; \7 N/ X! A0 D! }& k, C
                          set d int (c / 5) * 5
1 T$ M4 v+ \' H5 Q   setxy   ( xcor-of turtle d + x )1 k5 m$ q% ^& M
           (ycor-of turtle d + y )
8 }2 H7 P. L  C5 ]( O          & y3 L$ R, F5 V8 l; L' s8 n! x; ]
            
3 r7 ?, X# ]/ vif (remainder who 5 = 3) [set k who
8 U8 |& Q3 M+ M" M( E/ D5 r  S                          set x( Wid / 2)  2 S* I+ e8 ^1 W& C
                          set y (0 - Dep / 2 ) ]5 o5 [" O6 R) c4 |8 H( q) b
                          set f int (k / 5) * 5- U. d3 ]; I& Q  ]
  setxy   ( xcor-of turtle f + x )4 ?+ j4 G8 m5 i: x( @3 d& t' S
           (ycor-of turtle f + y )
/ c3 R& G4 P* J, c. k: ]& a& z           
* S! B+ e- x3 P$ ?; S0 T5 M8 `           ) [, M" [$ K  H6 R0 T2 x
if (remainder who 5 = 4) [set g who
" l/ K$ `% u7 J2 _& c                          set x Wid / 2 / ]& R  p3 X6 g0 \8 t/ Y
                          set y  Dep / 2 ]7 y  k$ i6 E# i
                          set h  int (g / 5) * 5
; g* ?2 d( g0 @( }) L  setxy   ( xcor-of turtle h + x )
( G# D5 N% q' m           (ycor-of turtle h + y )
" Q9 Z9 S( N7 k2 t1 X                          8 R, R9 w" q; @' c  P3 Q) Q
                          . l; k8 o2 n; Y6 D7 i
                          ]
5 B' {5 w0 X8 M" \( Yend: @6 P; R% L" R% O! Q) E

4 l" x, j0 T$ l/ r$ I" o4 a: {[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,% _3 I3 U. V; n! R/ o
应该是( P3 s7 f1 }1 A$ O( q
ask turtles [
4 Y. ?% ]8 S' e; Eif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
% Q& I# R. h% |0 l7 [* z7 f                          set y  Dep / 2 " B# t; S* n2 Y9 v" v
           set b  int (who / 5) * 5
! ^2 M: g3 x) W- Q# o    setxy ( xcor-of turtle b + x )
* m  |* i. ^7 C; @" D+ h          ( ycor-of turtle b + y )]]
% n0 R" F: ^6 J% [. b; [' fend
. _/ X3 r: D. e8 n9 g之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-4 22:02 , Processed in 0.015026 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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