设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9141|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( B1 U, V( g) [+ e
- n( `) w) a( `7 f$ V但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
5 f2 V& |" Y3 U9 t: ~9 b% k5 E, S
turtles-own [a b c d k f g h9 y5 n( l! T7 \. w) J8 d4 |) d) I5 q
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 6 L9 P/ z6 M5 G% B' ~+ G" [
]' x1 N, g7 w" F" i% e
to new
8 n5 C6 Z' \! d2 A9 w3 h0 t  ca' [! `2 `, h0 T1 W- W. t
  crt 5 * num_of_building; |8 H5 j/ n: ^8 p4 K$ b. u2 X2 R' d" C
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 t: D$ S2 ^2 D; g  scatter     ;;keep center-turtle random positions
4 o: m* W& ~& a/ p  unit_plan   ;;make up the building plan
/ j" a7 ~$ D( g3 o: ?+ R- Z( Eend
- E) l! @4 I; ^3 R. Bto scatter
& f! j" P  Z, Q8 g  b! Mask turtles with [remainder who 5 = 0]9 \" m9 O% [# a0 ^
[/ [! J2 I! ~4 h& L1 Z. @
set xcor xcor - 6 + random-float 158 H+ T; w7 p( f% [
set ycor ycor - 6 + random-float 15
8 o# d7 q5 C, P3 r- o]$ t4 J7 b9 U+ J8 M3 y( ~% ~: _
end
6 U! Y4 A4 ~  ~' e) |8 x5 Lto unit_plan
( W- N5 Z9 a' Mask turtles [* Z% W) S  L, P- w
if (remainder who 5 = 1) [set a who
+ f2 ?9 V* {% g1 v# ^' L                          set x ( 0 - Wid / 2 ) 1 P( q$ f! F/ L1 l& S' V* D1 O
                          set y  Dep / 2 ]$ y! l& ]; J. E" [  F; p( @" |
           set b  int (a / 5) * 5- Q$ n) e# |$ C# l+ [: b2 i
    setxy ( xcor-of turtle b + x )# h4 P2 ?( ]6 ^/ Y& w* a
          ( ycor-of turtle b + y )2 j& T  P. M. n: j( e
if (remainder who 5 = 2) [set c who
! A. {% @) N: y. B. L3 i                          set x ( 0 - Wid / 2 ) + c9 Y* m  w- \# Y2 A9 {
                          set y (0 - Dep / 2 )  ]
5 w* O0 r3 A& r4 y+ g                          set d int (c / 5) * 56 t3 K  w2 S+ b3 Q
   setxy   ( xcor-of turtle d + x )
" W! l2 k2 z! b           (ycor-of turtle d + y )
  G9 h( ~" h0 s- ?/ o1 K& x         
$ E2 k5 f9 U% U, j. e: @4 d            
. P0 T2 o# H( q! u7 i  V8 ?' s1 Sif (remainder who 5 = 3) [set k who
2 p& [% ~- o7 d/ X- I6 n# j0 [: V                          set x( Wid / 2)  
) V( P: G6 r7 M. h/ v. R                          set y (0 - Dep / 2 ) ]  l! @0 N5 O" {: p, b% L  H9 S
                          set f int (k / 5) * 5
: K) t+ ^" p+ {  setxy   ( xcor-of turtle f + x )
* A( C+ y: z  r9 B           (ycor-of turtle f + y )
9 h2 C' [% y# c4 X2 t0 R+ r4 X           8 o: @& B6 {! k2 T
           
' c0 A" x& P& b. n  [3 D6 ]if (remainder who 5 = 4) [set g who
' @" w: l1 \: L8 @& Y  N; j                          set x Wid / 2 0 o8 F8 }! ~# ^6 `/ c5 ^" q
                          set y  Dep / 2 ]
2 S7 i& ?0 l! i* s9 s                          set h  int (g / 5) * 5
4 t/ v5 L3 g0 v& T, t* N  setxy   ( xcor-of turtle h + x )% {# I) T' I( w/ n) h& h3 U6 Q
           (ycor-of turtle h + y ) - p$ v/ w( J7 E2 ]( a  k, {6 S4 k
                          , j) J# |( e8 K4 s$ W7 Y( J7 h
                          & N: A# e$ S( t/ E
                          ]
+ k- a. g+ a" U3 ^end( \* h& h& f! L; h1 \

+ ]4 H/ L; b* s! x[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,3 F! S  C# D4 F8 }  ^8 `
应该是
. o9 N6 n% V9 lask turtles [
$ ]6 p7 N8 F4 m& G% eif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
+ }; P/ D; l9 H6 I+ _, a$ m5 B                          set y  Dep / 2 ) L" [& H0 S8 x6 M
           set b  int (who / 5) * 5
$ u+ z0 T# a$ G7 c    setxy ( xcor-of turtle b + x )
; L" ?( U! m: N3 N1 g          ( ycor-of turtle b + y )]]
! L, j$ g6 t9 e' Yend
9 I& D1 l0 N# |; P2 ^之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-22 03:29 , Processed in 0.016405 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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