设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6956|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
5 \3 \! c8 a9 n. k" I2 Q# t9 l& |* Z8 R% ?$ W2 p
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
4 D3 H0 j" Z# u% `' ]
  d1 x; \8 \+ J+ Wturtles-own [a b c d k f g h
7 j: R+ u# h) `# M) a: S  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ; J0 k! s7 V. l# g0 S8 s1 X+ o7 [
]
6 t# h+ Y. H* q$ a) Z  Q! f7 B0 Lto new1 i% i8 u6 e+ R
  ca
( J7 y: F* ?) z+ G# Q3 _; m  crt 5 * num_of_building$ Z+ o' w& f6 c9 B0 }
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. T2 T, S$ u% w' T# I: ^5 ?
  scatter     ;;keep center-turtle random positions
. t1 y. I" J0 F7 w  unit_plan   ;;make up the building plan6 l6 n8 N4 d8 M% Y% q& z. ]4 y
end3 i. D  @% c/ q4 r
to scatter
) B; ?) O& V8 d$ ~& p6 Task turtles with [remainder who 5 = 0]8 b3 F# j; ^. }2 Y0 G
[
/ s2 j. i* y& ?' O" S1 {set xcor xcor - 6 + random-float 15! \% b! v+ J* M- _5 ?, e6 U
set ycor ycor - 6 + random-float 15
! p. D: t3 h  R1 L]% ~' b! t4 G. L$ q/ Q
end& D7 K2 E- L8 B" k' ~* Q: i# ]! O
to unit_plan ' ], A* B( Z; C$ @/ r" }* E
ask turtles [
$ o: m# X3 q$ P& a; f' @' o4 Jif (remainder who 5 = 1) [set a who
; k( l) w6 M6 Y% S6 u0 D4 @                          set x ( 0 - Wid / 2 ) - M0 R8 v& h9 r
                          set y  Dep / 2 ]" H' o! v/ U+ C) p; d3 i/ y
           set b  int (a / 5) * 5) z0 x7 I* `/ w" M; ~5 V% U1 _
    setxy ( xcor-of turtle b + x ). T7 q- A1 X% R4 V# d! J: P
          ( ycor-of turtle b + y )
1 u& x9 @: T& o- |" I( \if (remainder who 5 = 2) [set c who1 ~# G7 L) A8 y% @0 L4 V- m7 {
                          set x ( 0 - Wid / 2 )
& f9 k$ |7 h# Z( C' X. ~6 o* O* D% \                          set y (0 - Dep / 2 )  ]
# w$ A0 M$ A- O( T# D                          set d int (c / 5) * 5/ h  e/ k5 t' b
   setxy   ( xcor-of turtle d + x )1 Q$ y- }( G7 ^; @7 x: w; X
           (ycor-of turtle d + y ) , Q/ Q' |" F+ O3 U7 @
         
; \8 D! c; S2 a, h9 v  s% _1 v            
# G! [# M( ~9 @$ V8 i) ]if (remainder who 5 = 3) [set k who7 k. }3 t" ^- a, C7 u' F' E
                          set x( Wid / 2)  : n  x. j' U% K4 b; ~0 l! N
                          set y (0 - Dep / 2 ) ]
  y  f. c" M; c- Q) `- Y3 a                          set f int (k / 5) * 5
# u/ F  j) R$ \* S9 u  setxy   ( xcor-of turtle f + x )7 r9 m+ w# x* Y; h
           (ycor-of turtle f + y )
- _8 K$ G. e! O  o4 z           
0 O" d  x  y2 C8 b           
( Z  z' o) V6 B1 }, Iif (remainder who 5 = 4) [set g who
5 `; o) O) J9 u$ [                          set x Wid / 2 $ r0 L/ }% j# z& y# R
                          set y  Dep / 2 ]
* }' T9 b( r8 \- W0 u8 ~  Q                          set h  int (g / 5) * 5
1 f3 E) G' F5 l6 e" Q  setxy   ( xcor-of turtle h + x ): {: ?# v, H) G7 u  a3 n; R2 w' Y
           (ycor-of turtle h + y )
- }2 `; y5 m  {9 o                          
2 C+ A. e# Y- H" a* I+ S                          
* b0 K- e! G4 `: d, j: L6 L2 `                          ]
) H+ |# A6 a# {, ]9 Pend4 d( N  }1 k! y3 \
5 Q" L: \' _: P% h4 p. K
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,/ Y5 C' [, A% {; X* t/ e4 f; G
应该是0 J/ f8 I0 N8 N6 X* k2 C4 q
ask turtles [% q) ]" |& b! D0 E: m- }2 \
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 4 D$ L- v% l1 f  m( G7 D( F+ n) ]
                          set y  Dep / 2 % D' H: w9 O/ d! ?- P
           set b  int (who / 5) * 5
. d6 ?" j% T) s: H    setxy ( xcor-of turtle b + x )1 \/ l( \7 N1 l
          ( ycor-of turtle b + y )]]
4 ]- e0 V, a2 X. i- eend
: E& j, e) E3 J& J8 O$ N4 n4 |之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-14 08:01 , Processed in 0.021409 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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