设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8209|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
3 D) D" N3 u- R8 B: q; f  c
: r  y/ ~: ]& e4 N) g& X但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
' n: t' {& G) n" d1 O7 K
7 t. \: q1 h3 [. ?6 v6 wturtles-own [a b c d k f g h  |2 G8 E: Y5 x  o
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
2 f" X- b4 ]; l, z4 t]  |1 R8 K' h4 g( `9 I0 [; F
to new
; K5 |# ]1 A" e* X" G  ca
$ q4 K0 a. b" d1 U; m$ ~5 M( N  crt 5 * num_of_building
& Z3 _3 i1 N, X$ e0 O4 m  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]) \! _" w1 x4 [( i) B& [
  scatter     ;;keep center-turtle random positions
7 K6 [" y% ]# g, M  unit_plan   ;;make up the building plan
& S" l2 c2 Y( |end
6 y' _2 i+ |: S' R9 ]1 d, |& ato scatter+ A2 J6 b. P, g. \( x) [# B1 o
ask turtles with [remainder who 5 = 0]+ \' K* H5 P2 G3 m, I5 Q, C
[
- x' ^0 Y* B* @- e8 O! w+ yset xcor xcor - 6 + random-float 155 W& ?* Y9 {2 W0 L. r  p
set ycor ycor - 6 + random-float 15; `9 B7 L* A( a$ X5 f
]) z7 x) P- X  O0 n! `
end" v+ f/ `0 i+ A
to unit_plan ) M, }2 @1 [0 q1 Y! ?
ask turtles [
8 z) V6 R2 c$ F7 _# T8 zif (remainder who 5 = 1) [set a who 2 z& X. f- O5 P+ S( u' t' f3 S2 h$ k
                          set x ( 0 - Wid / 2 )
# Q# T2 Z9 I& {' P  Q                          set y  Dep / 2 ]
- l$ z1 |" R* A! L           set b  int (a / 5) * 5( F4 w* ~$ O/ w) ~( o& E& o
    setxy ( xcor-of turtle b + x )
: w( k2 Y$ r# S: L9 ]$ n          ( ycor-of turtle b + y )# I7 B9 s1 I- D2 X8 N# H. \) @5 n( b
if (remainder who 5 = 2) [set c who
% E/ a4 r$ N% O, n                          set x ( 0 - Wid / 2 )
9 F2 Z2 I- s" u: S                          set y (0 - Dep / 2 )  ]. h: b& Y4 {8 u
                          set d int (c / 5) * 5
7 H6 Y3 [$ m& I* O   setxy   ( xcor-of turtle d + x ). }# Q! v4 A" K+ P  m
           (ycor-of turtle d + y ) + \0 K7 F* U; B( Y5 j4 Q
          % B5 D6 o6 H5 L  X1 _0 N# m
            
9 {9 }* W/ J0 n7 B6 {4 Tif (remainder who 5 = 3) [set k who: @" k0 ?0 x- i) ]: G
                          set x( Wid / 2)  * S$ o2 S9 x* l# c& E: \1 V
                          set y (0 - Dep / 2 ) ]
9 E5 u# I. g! H                          set f int (k / 5) * 5- k+ g8 O3 P1 W" j8 q
  setxy   ( xcor-of turtle f + x ); d6 z; O8 S  l' L$ h+ o
           (ycor-of turtle f + y ) 1 Y: i/ |3 q0 R4 {+ u) }
           - F% @' M+ b2 Q0 x
           ' o1 G9 z2 l# K" e9 w% F4 s
if (remainder who 5 = 4) [set g who
" W0 b3 G8 a- |$ C& E. H                          set x Wid / 2 8 l9 P! P& d& C0 ^! m+ U! \
                          set y  Dep / 2 ]
' N! n+ ~8 o; R0 }6 U: \                          set h  int (g / 5) * 5+ z5 [9 y8 i4 Q: H; l
  setxy   ( xcor-of turtle h + x )
- z# p0 Z5 @1 ]4 E* w           (ycor-of turtle h + y ) 7 N( ^& H. ~6 x) n) y" w5 U
                          4 `, l: I+ ?9 k! T7 p5 K
                          / N4 F! c; C6 Z
                          ]) n3 z  R: Z; Q
end
" ]3 t2 w0 b# D. \, L, }8 z) B
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
! w; Z% M5 W; m! B+ R# F& Y3 T0 A应该是: C; k! D# w6 y& Q) F$ `
ask turtles [3 N8 a4 x5 N2 L4 d" ]" A. C
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! m7 [  X6 o7 k. \2 D+ P% J+ P2 W
                          set y  Dep / 2 ; q5 E" b' ?& l3 S. }- }
           set b  int (who / 5) * 5+ |! q2 ~# ^: j2 y0 @% C9 Z% e
    setxy ( xcor-of turtle b + x )
3 r. e+ `- @8 y! O6 T; ~- L# Q          ( ycor-of turtle b + y )]]
. q2 v8 W& E5 a  Aend
. j6 u% G+ ]6 f- ]" U4 x之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-19 09:32 , Processed in 0.015180 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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