设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7752|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。# X! ^$ D( m' C  n* h7 W

5 @* @1 k" D9 N5 U但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。  a5 F& J: _4 V

2 s& O3 v/ a* c+ kturtles-own [a b c d k f g h6 i; Y; {' A: l0 v- v( V) G
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 R+ S7 t) ~; g* X% U( a]2 ]) F3 @' b# _! B  ~  k
to new- ~, W8 h0 F2 S" k0 f/ y& ?1 `8 B) \2 I
  ca1 \' O; o* _0 u0 w/ Q; M: M- |1 Q" w
  crt 5 * num_of_building
8 f: m- W! I- P4 m( `9 }- R: ]  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]0 G9 t3 @8 }/ d) G8 T4 p0 Q, Z
  scatter     ;;keep center-turtle random positions 7 M- L" `5 N! \( f+ F& i
  unit_plan   ;;make up the building plan
* C# t& N& `3 Send
3 t* O4 `" v3 ]& ?( t' Ito scatter6 G- H/ ?* e  a) ~
ask turtles with [remainder who 5 = 0]7 ]* n/ x3 S; K2 n7 D
[: T# @0 j7 k. L$ Y# w5 I
set xcor xcor - 6 + random-float 153 r. Y4 {1 R0 s, n$ |. ]
set ycor ycor - 6 + random-float 15. b, j: O. N5 Y7 |5 |; M2 Q, b
]& M4 u6 ^' o$ U9 K5 z+ e4 [
end  c7 o) ]! z3 M- \" k$ m
to unit_plan
! m+ B; @  F$ z/ |ask turtles [1 Z- \1 _4 C+ S" L
if (remainder who 5 = 1) [set a who % G; W: r! f3 e
                          set x ( 0 - Wid / 2 )
, \  V/ }& Z4 m! ?* }. C2 l. V                          set y  Dep / 2 ]
( X- A9 t6 J( t: O0 I           set b  int (a / 5) * 5
) `! f6 e: f- H( |0 T# c6 C: R4 g    setxy ( xcor-of turtle b + x )2 m* a, F* l2 M! H
          ( ycor-of turtle b + y )  Z8 y0 Q8 W1 u6 @3 }+ b/ ~& b
if (remainder who 5 = 2) [set c who
5 m# Z: F% {1 g                          set x ( 0 - Wid / 2 ) 8 _- R5 _, z- ^  P
                          set y (0 - Dep / 2 )  ]
6 }% d! E( p+ u                          set d int (c / 5) * 5; P4 Y4 R# w6 J# K0 n7 T
   setxy   ( xcor-of turtle d + x )7 X$ r/ `0 E1 w9 u+ G, A
           (ycor-of turtle d + y )
% j' [& y: x0 I1 {' ?! b          1 F& L0 |: N) X4 W! g# C9 @3 q' A! A
            
, J! x3 k+ Z% f/ r% O3 \3 _# h3 A: r2 kif (remainder who 5 = 3) [set k who  N4 k0 N* D* S6 d
                          set x( Wid / 2)  . d- k/ Y8 W. ?9 |! g: i
                          set y (0 - Dep / 2 ) ]& K. c- P8 n# P4 s
                          set f int (k / 5) * 50 y/ m( `+ T" }1 f0 S
  setxy   ( xcor-of turtle f + x )2 s( Z7 j# u4 ]- T4 R- P  b4 u- R
           (ycor-of turtle f + y )
, `& e% ]) N( f. D           
6 k( X7 D" F0 v+ P& [. z3 M           ' ]% n( }* `- p4 N3 P- J& G! ~+ Z
if (remainder who 5 = 4) [set g who9 J' B. C/ ~/ X
                          set x Wid / 2
/ n! o+ `5 q( z! P                          set y  Dep / 2 ]
" K/ Q& |, k. d( L                          set h  int (g / 5) * 5
3 ^  p# u/ u3 u" S# D! v  setxy   ( xcor-of turtle h + x ). k/ H6 q  R$ N& a
           (ycor-of turtle h + y ) ( z/ u1 O) _6 ^, C1 G6 w  k# i) Z
                          
  w* d- r! {; @+ ~+ G' P                          
( ?& A9 z9 J# q: \                          ]
9 n0 ]" D9 f  hend
1 E( u6 y  Q3 O, h8 [$ H& m- a! U6 g1 ?& J1 `* h( v
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
4 a$ ^3 L+ \! G$ F应该是
& v; r( r8 M0 F$ i3 b- m% F# B; fask turtles [7 u: S: {7 n' ?  v
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
( f) S  s" A  \) ~  Q# B" t                          set y  Dep / 2 ' g! e7 _( ^6 b7 B6 D  l# F
           set b  int (who / 5) * 54 V0 E2 Y$ f  U; |. z9 W3 x- r
    setxy ( xcor-of turtle b + x )
- \2 `% A1 F6 g          ( ycor-of turtle b + y )]]" H" o4 L8 V+ q9 S1 D
end) ^0 k" l6 b& c/ `; Q- m, v; z2 C. F
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-25 20:36 , Processed in 0.020267 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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