设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7427|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
  W+ V6 H3 u- s1 O2 K: _5 T! E+ [1 Z/ p* d- I/ n2 |
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
( g( @3 c1 [+ {. t0 [1 Z' I" ]5 \3 z9 k! @
turtles-own [a b c d k f g h
( n/ {& w+ @6 e3 D  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 5 i: v9 P) j; D# s- Y
]
, i1 y6 y0 J  d7 {8 i! ~, F$ F! Yto new% z) d& X/ Z/ D! ^( G+ v( P& I
  ca
" P6 X0 d0 b( Z" T" o$ v9 |  crt 5 * num_of_building+ k9 l6 u" k8 K" m6 i4 }* G6 x
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 \. Z& \/ T. {: b
  scatter     ;;keep center-turtle random positions 6 h# _5 ^( l$ i% m) G4 k" h) C4 ]
  unit_plan   ;;make up the building plan/ d+ ~3 a, r. {5 v  Y+ k
end
/ P& _) L- @) M/ M4 R6 R. ^to scatter
6 ?# S- m7 Z& G$ d% {! {& W- Cask turtles with [remainder who 5 = 0]# F' K) _3 u9 u/ F* O
[
9 r% @" q/ q8 L# o9 E) T) k0 a% hset xcor xcor - 6 + random-float 154 A% s9 J  t% p: h0 F. ~! c8 s% H
set ycor ycor - 6 + random-float 151 b9 M# U4 ^: t  ~
]& j* y* V6 b3 ^* t
end8 d6 S6 `! z; e# X5 A& X
to unit_plan 1 e- c) g$ n8 j& R! H; c5 O
ask turtles [* w$ ~$ }) b( {; h. }  C
if (remainder who 5 = 1) [set a who 7 `1 L: k! D. S2 a- {- \4 Y& i
                          set x ( 0 - Wid / 2 ) 5 p" Q0 V8 t, V" K% K% t* r/ i
                          set y  Dep / 2 ]1 U% P, \8 [8 a* s0 ~- r
           set b  int (a / 5) * 5
$ A, \1 G) C( z- s# F# s1 S9 ]    setxy ( xcor-of turtle b + x )
7 F5 A! G, b6 O. o- E$ n          ( ycor-of turtle b + y )
& g3 l+ G! ]8 Gif (remainder who 5 = 2) [set c who+ ~, s2 ~" c+ M% N% t4 }+ f
                          set x ( 0 - Wid / 2 )
, C# V$ N1 t; q! ^                          set y (0 - Dep / 2 )  ]
" N& P6 X- C2 n: v                          set d int (c / 5) * 5
7 X& U1 a9 C) r8 a( n- g   setxy   ( xcor-of turtle d + x )
9 }7 L1 ^& Q4 k- ^! L- R           (ycor-of turtle d + y )
* }. u9 t2 o0 E         
8 ?& [( T+ l2 F+ c1 s5 p2 R$ |            , `. B: J. F7 t9 G, Q. ~
if (remainder who 5 = 3) [set k who( U5 J! |) A$ e) `5 G  v2 W& v% V
                          set x( Wid / 2)  
. V. I0 ~1 D9 H% |; N4 L                          set y (0 - Dep / 2 ) ]' R5 @4 s: p8 Y/ h3 \
                          set f int (k / 5) * 5
2 E0 ?' d* D& s/ v, e  setxy   ( xcor-of turtle f + x )1 i* T+ R: ?' I. l  q
           (ycor-of turtle f + y )
. I/ ^7 r; x* t) @# [  }3 e           
+ B% u+ t8 z; p! q: X: X           
' v8 M- {! {0 @# z, x, ]9 xif (remainder who 5 = 4) [set g who
, |, ]( h- Q# [. Z                          set x Wid / 2
0 l, E0 B/ P' Q6 K4 N/ q6 w                          set y  Dep / 2 ]0 K* c( ^( P3 c
                          set h  int (g / 5) * 5! d1 G; B! c7 b' R! Y
  setxy   ( xcor-of turtle h + x )4 K3 ?7 l4 B0 z2 j4 Z0 D$ e
           (ycor-of turtle h + y )
! I4 ^/ l5 |0 [5 M4 @                          ' L) h0 ]+ u/ _5 x5 z! A
                          
; i( a2 R- y7 G  r6 }1 t) @3 W  |. w                          ]
& d" [% Q' ~+ e1 Bend
+ G$ w# m  [1 X' s4 Q) T, h. {1 i
: u( ^" Q# K; t" I" p% c( o( W[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 ?" u% A8 I# }  ^# |. K应该是
1 w1 u! T* Q2 ^3 zask turtles [
0 v8 V. h1 K$ t$ k! }if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
( ~! ]" r% `: e# X% V, U( [                          set y  Dep / 2 0 w+ u' Y" `" L3 o% O
           set b  int (who / 5) * 54 u* I" Q$ u+ u3 X" X0 }! e
    setxy ( xcor-of turtle b + x )
0 \# k3 A* R. q3 ?. h          ( ycor-of turtle b + y )]]
. \  d# Z2 I) W$ ~, u: ]  P: r  t/ xend
+ G  ~% B: L% F之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-9 22:37 , Processed in 0.019402 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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