设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8925|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
, _& x2 q8 k* c& d. I9 s1 x" k0 U& `, l
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。# t# {( B3 W1 @4 {1 d( p
! f* [  m* f: ]; z; L6 F4 |
turtles-own [a b c d k f g h
: ?9 X6 K3 Q: z. @& r  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
2 k, E% |4 X3 R% f], ?( }  i- w" V% i9 l1 H% d1 d2 C  ^3 W
to new
' T7 S, @! ?  a  C  ca- g' ^0 M/ I1 k2 _" Y8 n
  crt 5 * num_of_building
, d4 {/ Q- K6 ~9 t' Z  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 `' I& Q6 x; f+ }) }. g  scatter     ;;keep center-turtle random positions 8 W' x1 C/ M4 Y* r5 \
  unit_plan   ;;make up the building plan
" D7 d% v# i% n) J7 i, G: Bend
# `+ H* F6 z9 l8 J4 Wto scatter
1 X+ L1 y1 B1 D' fask turtles with [remainder who 5 = 0]( B* i7 ~0 \7 `! {
[
8 `* e4 n1 o% K& vset xcor xcor - 6 + random-float 15
5 z' v' z) u8 R- nset ycor ycor - 6 + random-float 15
% E- }; s* @" O1 ^9 u7 }/ v2 ?- C/ ~]/ a9 H# l. }" `1 j& S
end
% H% X* c% P" ~& Z. {7 U) k; Qto unit_plan
5 @6 G+ z9 @+ }) P! wask turtles [9 r" }' @9 a9 F( H5 V* A' D
if (remainder who 5 = 1) [set a who ( O" ^& Y+ F; W# x% n
                          set x ( 0 - Wid / 2 ) % D. f' Q5 a+ k  c; v. r
                          set y  Dep / 2 ]
1 ^0 W4 w+ p3 M) N( _) S1 C; N           set b  int (a / 5) * 5( D' I$ Z& v& G- F; f; t! n( g6 r
    setxy ( xcor-of turtle b + x )$ `& h3 E, V1 {+ R& A6 H
          ( ycor-of turtle b + y )
6 x& i: m: [( B" I- pif (remainder who 5 = 2) [set c who
- w, w3 e8 v, E( V& p  Z                          set x ( 0 - Wid / 2 )
3 g. F8 B9 ~+ G) O8 z                          set y (0 - Dep / 2 )  ]
4 ^' r9 m4 o0 L. [9 R9 V                          set d int (c / 5) * 5
8 g. V+ }6 Z3 a. {7 @- o   setxy   ( xcor-of turtle d + x )( o6 y% N9 G" q2 e, i' W1 I, r
           (ycor-of turtle d + y )
' A* ]6 S' G- f! Z         
, p2 K  i0 H& D/ ?            ; ]" J6 L% G$ o6 u; R0 {8 ?8 R
if (remainder who 5 = 3) [set k who
' L- j, `0 t7 k* L) i4 _1 o5 j                          set x( Wid / 2)  4 Q- Y) ]9 F7 n0 t
                          set y (0 - Dep / 2 ) ]
9 \7 y% }1 [0 B% q0 [& |6 O                          set f int (k / 5) * 5
$ ]  m0 ~* O4 T) l  g1 U( p) K& h8 Y  setxy   ( xcor-of turtle f + x )
, |' J+ Y7 g$ k           (ycor-of turtle f + y ) ; Q6 ]# |. A* R5 p% Q- |9 k1 _' D$ w
           / J3 q4 |8 ?: H. D9 \+ H0 X
           
) k( g1 F+ v- o  Z1 hif (remainder who 5 = 4) [set g who
3 k, x, }) t6 }1 r                          set x Wid / 2 2 V' E) w6 C- Z2 f4 j2 ]5 m) X& z
                          set y  Dep / 2 ]3 r  Q0 b( h0 E  ^1 v2 s0 H- ~2 R
                          set h  int (g / 5) * 5
& X/ p( U* f, l8 i+ z$ Y/ m  setxy   ( xcor-of turtle h + x )9 B) l$ C4 u0 d) ^0 N) [) H$ v+ J% {
           (ycor-of turtle h + y ) # ~* E2 y" E  I  ~$ [
                          6 p' Z" X( w% @+ U
                          
+ P; n3 g( T8 t9 C" m1 |* \9 p9 @                          ]
! {  d9 W/ A' fend
4 n5 n' H! x$ h+ }" @1 f- p( g1 W& R
& B: T  G8 k) [% Q3 w[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
: Q. a/ c4 J! D4 B7 i1 ?' d应该是2 r& Z" Q2 j% L. v. |  \
ask turtles [4 O$ i" i6 F; @, E5 s9 d; T( n
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 6 i# C: G+ D! D  p( \& p
                          set y  Dep / 2
9 _$ A( S; e; R' w& U, t9 q  Y           set b  int (who / 5) * 5
1 ]7 O: _/ z# W2 l7 L% g2 Y+ p    setxy ( xcor-of turtle b + x )& z4 l3 F$ @( P( h
          ( ycor-of turtle b + y )]]
/ d1 v) f! n* z  c) m& zend2 T$ N* g" S( h
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-25 01:14 , Processed in 0.016228 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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