设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8944|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。$ x2 J8 b; ]( o( T3 f4 d  A- B
: `" {; H& W" ?/ d# b) _
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
* G  D$ j) l; ^$ w
& N( O( g/ e' i; |) B; j5 ]turtles-own [a b c d k f g h
8 G8 [; R& u* Y( N# u5 i  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 4 C2 @. k& e4 x! V7 H" P3 K# q
]& Z4 T! x/ b0 F- T+ @
to new' p3 ?; E  a% h. H4 p, b
  ca
" ~; Y6 r8 v& a- }$ Z) ]( ~  crt 5 * num_of_building
% g, U: M* I3 A2 p' r  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
" ~% Y4 o4 ^' y  scatter     ;;keep center-turtle random positions
  N' Q" y" l1 e5 {. k5 W4 L' b  unit_plan   ;;make up the building plan
1 h+ y* Q, ]3 [# R! aend. P- t9 K2 i+ D% [9 T
to scatter7 U4 A( C* w- N: l2 a
ask turtles with [remainder who 5 = 0]5 t6 i! n9 s: D/ j
[
$ @  u4 O4 ]1 x, L) ]set xcor xcor - 6 + random-float 15% N7 @4 j* Y, Q, r
set ycor ycor - 6 + random-float 15
; q; w2 a! U9 V5 q% O]
! t" b! D# Y( x4 U# n1 A5 w% v+ nend
) A5 Q! Y# g* P) x; v. Qto unit_plan ' r$ o  M9 ]/ A! `- y
ask turtles [. Y4 M, v, v* I
if (remainder who 5 = 1) [set a who 6 ~3 U: k$ O9 |: U
                          set x ( 0 - Wid / 2 )
0 S4 `9 ]0 t( W- N1 ^4 I                          set y  Dep / 2 ]
. y# S2 R; F8 c% g+ E% r( `$ I           set b  int (a / 5) * 59 \* y8 p$ g: X$ r2 |9 w
    setxy ( xcor-of turtle b + x )
/ b) r( m0 o: R          ( ycor-of turtle b + y )0 P+ h& I# P" y
if (remainder who 5 = 2) [set c who  ?. l7 F5 V* d- ?
                          set x ( 0 - Wid / 2 )
7 ^% J1 L4 d( B; o                          set y (0 - Dep / 2 )  ]
$ Q: Z9 O  t. _$ G                          set d int (c / 5) * 5- E8 J3 _( _3 M$ e
   setxy   ( xcor-of turtle d + x )
5 \  ]& \# `/ E1 I           (ycor-of turtle d + y ) ) m5 h' i8 G! D6 A$ I* k7 O& ]5 ?
         
$ w$ o# {; m8 A! W, E, A              c8 T# W, u' m0 L: s
if (remainder who 5 = 3) [set k who1 d. z5 X1 D6 C6 T+ q' }. B
                          set x( Wid / 2)  
4 V0 K) P  P) X+ r" X* L                          set y (0 - Dep / 2 ) ]
7 [; v$ w6 }2 k. L: j, P; i                          set f int (k / 5) * 52 R. }/ F+ z4 O5 C
  setxy   ( xcor-of turtle f + x )8 v; Z( I2 l) v! }$ z  S
           (ycor-of turtle f + y ) , ^9 i, y; O8 `" a! @9 [: K% z
           % S$ M& M9 T. O+ \& t1 M0 |* Q
           4 s" |8 h+ J# h  j0 \3 ?) H2 p- v
if (remainder who 5 = 4) [set g who
! {0 x: N, Y; `7 m% }                          set x Wid / 2
! ~  I% c% r+ W! q( \% p, Y0 p                          set y  Dep / 2 ]
8 T* a- Q$ `  E) {* X9 N7 o                          set h  int (g / 5) * 5$ o4 F' H* l, U4 N- \. X: N
  setxy   ( xcor-of turtle h + x )  p" d. N( U3 `4 O, f
           (ycor-of turtle h + y )
  M& s. _7 X' Z+ b: N  L! m, y                          5 J! z$ }2 J5 r5 Z  t6 _& }
                          
1 Q1 [! H" \4 f2 H$ u: X& e                          ]3 U* s) e! m3 m! ~) }0 m9 S
end
, H, D( f- V  ]* q: m. {# u" W# O
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,$ u. {, e; y0 k* G* C0 h, u
应该是+ M( g$ `0 T9 Q1 S9 e
ask turtles [
2 ]$ Y- |3 S$ C/ @. [; M) Iif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
; ]! N* W- H+ @3 _# S' g                          set y  Dep / 2 1 z- Q& n5 g/ w# g% q/ }1 x, ?/ \
           set b  int (who / 5) * 5% E$ u  ~% j, V. I
    setxy ( xcor-of turtle b + x )9 k7 r% E- t5 d! b; v* k3 D
          ( ycor-of turtle b + y )]]5 w8 o4 [$ k; y
end
9 I% a# ^% M1 W# R3 x: o& q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-28 12:36 , Processed in 0.019987 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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