设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4131|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
0 x8 m/ a# X8 V
7 Q0 u& m2 S. x6 J/ T' T* _8 ~! }但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
0 y% G* [3 s+ v8 v% K% U) Y# j
; p/ K7 n# `( m; |4 Zturtles-own [a b c d k f g h
  @, ?+ x; P0 s2 C) G  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 a2 u9 Y2 {' I0 R( N]- g9 D! @9 n( l' `
to new
' I- z/ y' ~4 q* \- p6 X" v  ca
7 w3 F. a& [5 ^; d# P( H% ~  crt 5 * num_of_building
- J+ f7 b, J" j* g$ z  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 X6 u- H+ ^+ s& y) F$ T, M  scatter     ;;keep center-turtle random positions
  V- R+ P/ J( a8 |* e; J, n6 \  unit_plan   ;;make up the building plan
7 V0 ~% g, ^( ]/ ~* f  c$ tend' z/ C5 ]" v1 N6 I0 V
to scatter7 ^4 r) \2 B( M# n" {7 J
ask turtles with [remainder who 5 = 0]7 `  c, T- G$ u$ U8 @: y  T) B2 V) T
[
. b9 F* ^0 A7 w3 @) K* \' sset xcor xcor - 6 + random-float 158 \; j$ y1 v% f" T0 W! w
set ycor ycor - 6 + random-float 15" C  @: ^6 T* N2 Z5 W& Q4 l8 W5 U
]
% M4 I; X9 Z/ _, L% }5 ^end
2 Z# f! z( G: g4 u& L' E& e) sto unit_plan + l4 O" ]3 ?5 H5 I, v+ X5 w
ask turtles [
+ {% w. ^) s7 l4 O8 Wif (remainder who 5 = 1) [set a who
9 a+ `# ?! Q" J9 s3 B; r                          set x ( 0 - Wid / 2 )
. \( L' t9 s! n" W& O                          set y  Dep / 2 ]
2 z  g( s1 O* R6 Q# [' s           set b  int (a / 5) * 5) U" ]+ j3 k/ v" d! }
    setxy ( xcor-of turtle b + x )8 X3 c) s+ o1 ]: x+ _* u! h) `
          ( ycor-of turtle b + y )9 g+ z+ n7 u  C1 j) d/ k
if (remainder who 5 = 2) [set c who
- I3 A: u1 q; S' _% e6 x                          set x ( 0 - Wid / 2 ) ' Q) G5 @* m7 c2 E$ c% Z
                          set y (0 - Dep / 2 )  ]
4 }' @7 u$ |4 B1 y                          set d int (c / 5) * 5
( V& w8 h* Q8 E: n, ]1 n   setxy   ( xcor-of turtle d + x )5 p9 [( F8 d" o' ~# s: J
           (ycor-of turtle d + y ) + t+ |6 T2 C, Z
         
( `$ i! W0 E8 E( ^& }8 b. X            
& M5 K/ L3 }. iif (remainder who 5 = 3) [set k who
) {5 F& J5 j/ p3 z                          set x( Wid / 2)  ( O8 r8 q+ C7 m6 I" \. D  u
                          set y (0 - Dep / 2 ) ]1 _+ S. b& R; y2 y' z' n
                          set f int (k / 5) * 57 x8 K# k  v1 k$ F
  setxy   ( xcor-of turtle f + x )% z% l* K1 n# c0 [, O
           (ycor-of turtle f + y )
3 V4 G' A# y4 c& d$ W  C' m           ; I8 b9 a' Q  |  h
           
9 d1 V1 A, w6 s  nif (remainder who 5 = 4) [set g who4 Q1 z  ^4 t6 b* \0 u: r
                          set x Wid / 2
8 @0 l' l$ U  N( L) |) b                          set y  Dep / 2 ]
8 q2 H# h  P( p% J                          set h  int (g / 5) * 5+ [' v- p: G$ C% }# Y8 _: b* w
  setxy   ( xcor-of turtle h + x )
1 j- n8 ~, U1 @, ?4 Z; `( [0 w           (ycor-of turtle h + y ) ' V$ i3 U% X! A) e: D# T3 o8 g
                          
% c. R' V4 Z# w1 g( l7 l8 H) u                          # `$ x! e( l, i; [+ `  j
                          ], I( I- q) o" M6 }1 x" u3 H. ~" y5 ]8 s
end' @& A4 @$ U- B( U5 L7 |# C# B3 F

6 f! V5 z; r7 a. _[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
0 W; O# y% z, W5 t应该是4 a) A1 s1 I: N/ t4 H* i* R
ask turtles [
" ], f7 \; Q3 ?/ p  Oif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
# I4 r! w/ e# J8 \                          set y  Dep / 2
. x4 w  V( l! J4 Q) y0 \$ o           set b  int (who / 5) * 5; d9 A6 d. w5 ]. S% l
    setxy ( xcor-of turtle b + x )
# P# S& l3 ?! X. ^: _' x+ s; x& ~          ( ycor-of turtle b + y )]]
; ?: o( }0 l+ m8 l0 [5 e1 n! cend
9 g; C7 W1 x/ g7 ?7 W之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 03:07 , Processed in 0.012506 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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