设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5872|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。# A4 e! `. c: K+ U7 L, y# K3 V6 J% U: k
! F/ F, o& R! d; M! X/ Q+ J% j2 V
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
, m3 {, j7 E# K  V/ i: K  r/ Z3 N" F# X/ ^" ^* z
turtles-own [a b c d k f g h( y$ r5 x/ ~0 j3 i
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ( e& s' Z. t4 _
]
* ~) _/ y, g% q2 \, ]4 \- bto new, v$ p% ?( d3 b3 x7 i% z
  ca
. k. ]1 I" F  w' F1 ?; k  crt 5 * num_of_building' V. K; P- E3 l% F
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]* |9 h1 c" Z7 \5 t& A
  scatter     ;;keep center-turtle random positions
7 L  }4 W) i& S  unit_plan   ;;make up the building plan+ o" _& `3 w' G5 r
end1 O/ _/ T: ^! _6 y
to scatter
$ i, Z# p# A% o" S$ m1 }ask turtles with [remainder who 5 = 0]" {. x( b! W! q' Y$ q: I0 k6 F
[( X$ Z% r8 u9 y8 l8 o8 D
set xcor xcor - 6 + random-float 15
; ]* v1 |4 \3 sset ycor ycor - 6 + random-float 15+ r7 R$ f  i5 u6 c5 A2 w
]) a4 _6 n; z% y; s
end/ j  G8 z2 V9 N6 x5 u2 e9 p; D. R0 L
to unit_plan + S% d6 `/ l" I4 ?) L/ G. `
ask turtles [
4 g, G5 T8 X& m& Z& K1 Gif (remainder who 5 = 1) [set a who
0 F; ?) S7 ~4 a  U                          set x ( 0 - Wid / 2 )
* _7 A5 A) ?3 _  M: ~                          set y  Dep / 2 ]
5 u. N2 E- F" s! G* h3 d# @; c           set b  int (a / 5) * 5
1 g$ Y1 \& f% c/ \2 f4 M! @1 E    setxy ( xcor-of turtle b + x )& n5 K$ [  O  h) V. p
          ( ycor-of turtle b + y )
( h! G" S9 F; ]/ M" o9 \* P0 Y6 a: rif (remainder who 5 = 2) [set c who( A6 O9 @9 R( S7 a9 Q% n
                          set x ( 0 - Wid / 2 )
( Q5 \# \; R4 I: f: e                          set y (0 - Dep / 2 )  ]
  \* e' @7 C% C5 b+ K                          set d int (c / 5) * 5
5 R* G1 o( e, g1 h4 @7 t" r   setxy   ( xcor-of turtle d + x )
# m- z' p+ j/ c$ \9 ?# u           (ycor-of turtle d + y )
2 e) J  E4 L' G0 S          & O7 [- Q9 y9 n3 S* ?% T
            " F0 J5 W# }- N  B1 W* f  A. v
if (remainder who 5 = 3) [set k who- x, e- T' `% H& h6 q
                          set x( Wid / 2)  
' _  ~7 O: e- `( o% H                          set y (0 - Dep / 2 ) ]' C5 E4 W& S) J7 [0 m' K. j
                          set f int (k / 5) * 5" A7 e. W3 X) k& x* P7 O$ A
  setxy   ( xcor-of turtle f + x )! |! G) g! Y- @& P; C/ ?5 s# S; A  l
           (ycor-of turtle f + y ) & ^! Z1 c* S8 z- S: \: h
           
/ i9 X0 u: F, w( z           
# A3 o0 t, E) qif (remainder who 5 = 4) [set g who
: x6 W. H1 @( D' m* v0 J                          set x Wid / 2
  W2 l' T3 g9 |6 C( w                          set y  Dep / 2 ]3 n# E1 |8 v; v, L7 W3 T6 }  }
                          set h  int (g / 5) * 5
: S3 `3 S) V) W8 _# U  O  setxy   ( xcor-of turtle h + x ); Y, j! L) a: u" d- u! p# E1 ^/ @
           (ycor-of turtle h + y ) ! D* W* c; m$ ]! f5 ?0 a
                          # j1 Y+ P1 k$ w
                          
- U6 x- l* E3 u7 ~# z# l' Z" o                          ]3 j! b0 {7 w' a' |* Z8 [0 d2 R
end- k# D$ v, Q- h8 h1 j
% u5 j$ [  {9 H, m0 X9 a
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,1 a3 t! F6 B+ y# q. T
应该是
) t* h! E9 U; E3 p' c% Nask turtles [5 M# B8 }5 U0 c2 b+ |
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 q" B: c$ p( W& _1 c, e+ D
                          set y  Dep / 2   D$ c4 c7 H- \) Y# K
           set b  int (who / 5) * 5
! S, P" D8 Q; W1 p, V' _. }    setxy ( xcor-of turtle b + x )  N; {- P5 f( g$ U
          ( ycor-of turtle b + y )]]
: o  n% }7 S3 G8 a" Zend: `' `: [* Q" S" Q/ V/ e7 s
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-26 09:00 , Processed in 0.014198 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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