设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7677|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
! C+ M5 H8 Z+ F! o& r0 i) b1 |4 [/ z" w! j
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% t; V  h! k2 Q' |7 ^
* T/ t; m' B; M7 x% }' E5 R; J" sturtles-own [a b c d k f g h
! m3 j/ K0 p, `! T, M2 e0 R3 d  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
4 n- f2 V8 p3 S$ z9 S; A$ M]
% }: S# ?  X9 D$ Z% V5 K  Vto new
3 z+ ~3 _' U* H! m) _0 S- o  ca3 c  I2 z& i- |- K: S5 O9 _
  crt 5 * num_of_building
: p5 S6 m6 J" i' s% i  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
- Q( N* E1 t1 A" n# n2 B- h  scatter     ;;keep center-turtle random positions
" V& t+ ?" L5 ]' C$ ^5 \  unit_plan   ;;make up the building plan
% D  B/ {( f- v& mend8 q7 Y4 L0 n$ t2 c
to scatter. L4 b$ s# D% p$ I
ask turtles with [remainder who 5 = 0]
+ T6 b( I. X4 s+ d$ g9 u3 @[
6 e' y" e/ k% q& {( O0 [# D/ p$ R$ yset xcor xcor - 6 + random-float 15
+ s, H' |1 ^. Oset ycor ycor - 6 + random-float 15
% c8 c* s% M. x* [, K) h]
( @  D! w; k# J* I; C' F' Oend* e( F/ Z3 [* H( h2 O9 D
to unit_plan 3 t4 J7 v' t8 B! y
ask turtles [
- @" v8 {5 K/ q# Mif (remainder who 5 = 1) [set a who
4 a0 S0 P: k7 Y4 k/ i- \- L0 _/ b                          set x ( 0 - Wid / 2 ) & l% o1 s4 X* t) M; N8 ~
                          set y  Dep / 2 ]
: C% {. l/ U% y8 V! F' b           set b  int (a / 5) * 52 F5 s7 @' o0 A; V& ]
    setxy ( xcor-of turtle b + x )( x* Q+ ?6 ^3 l8 g2 ~: `
          ( ycor-of turtle b + y )
* j8 x$ _8 c( j- Tif (remainder who 5 = 2) [set c who
/ q5 c8 Y4 }5 X! G" q# i                          set x ( 0 - Wid / 2 ) 0 l) y- U+ j) S7 w8 t/ y
                          set y (0 - Dep / 2 )  ]
3 @' s1 r. Y* O! K0 Z                          set d int (c / 5) * 5
! O  _: N2 K9 e$ v   setxy   ( xcor-of turtle d + x )+ E  _' n' X9 _) W+ }% L4 i- P! I
           (ycor-of turtle d + y )
/ v% Q$ O* @, x! s( |         
9 B9 Z0 V* s. z* }4 B            2 d& V8 R8 L  ~* D) |) \, @1 A
if (remainder who 5 = 3) [set k who
. }  A3 r9 d3 L                          set x( Wid / 2)  
3 z9 `! x1 c! m/ e% v8 E6 M                          set y (0 - Dep / 2 ) ]  Q+ E, q& H& Z
                          set f int (k / 5) * 50 n/ r2 o- k: \/ r) P
  setxy   ( xcor-of turtle f + x )
$ O& J/ o$ }& ^           (ycor-of turtle f + y ) 8 K$ W/ h; W: X4 b, x8 g
           
0 _$ T6 F1 A$ {0 o, M% T           2 @- l; [; H% Z& F5 T2 ~
if (remainder who 5 = 4) [set g who
! ~; O6 Q# J% X( E& k) ~                          set x Wid / 2 # N- C* ~; }6 P) Y2 h1 g
                          set y  Dep / 2 ]
% H0 K; R! H$ v6 e                          set h  int (g / 5) * 5
8 t9 j$ H+ f0 p0 w& e7 t  setxy   ( xcor-of turtle h + x ); N& B0 k4 q& |2 S2 F" D
           (ycor-of turtle h + y ) 5 B7 m3 l- C1 s6 |4 q
                          
$ r7 P2 c' ?. h+ G, N# a                          
% l! D2 Y3 D' Q                          ]+ `( r: `) V: `+ W% P& q1 ^
end9 u+ g6 k, b- F# Z: p# M3 _. I( x- o
# M3 o5 U8 i0 x: k* ^5 f
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
% ]1 |- R; Y6 U9 h- y0 o) E应该是) Y7 X2 M, Y- J/ M
ask turtles [! a4 I" p& [1 a# i
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
/ W7 E& t& v4 q( y6 h( z6 r: H3 b                          set y  Dep / 2
2 O: q; Y6 R$ x: Y- s( [0 [           set b  int (who / 5) * 54 [2 ]& o; Z- z! A8 F$ \
    setxy ( xcor-of turtle b + x )5 O2 Y8 {$ F  i% @
          ( ycor-of turtle b + y )]]
1 [: _0 X* p4 s, Y% E; ?* `( e% Lend: t7 {. ]0 T# e- g
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-13 18:08 , Processed in 0.019637 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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