设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6903|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
7 I( A0 U8 O6 B) i$ H
/ ^9 s5 C2 g0 x3 m但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。* S8 Y/ Q3 Z! b2 x. k

3 H) @/ R' ?! F6 hturtles-own [a b c d k f g h/ Q. [. O8 h* t: H4 D/ n
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 5 o8 F; F; X! @% X  g4 J
]' A3 k' r  |+ \7 u$ [# B5 H3 Z; a
to new
4 d6 s  J5 I) r. O$ P* O  ca
2 a' @/ q+ D& r/ \( \  crt 5 * num_of_building
7 ~+ `. k0 d! E  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
0 f/ _4 {' W; ]  |; g1 D) o+ S2 y  scatter     ;;keep center-turtle random positions 7 k0 _" r* ^5 |# Z/ @
  unit_plan   ;;make up the building plan
3 o8 E' P! I( Q. ~5 Zend) j7 s7 ~* @; z& V
to scatter) U. E1 ]+ ]! v' r5 \* `
ask turtles with [remainder who 5 = 0]2 X! K( a, b7 a7 B0 W7 n; y
[2 b' v4 l, z/ |
set xcor xcor - 6 + random-float 156 P* j! t& v% o* P7 b
set ycor ycor - 6 + random-float 15' _% L- W! @! e  e* {8 b3 ?
]+ s: @. y5 j) G+ J$ U- Y: x; I4 [
end6 G, R% I% l6 W& [+ v0 t* h* `+ ]( q
to unit_plan
: r7 X' x* r7 j/ _3 Qask turtles [
4 G% Y# J. n* K! c4 s9 Tif (remainder who 5 = 1) [set a who # {# |. P4 y2 k
                          set x ( 0 - Wid / 2 ) " A# N# `2 ?! b; [$ o
                          set y  Dep / 2 ]; G; ]% }( q  v" ^6 l; n
           set b  int (a / 5) * 5
" |9 \9 b' A$ D' b: k& n    setxy ( xcor-of turtle b + x )! ^; t# e, z; Q% C
          ( ycor-of turtle b + y )
8 l) Q; _8 Y5 T" Oif (remainder who 5 = 2) [set c who
) ]) a* j$ [0 t- E9 B                          set x ( 0 - Wid / 2 )
9 j; ?7 a) S" w; [3 `9 N& x                          set y (0 - Dep / 2 )  ]
% E, A, ]: R3 }8 l: c                          set d int (c / 5) * 58 l9 B4 k& I$ H& S- x/ m- ?: D
   setxy   ( xcor-of turtle d + x )+ H8 `, Z/ \$ L; F, p) d
           (ycor-of turtle d + y )
, E% f- b* I# S( t7 A          % x  l# i& L. O4 m% ?- b( ^
            
* s/ }3 T) H4 ?/ _9 v1 sif (remainder who 5 = 3) [set k who
8 x+ p, p3 r2 v4 }* q0 X8 M                          set x( Wid / 2)  
/ _+ {: ^! R/ m! b                          set y (0 - Dep / 2 ) ]: w: L/ |- \: q
                          set f int (k / 5) * 5
  |; A9 [, A& T% L% W1 [3 j0 }6 Y  setxy   ( xcor-of turtle f + x )
! p7 C; G8 w( e4 F           (ycor-of turtle f + y )
3 i5 @+ r2 R) a           
3 X, P# K% v! {2 w! s. e4 L8 y+ j           * n7 [$ {8 w' y* b# R: D" b
if (remainder who 5 = 4) [set g who( ]" J1 ]2 X: S2 s$ W, w, a( n
                          set x Wid / 2
. e" w7 m8 j2 l, r; n! P                          set y  Dep / 2 ]  C, o! n! c/ W
                          set h  int (g / 5) * 5
; [* t9 ^" i% ]2 B% c, m0 n/ h& r  setxy   ( xcor-of turtle h + x )" v& N2 |5 z+ ^9 \7 f4 T. M. `
           (ycor-of turtle h + y ) . x9 G% ~) R2 s9 o
                          # h' m3 X5 e4 L
                          1 ^& E% {  o$ [  e6 Y
                          ]' _! S' a, Y9 Q. x1 ^
end4 @' ?5 j9 k, w
3 i  h9 A& g( q+ B
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
+ Q. M, f3 A5 E+ b1 M* ?! h* ~应该是
! M3 p3 ]4 ^8 o) M* z8 L8 \ask turtles [" ^4 S5 f, K2 r  X7 }+ E
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
0 n" m. W# Z: u                          set y  Dep / 2 & y& f+ h0 g1 v! N6 W1 O
           set b  int (who / 5) * 5
" q) n1 S2 ^) [" T. z* Y    setxy ( xcor-of turtle b + x )8 {5 \: e) z/ ]7 `
          ( ycor-of turtle b + y )]]8 s- S' |  l: v
end6 v# x" y. Z8 B+ D" H4 p9 J
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-8 09:48 , Processed in 0.023252 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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