设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7824|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。4 k  d- a3 \4 h- ]" g/ A
5 `1 G6 M" o( U, y1 V
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
  F+ T, e* ]5 e+ h# |: f# K1 `0 \+ o$ m  s& e
turtles-own [a b c d k f g h
" V% L& ^8 x6 K) ]6 F; Q  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
) a8 M  F- E9 }2 [7 T* P0 w]
0 r4 Q# S) L8 S+ {to new% f5 S' D9 D* l0 @1 J+ p1 {% E8 [
  ca
7 c6 r  N+ f) N" r( ]  crt 5 * num_of_building
# \7 T% h( L3 o/ P. I- V) k  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]" f9 y: h. L. e. v& ~% c  w* w& X
  scatter     ;;keep center-turtle random positions
  |9 m( x3 n# E8 p) g* \  unit_plan   ;;make up the building plan
, a8 x4 z& t* G  Nend& e3 ]' u0 }, O, ]$ R
to scatter, `. q' O  S% \) }; I
ask turtles with [remainder who 5 = 0]
, j# S0 A$ X1 j- A" C[8 e& X4 x. |1 q4 _( y' Y$ l
set xcor xcor - 6 + random-float 15
3 F+ {$ ], W7 N, z  n3 nset ycor ycor - 6 + random-float 15& O: a# _% S9 u& K, D1 s1 D
]4 F( \% C( U& z( m
end
: c: i0 B' H1 S4 Qto unit_plan . P; z# x0 U4 c6 r  k. ~
ask turtles [
/ [0 }( o6 u4 Hif (remainder who 5 = 1) [set a who 7 o6 z4 I! _' Q- [
                          set x ( 0 - Wid / 2 ) ( `$ g0 S' O% m& n
                          set y  Dep / 2 ]- i2 j9 z% X1 q* ?. G. Q
           set b  int (a / 5) * 5
4 j9 @' P: T# j    setxy ( xcor-of turtle b + x )
+ N( q) V0 P, s+ b5 {# n. ^. h' @: k          ( ycor-of turtle b + y )
1 m( c& y' O4 {9 x& \, r. wif (remainder who 5 = 2) [set c who
! s& G! `2 r# p2 R) U4 f9 Q                          set x ( 0 - Wid / 2 ) , \; a6 A0 C. Y0 j- ^2 y
                          set y (0 - Dep / 2 )  ]
0 `4 I( H" ]1 s) w2 Y                          set d int (c / 5) * 5- J/ ^) H! P$ A1 |" a4 g: {
   setxy   ( xcor-of turtle d + x )
4 L# a7 i: _; ]7 c4 l' B  w6 H           (ycor-of turtle d + y ) 0 a. |) i, _$ L" h1 a
         
; T! K' B& ^& m  t! r' i            2 D1 q1 M/ F6 G; R8 z
if (remainder who 5 = 3) [set k who1 B. `0 K1 l. `. U- Z
                          set x( Wid / 2)  
# ]; N. i  Q" f" B                          set y (0 - Dep / 2 ) ]- U$ x7 M  w7 T( ^5 J/ t+ c" I! R
                          set f int (k / 5) * 50 }7 L, L3 T/ X
  setxy   ( xcor-of turtle f + x ). d3 X) G3 @/ _/ H2 ]
           (ycor-of turtle f + y )
" A/ V0 }# p/ Z/ b) v0 |; i           
$ X1 J* Z$ R1 n7 g% G- |. E           # i/ b* a' J# Z; }/ L$ q9 t' S
if (remainder who 5 = 4) [set g who
0 @* ]- l# }; E5 F                          set x Wid / 2 8 x/ j/ {3 {* v; a6 u: `0 r, e
                          set y  Dep / 2 ]
9 j: c/ g. Y+ O; T% @$ F! U( R2 f6 X                          set h  int (g / 5) * 5' q) o# ?; ]! j5 x7 c8 F% q5 v
  setxy   ( xcor-of turtle h + x )
3 w" w9 ~9 O8 t. Y) Q9 c6 x6 p3 G           (ycor-of turtle h + y )
$ C) w  S1 N0 F& U3 n) i5 @7 P                          
% X% o; z5 |& _7 B4 W2 j                          1 {7 g5 f% f. Q) Q# ~" r
                          ]
7 r2 z) D8 i( K0 K6 _/ Aend
! j: r7 U# g7 a/ m. z& ]2 V/ b9 _9 x( s, T( j6 c% e/ b; g0 W: k
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
4 O  l! ]( Y+ |应该是
' g2 J7 |0 B4 X' Q" W0 |* v; ~6 o1 Qask turtles [+ Y6 ^% p4 R5 P6 X2 B1 \
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
1 O/ h; q( a; z& e! W! i                          set y  Dep / 2 - \. l+ s& V3 s/ o
           set b  int (who / 5) * 5
3 h" |" i) W- t    setxy ( xcor-of turtle b + x )
3 x# J( }7 c% \3 l0 }, G          ( ycor-of turtle b + y )]]
6 F; L) Z) z- A1 a7 X, _end" q5 S4 @8 M; x. G4 B0 ^
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-6 01:43 , Processed in 0.021329 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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