设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6904|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
; z" }. D! w) F
; |0 O8 Q/ Z3 Y8 ^# p7 B. H但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% @+ h; L3 s: F( ?% w0 w* I
% \8 z% z' k' b; Y/ x( l% qturtles-own [a b c d k f g h# {( Z: S/ [* X& m8 U7 Y
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
( E/ ?& {9 @% `1 Q0 w% a: Y]! @2 _7 n$ g8 d
to new) `7 ]& X6 f# U
  ca/ T, [6 S4 d, G4 E- d
  crt 5 * num_of_building
2 e$ r. Y* S; d! x$ S1 _: G: c  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' \8 r$ d. }+ u6 {8 ]
  scatter     ;;keep center-turtle random positions 4 \1 Q( D% J$ U# ~. p: p/ I
  unit_plan   ;;make up the building plan
- H" G1 |6 a( kend
. u4 e2 B$ Y  |( }to scatter. S, }/ {. `2 H8 b/ g) T) ^
ask turtles with [remainder who 5 = 0]
9 m6 {3 p% l5 ?# _- `) p& ]. B[
2 q( j% s, C" @7 e: J+ {: X' nset xcor xcor - 6 + random-float 15) F' u: s! C# @" u! M
set ycor ycor - 6 + random-float 150 h6 ~: U% E: h. L" u
]
7 b4 \- u  D' H/ u  N6 j! e( kend& `3 d# g- K$ `  ^! T8 T
to unit_plan
/ G0 n) t" g! [7 @, h* O! qask turtles [
; {: ?: Y' l# z$ h6 w2 ]6 lif (remainder who 5 = 1) [set a who
9 n; ?. |* Y# u) A4 y, d                          set x ( 0 - Wid / 2 )
) b  D0 Q$ T* d: p                          set y  Dep / 2 ]
$ j" p8 L2 `4 ]8 ]$ R           set b  int (a / 5) * 5% ~! J1 v' c& ^+ O. |, j: [8 B
    setxy ( xcor-of turtle b + x )
" Z% x, o9 R3 D2 |* |5 N, x) d  V          ( ycor-of turtle b + y )  O: D7 s+ \$ m  \
if (remainder who 5 = 2) [set c who
7 f: q( Y/ a8 X6 l9 l                          set x ( 0 - Wid / 2 ) ; q$ g5 ?' H/ X* i$ M
                          set y (0 - Dep / 2 )  ]! y( ~# q* [1 _/ r4 B
                          set d int (c / 5) * 5# ?% a! V9 c$ t4 b& T' \" j
   setxy   ( xcor-of turtle d + x )* V3 o& {# |  _2 t7 o/ H+ E1 H
           (ycor-of turtle d + y )
; A( v2 `0 X0 S, F# T          7 ~9 q. f! I$ L. H" N3 w& l0 x. r7 d
            
! b# ]1 ], v1 X* m$ fif (remainder who 5 = 3) [set k who* G+ Q; Z  w3 G# R' i  \
                          set x( Wid / 2)  
7 o: S) D+ }& h' _                          set y (0 - Dep / 2 ) ]
: i1 F* z0 l3 {                          set f int (k / 5) * 5
" f% y8 d( t2 e  setxy   ( xcor-of turtle f + x )
1 o/ z1 V6 ]( j2 A, s9 x; x& @           (ycor-of turtle f + y ) * _& T; W6 L! ?
             p5 `1 L3 U6 Z: n& X; k% D( r4 P$ W" H
           
' J1 {/ d4 _) F  v9 v8 {: Jif (remainder who 5 = 4) [set g who
; p/ Y. q" ~" ^( |1 s9 t: t3 E                          set x Wid / 2
! K' ]' c9 }1 X8 w, z. C4 {                          set y  Dep / 2 ]2 ?# |9 ]6 r1 J8 |1 }6 l* h% }
                          set h  int (g / 5) * 5
% R3 g( j2 f/ k/ m  setxy   ( xcor-of turtle h + x )
/ I) p- N# M+ s) u0 o- w           (ycor-of turtle h + y )
  d+ g, m. G7 u                          4 ?: @7 ~' H% h: |) }7 Y- h
                          
9 @0 D4 t- `- r) c7 c                          ]
; G& \9 }6 U/ S  yend5 [( B; f2 K6 _* s3 }/ _/ H; F8 J
4 i5 K8 p. b3 r% O3 c# q- j1 F1 q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
& D# Z$ h/ x6 H' z' J: r6 Z, l8 U应该是( s5 d7 o' S6 f( ]' Y# D
ask turtles [
2 H  {7 r+ |, D  c, @3 tif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) : `) k/ L# r! @; e& O: q1 R4 q& F- O
                          set y  Dep / 2
' B5 N6 h/ X2 W3 w. t           set b  int (who / 5) * 5
6 f" p/ O: W# p0 l6 {    setxy ( xcor-of turtle b + x )
$ \, b0 u: U$ k1 s, _5 `          ( ycor-of turtle b + y )]]
2 m. n6 W* B, t9 H+ X& B! Q1 s: Y* hend
$ Z/ ?, r5 G" V, s之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-8 10:45 , Processed in 0.020382 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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