设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8179|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. u3 l! n) [( d6 b  r6 V% X6 p, u% W5 L& h1 h+ \
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
' z8 m# r3 X) ~) M0 S3 z: y  c, R% M1 r# v2 P
turtles-own [a b c d k f g h
. M& `- ]1 d" Q3 \  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
; D% ]9 z5 h+ I# I/ _: n]
5 B& ]" A  w$ m1 D1 B8 r6 `to new
2 F, k0 v# r5 N+ G* t5 [& L2 o  ca( V1 ^/ z; |! [. ?9 ^9 I% G7 E! [& U! Z
  crt 5 * num_of_building2 F# D) C/ j# Y2 i9 q% X
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' z# Q+ r6 a& g- l
  scatter     ;;keep center-turtle random positions
) l$ H1 S8 \9 @% f  unit_plan   ;;make up the building plan
1 @7 c' C; g- |+ m6 z' f" wend
8 A2 b& e6 G2 s: Nto scatter8 d  s5 |9 N* b5 d! ~
ask turtles with [remainder who 5 = 0]
9 d1 b/ Z7 k1 K: B7 _0 r  i, s- c[5 w1 ]9 n2 n, h' T
set xcor xcor - 6 + random-float 15
6 E1 b4 m" i# d; k4 U) s' ]7 hset ycor ycor - 6 + random-float 150 a" V/ t% I* D8 G1 Y- H' K) Q5 v. V- v
]- f$ e5 g, P0 m* A
end/ U. M7 [. ]- }+ \; W6 l  F0 V
to unit_plan , m2 `* x( }1 G, s6 M
ask turtles [% Y! p# m7 b) m
if (remainder who 5 = 1) [set a who + \) V# B( O- K: S" l( Y1 g
                          set x ( 0 - Wid / 2 ) + k) `. U6 n  l, B
                          set y  Dep / 2 ]
3 R. z% a6 Z) j8 W1 g. K* W; F3 ~0 a           set b  int (a / 5) * 5; M: s9 X8 d$ h; U' E
    setxy ( xcor-of turtle b + x )' n/ R. m0 X" |5 k3 ]
          ( ycor-of turtle b + y )# p/ e1 l" G- v& ]
if (remainder who 5 = 2) [set c who& I! m2 c/ }' E# S$ w( H  w. d, O
                          set x ( 0 - Wid / 2 ) 9 N' z; F3 q4 \' N- W$ w: p
                          set y (0 - Dep / 2 )  ]( i9 |/ n" P3 L
                          set d int (c / 5) * 5# v+ t* W9 M# a6 N. \4 C2 W6 i
   setxy   ( xcor-of turtle d + x )
( }7 s! f- ?' i" ^! v! I' b  X% {' T( l           (ycor-of turtle d + y ) 8 r. U9 Z$ E4 \( U
         
0 q* k: _" r" g! ]- k) p+ ~            
6 o( i: W: d' H: ]1 P: V4 Dif (remainder who 5 = 3) [set k who
: O, ]% i$ g7 L( _! F                          set x( Wid / 2)  , I  F2 z; s# F7 q! q2 f: c
                          set y (0 - Dep / 2 ) ]
9 }+ |; z0 b5 v' b% u                          set f int (k / 5) * 58 H& F1 O7 u& ?* y% `5 m
  setxy   ( xcor-of turtle f + x )' B! w! @6 ?- v; Y
           (ycor-of turtle f + y )
9 E6 d' _9 b) N           
( V3 N6 X% n6 b- f           
  G4 x6 @' D2 S* yif (remainder who 5 = 4) [set g who
" j8 H+ q, v5 l& r. b                          set x Wid / 2
* |+ ]' S& F" M. ]% n/ u3 z                          set y  Dep / 2 ]
6 B' j1 g7 j' G                          set h  int (g / 5) * 5
. v1 g0 w0 Q5 N9 U+ c  D  setxy   ( xcor-of turtle h + x )
7 M6 G7 K- f* \0 J           (ycor-of turtle h + y )
! ]4 ~% q- l! e/ ?+ n                          . v1 o! Q7 ]' o# o0 ^4 m; L" V
                          
5 F& y9 X. }3 J* M) P: q1 R* D" w                          ]; z& H5 H2 }1 w9 F2 z3 P
end
& L0 E% Z2 q& I/ Q+ u, y8 h: }/ g4 r) F* [  L$ O/ g: C2 t9 `6 E
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,1 v4 v9 `$ M4 H( K
应该是. W% Q/ E1 A* T9 B( D2 _
ask turtles [  S) X, D5 ]! U6 Z+ y7 S8 k
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 2 P' g, H, w9 r9 J! S
                          set y  Dep / 2 7 V; g' J& o8 K8 v3 |
           set b  int (who / 5) * 57 m* k6 s' G* f/ A+ v# \; O0 d
    setxy ( xcor-of turtle b + x )  H+ f1 y1 `( M0 q
          ( ycor-of turtle b + y )]]
3 ^& u4 Q' I$ pend
* l6 H- g& s' |6 O; o之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-15 06:12 , Processed in 0.021034 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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