设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7327|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
" e9 c2 Q9 }, [0 V2 |4 `' D! d; }. r# l5 I
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
) `0 |- Q& {9 h  U% O: }
" r2 ]& ~) H2 {! F9 S4 N% cturtles-own [a b c d k f g h
0 S7 U* {; _2 \: V6 o( S  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ! g0 S9 w  v0 V2 m; I
]
7 D" U  c" p8 c% {to new
  r' ~3 u* S% G! R  ca$ p3 s2 h6 t4 {8 m# P9 v
  crt 5 * num_of_building# p! g/ ]6 e7 X; U' q6 Y" [, ?2 ~
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
* g3 R( Y$ K+ ?6 @, l8 S  scatter     ;;keep center-turtle random positions
& M) m" L: K3 Q$ X( \$ L% }  unit_plan   ;;make up the building plan
$ V; M1 P# O3 u, Y% k" e1 E- e7 pend1 W$ z( a& H) Q, W" M; @3 m% q
to scatter
: I( a4 X- p( A8 Q" t! f/ k, zask turtles with [remainder who 5 = 0]
' m& ?3 ^; m7 ]! M) N8 c  g1 |[
# W9 N5 K" d5 O' m, f9 D& ~set xcor xcor - 6 + random-float 153 g2 h4 J4 W" z/ L
set ycor ycor - 6 + random-float 155 ^3 l4 v- f' p( W
]
( w/ y/ k' C3 x) T( _9 y% jend7 Z- w, t' M2 y* @
to unit_plan
- |% r7 C7 U( l5 b1 l" }- C" Vask turtles [* I. D7 x6 Z. j3 R9 ?% S
if (remainder who 5 = 1) [set a who
8 l3 {+ ^3 D4 H8 R2 O4 {* Z                          set x ( 0 - Wid / 2 )
8 [4 O( a' \/ x9 I/ L: q+ H                          set y  Dep / 2 ]# u2 U# C1 ?7 ?4 L8 E
           set b  int (a / 5) * 5
" z' {: m8 P+ D7 K4 U( G3 g    setxy ( xcor-of turtle b + x )) F5 F- q. H, `
          ( ycor-of turtle b + y )2 D6 s0 D. a% \+ G- n% \+ a
if (remainder who 5 = 2) [set c who0 ~& G" c" o8 n- q
                          set x ( 0 - Wid / 2 ) + j; [! p& D& c* P
                          set y (0 - Dep / 2 )  ]" U+ [1 D- W3 l" _
                          set d int (c / 5) * 5
7 }4 r% q/ [6 I  ]# D" ]  M3 r   setxy   ( xcor-of turtle d + x )3 V3 H2 O* [( G5 B  U; q
           (ycor-of turtle d + y ) / d+ {5 r9 C# x! g7 r/ v/ q
         
* r' E9 i) L% P5 I            
. W( H  T5 Z& K$ M0 x8 o8 ^if (remainder who 5 = 3) [set k who
0 A3 t' v% A0 O- \8 v9 t7 A                          set x( Wid / 2)  
! s8 `6 e6 a1 P4 g0 W2 C4 {3 E                          set y (0 - Dep / 2 ) ]
6 b- |; u3 e' D( d/ U0 p                          set f int (k / 5) * 5
, ^  I' c; I4 J; E: r! y: o* W  setxy   ( xcor-of turtle f + x )
! K3 m9 B  w% }8 F8 b+ }           (ycor-of turtle f + y ) - c6 M# V# l( F$ h! d+ h
           . {9 g. P0 p; ^: C; p$ @; ?
           
: J4 ~# O6 d# ]' lif (remainder who 5 = 4) [set g who4 J1 n7 Y7 y  `- V' a; U0 M  C
                          set x Wid / 2 $ `8 Y/ p( x  e; c/ U$ J( s
                          set y  Dep / 2 ]$ d3 i9 _$ ^/ G0 K0 N
                          set h  int (g / 5) * 5
& h; b, O# `- e  setxy   ( xcor-of turtle h + x )1 g- o$ e* r1 T# T$ M2 e9 ~
           (ycor-of turtle h + y )
0 z( `" n! P0 t, i1 S4 `1 a2 [                          * ^9 y5 K6 A1 T* f4 k
                          
8 M! T2 f& Z! Y9 i4 K+ N/ L                          ]  H" x2 a  J' ?$ U& N
end
6 [; X' w5 J# {; A) u/ K' \" u1 p
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
2 v8 Z2 A1 F$ P应该是
& u3 z! y; j+ |# m3 |0 f4 n8 Rask turtles [
& F. p6 q6 ?0 R' u6 M% E/ h* Y) uif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " o2 E# K0 Z# k  S& X; c0 m8 P
                          set y  Dep / 2 & C# z. \1 T, t# E7 m1 l
           set b  int (who / 5) * 5
8 H+ |6 C1 p* Z: x% _    setxy ( xcor-of turtle b + x )6 y; U& e9 F. ]  u. A
          ( ycor-of turtle b + y )]]
, }3 L. `( Q3 j3 r% Q3 O8 {1 Lend4 v; ^9 _7 u: g2 K  ^
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-29 20:00 , Processed in 0.019457 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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