设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7889|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
. M- F2 p- N( N7 t8 m' F
  V, A! o0 @" K. A4 I但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
1 B1 g- p+ F: _7 u/ @
7 O' E8 B: [, B+ W8 p0 p1 b/ g) z' Sturtles-own [a b c d k f g h
  w6 F, [: Y5 v' ]# ~2 x6 ~( m  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 9 y8 C% C; g2 _! ]! I/ e: ~7 W
]0 X6 g' X! o& @$ r
to new$ B7 t9 e! I2 }. X& W, M* G
  ca% R- b8 t: |- S
  crt 5 * num_of_building/ e, ^3 A" b" R$ T( z8 }
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' O) L6 ]. R- V- S2 m- R# a* I5 u
  scatter     ;;keep center-turtle random positions
: t& j  A- E2 i* f" O  unit_plan   ;;make up the building plan
( @" Q; Z! }2 q) `! y3 H' ^# ^end
1 O, I) [* K3 g$ q, T+ z# P& Uto scatter
1 _3 t4 d* x. x3 Z0 Oask turtles with [remainder who 5 = 0]
7 M# z1 z5 P4 a/ E0 F2 m# }- g; _[
/ v1 D0 K) w, X' Pset xcor xcor - 6 + random-float 15, c4 d; y, o0 h7 O( b2 Z. R! }
set ycor ycor - 6 + random-float 156 V5 g7 V* }8 H$ P1 M
]
3 J' n% @! `) b1 N/ ^5 Kend
! c1 A: V9 p- `6 s: q. n& I1 L! o; wto unit_plan
" r0 K# G' @5 h% ]1 iask turtles [- ?, T- S2 G# y
if (remainder who 5 = 1) [set a who # f: O4 b$ {2 G
                          set x ( 0 - Wid / 2 ) 5 y. k# r) @- }7 w) V/ T' L$ l2 M; X' C
                          set y  Dep / 2 ]* x$ c* u8 E4 F: g5 ^
           set b  int (a / 5) * 5- b2 P: C6 t% \  j
    setxy ( xcor-of turtle b + x )
% z* R- P0 C, R  n1 l          ( ycor-of turtle b + y )( l2 y  w! o$ K/ \1 M8 j3 g4 }* W2 M) [
if (remainder who 5 = 2) [set c who( y. g; r) e* _/ u* h* T$ Y9 m4 d
                          set x ( 0 - Wid / 2 ) $ P2 L* \5 e7 b
                          set y (0 - Dep / 2 )  ]  {( v) Y/ B# A0 U- c
                          set d int (c / 5) * 5
- d  T8 B6 u2 C% ~   setxy   ( xcor-of turtle d + x )
1 h1 e; o" q+ e4 L           (ycor-of turtle d + y )
$ N) O) a' A( {% q# ?, A$ B% I          : O7 V* l6 d) R' ^0 q: Z' |$ J# F) \  h
            " H! W& z- F2 p  c
if (remainder who 5 = 3) [set k who. ]. J6 z" E" B$ F: {9 {; B/ c
                          set x( Wid / 2)  2 p( K1 ]8 L* A, J) |
                          set y (0 - Dep / 2 ) ]
. t! i3 ?: _/ m# u. L                          set f int (k / 5) * 5- V% A5 K! m6 ?. ^# N
  setxy   ( xcor-of turtle f + x )) G  d1 {2 r9 m3 ^/ f5 N
           (ycor-of turtle f + y ) 6 b( o: y6 \& K" ]
           - P: R( O  u( A+ O
           0 s) \9 C: R3 g* a0 @2 X$ M
if (remainder who 5 = 4) [set g who' n( e4 {6 l$ Q3 b( S$ W6 \# s' B
                          set x Wid / 2 % ]* x* V2 ]# m- k+ W
                          set y  Dep / 2 ]
; Y$ Z% K$ g5 n% O: P; N1 `. E                          set h  int (g / 5) * 5
5 o7 S5 P/ {, Y. L! m5 ^# z  setxy   ( xcor-of turtle h + x ); o- e( S+ H# ~' ^' Y  `) A; k  v
           (ycor-of turtle h + y )
2 m8 z5 U$ U8 D                          
' N4 b' Q1 ~5 w# O( K5 a; F$ d4 y                          
% s1 n' w  A  f( S8 U                          ]
  |3 c; U$ m" K6 A+ H1 Z: a4 [end
" Z. A3 k8 G) `+ [. z4 H+ x# N; [& J* w/ N! R) q
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
+ n3 ?0 T1 n4 G4 ^应该是/ T" j% Q7 w8 [: t5 V# q) |5 {
ask turtles [8 A, A# w8 t, y
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) + C) X( J6 A0 j, M! e" M/ c
                          set y  Dep / 2 7 ]( ^' ]# q& M3 N$ S+ t
           set b  int (who / 5) * 5$ `7 [' S4 v. l7 O; {0 I
    setxy ( xcor-of turtle b + x )3 c3 C" @% R# X& P& y4 Y
          ( ycor-of turtle b + y )]]7 [: X! e8 E; X1 \& ?  x( m
end
' ?/ l& R5 _  w$ Z之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-15 13:39 , Processed in 0.020077 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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