设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7445|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 `: ?/ D1 T$ l4 q+ M

5 T9 c# {/ N, N但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
+ H, @  w- J5 Z( A9 Q$ x. n; P6 E/ N/ M3 F5 H" ^
turtles-own [a b c d k f g h1 k( X5 q7 e: G
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) Y" K$ M# O. x( Q5 Q
]+ [6 ?8 O! ~8 f* P, I( @
to new; F& |# N* M9 B& W, t  b3 W
  ca' |! Z! [& ]  _& @% F5 b3 h6 r
  crt 5 * num_of_building; a: o" `% H0 E+ X& x( m: y& s2 c
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]% e& l. }1 s/ ~0 i* Z! O8 j
  scatter     ;;keep center-turtle random positions
. e8 {/ [/ F% O( b  e  unit_plan   ;;make up the building plan# m  ]0 U6 k1 r- E% A
end% M* C0 y" x3 Z. x+ l
to scatter
8 a& k* H# M; c( }& L0 u5 _1 e: K$ jask turtles with [remainder who 5 = 0]$ F/ C. ~4 O$ Z& A  j8 c
[
# ?  T, v9 T/ ^4 Dset xcor xcor - 6 + random-float 15/ z& Q" u* d2 m3 C/ Y
set ycor ycor - 6 + random-float 158 u- U6 n' ^/ S; ?7 M6 N
]
" S+ g8 P* o2 h. J" F) ~, {end
2 L. N, X: N# a  Q# f, Mto unit_plan * |  V- I( H/ @' r, R4 R
ask turtles [
& \" {# }: E! M7 }4 a; X3 G; Xif (remainder who 5 = 1) [set a who
; t/ c6 Y( V% r' D" P. z1 Q! d                          set x ( 0 - Wid / 2 ) ! _+ ?3 \* z1 O
                          set y  Dep / 2 ]
1 k: k. a! i: H% A% ~) V  S" N           set b  int (a / 5) * 5
& c8 M2 K* u  C/ B    setxy ( xcor-of turtle b + x )( s+ a3 H2 y2 B7 \' G) m7 o7 d5 x
          ( ycor-of turtle b + y )
) X, T. R# x# a( j; j9 e6 l& t! Aif (remainder who 5 = 2) [set c who& P" \6 x: M- g% z# K
                          set x ( 0 - Wid / 2 ) % ~* c" }6 a0 y$ a) z7 g
                          set y (0 - Dep / 2 )  ]
( q$ ], W0 n: d# X9 @                          set d int (c / 5) * 5
% j$ V* }7 B% o; S2 R( U$ M1 F   setxy   ( xcor-of turtle d + x )9 o0 ]/ A' B/ M4 R' O
           (ycor-of turtle d + y )
* F8 W3 @+ U# S1 l/ r) x# v         
" O% T- H$ H8 g, q; }            
0 A8 T; c7 W& Y- x$ Fif (remainder who 5 = 3) [set k who
& s6 i- v1 j/ [. [, ?$ s                          set x( Wid / 2)  ! N! v7 d# g! w  U- U6 {
                          set y (0 - Dep / 2 ) ]
% A& y% m; c7 J2 Q# |                          set f int (k / 5) * 5/ {* e! w% Q2 J; b
  setxy   ( xcor-of turtle f + x )
& S8 C# a% w. S           (ycor-of turtle f + y )
1 e' m( o. }& d& h           4 H: }2 H. C( [* Q0 i& {
           
5 |1 B, H8 P. p7 U$ r9 |if (remainder who 5 = 4) [set g who
$ U7 L9 u# t* H8 q: f; P3 O                          set x Wid / 2 0 c# j1 @' N) L/ Z" g( C  W8 |
                          set y  Dep / 2 ]
$ _) p0 g1 E# b                          set h  int (g / 5) * 5& O: ^) k7 n" k9 }
  setxy   ( xcor-of turtle h + x )
* Q& Z( H* S( C5 p, |           (ycor-of turtle h + y )
  v' L; m5 ^( Q$ B                          0 ?! M  |' a. x& l2 B8 D
                          , m$ j1 V+ |+ @/ P
                          ]
1 y: ?8 H% Y9 Qend! {+ V8 Z" T5 o8 f

  A  U+ w9 v, t[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
) `# E9 A) P9 a/ i! t8 \应该是# F0 ^- m. L- h  o, M
ask turtles [
6 e, y9 Y2 p, H! J2 J1 a! n( }if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
4 q0 n8 P( S' ]- E! U' `3 N& Y2 W7 g                          set y  Dep / 2 ( E$ I, x, U; }) \
           set b  int (who / 5) * 5
' t+ K1 W% o! v' _, U% P* n6 D$ ?    setxy ( xcor-of turtle b + x )
7 @$ c' e5 K2 Z# `! f5 s8 ^6 a2 F. U/ Z          ( ycor-of turtle b + y )]]1 [- c8 B/ ?+ Y5 L
end5 m! {; ?) L. S) @0 d" d
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-11 23:54 , Processed in 0.018470 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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