设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7292|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。% Q4 @9 |; h* u- }( ^9 X0 [
: d" I) v+ ^1 u1 k# J& i& \$ ^
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' w' E, k$ |0 z

  ?8 o. U, U6 y) o% aturtles-own [a b c d k f g h5 Q/ p. G2 g9 c% v5 S
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
! A5 ~) _! m: X9 ]]
0 ?) v0 v- ]6 q) Y' A6 @* g  C9 Sto new- ^9 ?- ?* z( @! e
  ca
) y+ H% a8 ~& j; \% }1 Q; r' q( I  crt 5 * num_of_building
% q! ^: w( a" p* J) W  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]1 _1 K/ h5 j0 D7 D# a  u; r
  scatter     ;;keep center-turtle random positions
! U% u6 B' ?0 j6 i& X0 @4 e- f# o  unit_plan   ;;make up the building plan; u1 J: h6 i, J0 F" ]7 T
end  L+ ~8 H; C& h4 ]* U8 s1 y, E
to scatter
5 I& v; \6 g4 B+ n+ Q( Hask turtles with [remainder who 5 = 0]: L7 V0 N. _5 w
[
( }6 O0 }1 `4 _/ j" m& Jset xcor xcor - 6 + random-float 15/ b+ o1 P" o; Y0 c0 u) Z( [
set ycor ycor - 6 + random-float 15
1 l$ M1 Z5 |/ s8 g7 Y/ D( Y]
, A- V1 e" l2 A! p7 Tend- q9 \$ k' B, _; h) t5 q. H* Y
to unit_plan
3 C; p* H* U  H* G: Nask turtles [! h" U+ b0 {4 `: `$ L* Y! F
if (remainder who 5 = 1) [set a who 6 v9 t- f& Q0 ]! Q3 |& {
                          set x ( 0 - Wid / 2 )
4 I: H3 d, u; O$ Z8 v                          set y  Dep / 2 ]
( E3 R1 d" Z& u4 k. O& B           set b  int (a / 5) * 5
& X) c6 R. c# I/ ]: k! M6 G    setxy ( xcor-of turtle b + x )
8 s2 k- K- x9 F; w) ]& e          ( ycor-of turtle b + y )
7 U% [+ w5 g  Lif (remainder who 5 = 2) [set c who
0 y$ }) f7 q" @$ O- H1 _- ?                          set x ( 0 - Wid / 2 )
* l+ T% \8 g5 _" H5 J* z+ l                          set y (0 - Dep / 2 )  ]2 z" m/ _) v+ Y7 q. Y
                          set d int (c / 5) * 5
$ R6 b& V% t! K; @4 A! b3 }   setxy   ( xcor-of turtle d + x )
! M5 E. P7 Y  f" r. a$ N           (ycor-of turtle d + y ) ' z  \$ F5 N4 v) C# n" T3 _. S
          % S3 V9 R% y9 x# B4 T$ n0 u0 ~
            : m) K/ z3 K* I- f/ t- _6 Q
if (remainder who 5 = 3) [set k who
- l. V- ^2 p; N, Z                          set x( Wid / 2)  - ]4 R8 Z9 b! q3 B
                          set y (0 - Dep / 2 ) ]% l2 S6 {# H7 J* J
                          set f int (k / 5) * 5
& ]* n* U7 E0 v. k: L  setxy   ( xcor-of turtle f + x )+ i& e) [. V3 B" T6 b: o
           (ycor-of turtle f + y ) ' q( r# `0 Z% n& T2 J6 `
           # Z$ |, g* a, W" C6 P* X
           
9 J. `6 ~4 B- `% q3 sif (remainder who 5 = 4) [set g who
1 Y& B# b, r; w  `6 A1 y                          set x Wid / 2
. T, a+ e1 [- Q4 |# c                          set y  Dep / 2 ]& R$ l7 G" R6 P& E
                          set h  int (g / 5) * 5
! `% \$ L1 a9 n! @  setxy   ( xcor-of turtle h + x )
. i" U% Z& [+ y$ L! ]/ r9 X           (ycor-of turtle h + y ) # v: E$ C0 H5 R+ _5 R
                          
) @/ T  W) z" _4 d6 {. m) G                          
7 d0 L$ U( S% b/ B7 P                          ]' `# G1 q. J2 {2 d  F
end
8 c0 v0 Y6 ^8 r" Q" q9 V6 v) {; m
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
- U/ p9 U) p9 z应该是7 R% [& o( f! N) Q; }  n( A
ask turtles [; @$ x+ t5 Q; |
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
- t; t$ w8 {5 z0 k- m$ J$ H                          set y  Dep / 2 : a/ y. a5 D2 _7 |! ?- }
           set b  int (who / 5) * 5
( X% d8 C: C- L% \    setxy ( xcor-of turtle b + x )
* T, H0 h3 U! T: j/ F$ {          ( ycor-of turtle b + y )]]+ G3 t3 `; R+ J) Y9 y5 {' s1 d+ h
end  Z$ S/ @8 ~; B5 w6 t
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-26 08:14 , Processed in 0.019955 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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