设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7392|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。( q" m; U0 C5 }, Q

. J6 \- R5 \% _9 g' U+ U4 K& s; n但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
8 G& ~& n3 o: C& C. h2 w# c4 Z& l
% A3 N1 p0 y! v' @turtles-own [a b c d k f g h
  \& d( ?# w8 W* ~2 ?  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
& Q9 J$ C% U1 ]/ P' ]+ N]% l. N4 ]6 p" b9 i+ x
to new/ X" [0 u/ T8 A  [& w9 b
  ca
) v" p/ H( u5 ?4 S* W' D% B# w' K6 A0 H  crt 5 * num_of_building5 G& i2 e! T6 i' o+ l
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]) y3 o  v( |- N/ f8 L" ?
  scatter     ;;keep center-turtle random positions
3 x6 r$ i5 v" \# O/ _9 q* G6 J  unit_plan   ;;make up the building plan$ Q  [/ e7 h. @! x
end6 a1 y2 w8 c* }3 j- N' d. A% J
to scatter$ R( L) {  Z6 N3 `
ask turtles with [remainder who 5 = 0]
; c, i9 |' K& V" u; b3 s& k! l& M[
0 ~# s% m& Y, R( {# ~set xcor xcor - 6 + random-float 15
, _1 f8 D2 H' i! a' F4 R$ {' Mset ycor ycor - 6 + random-float 155 V/ |9 [/ \( O0 q
]
1 m' R4 F0 @, W* a9 m- ?* C' Lend
0 r9 ?" G# Q  z- y& _to unit_plan
8 f( `- Q7 S- Z3 g/ a( Y! k1 ?) gask turtles [
2 ^1 R: f% s' c! J) qif (remainder who 5 = 1) [set a who ! |4 F9 g# T6 ?% F1 f
                          set x ( 0 - Wid / 2 ) 7 v$ W2 q2 `7 Y6 Q4 J! I
                          set y  Dep / 2 ]
! ?, W! v/ e+ R; T5 R6 Y' o: u           set b  int (a / 5) * 5
* F8 W, v- s4 v! B    setxy ( xcor-of turtle b + x )
4 }/ j8 I6 ], C- A          ( ycor-of turtle b + y )
1 Z6 }; x  N" E/ b7 zif (remainder who 5 = 2) [set c who
9 E7 o) j. b5 G  m/ E. a. g: h                          set x ( 0 - Wid / 2 ) . G+ ^/ B; x* J3 B" Q
                          set y (0 - Dep / 2 )  ]
3 i/ a- J9 \) f9 `# F                          set d int (c / 5) * 5
6 Q' }. U. g3 Y$ U! c  M4 E   setxy   ( xcor-of turtle d + x )
2 B$ T. a% o+ N0 D# H4 o2 @           (ycor-of turtle d + y ) % c9 z* I7 S/ a7 k
          : C. W9 X, @3 s% u6 d
            : a. _( Q- D7 ^# z5 H6 G; z( e
if (remainder who 5 = 3) [set k who
- o( M+ j. ^! b                          set x( Wid / 2)  5 y; D8 D9 Q$ F* `
                          set y (0 - Dep / 2 ) ]
8 m/ A' _- ?; W                          set f int (k / 5) * 5
! ~1 ]2 i/ _3 m7 z5 B  setxy   ( xcor-of turtle f + x )
0 j; M/ q: M& ?7 z8 G/ M           (ycor-of turtle f + y )
0 m, Z& d# p+ `           * _4 s5 {& G) f" u; t
           9 p- f  A4 S1 Y* g6 ]+ A
if (remainder who 5 = 4) [set g who; A' h: @/ U2 [4 m* J5 n! S
                          set x Wid / 2 ! J  P. c( u" O5 [2 w0 N
                          set y  Dep / 2 ]
) q6 H% U6 d; ~                          set h  int (g / 5) * 5
! i& Q8 G: z" H" R* T/ Q  setxy   ( xcor-of turtle h + x )# v+ V/ Q5 u% P  N% `3 }
           (ycor-of turtle h + y ) , e' \0 R, `' ]: f7 F* E6 N
                          
) n3 I) G" E$ [" W% i8 W: J1 j                          * a3 c* N9 A, ^. H. F$ y5 B) K6 J
                          ]
; s" g* y: S6 A- E. Lend
$ E4 s9 q( j5 k/ z0 e
% D9 K( G2 l( H* J) E) {[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* _% p! o* L  x/ X" s: ^/ c
应该是7 \5 Y! F( M. a+ D6 x! N1 q
ask turtles [
( m# m* M/ ]0 m+ Mif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) , v0 f" a5 P5 `# H9 J
                          set y  Dep / 2 ; \% Z% p# l( R" [- e( e1 \
           set b  int (who / 5) * 51 m3 A2 ?; x0 B) [
    setxy ( xcor-of turtle b + x )
1 p0 |/ s9 Z0 W0 }/ q4 o, k          ( ycor-of turtle b + y )]]/ Q! t/ L$ `) e* h9 \6 @
end
. w. C4 r( T7 C, e4 Y之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-7 10:46 , Processed in 0.016986 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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