设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8477|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 O& C) f* ?: ?, l% q
4 T' a' h/ C. d8 U/ T- D
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
9 C  v( E# I) }; C+ U: h# k3 J# S, D. t* B" M6 W: w9 Y
turtles-own [a b c d k f g h
" L2 B1 n# u5 J; s! Y+ Y  I- A  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ( F- M8 y  U2 n( C! g/ Y% Q
]
2 F% m+ o# q3 s! p& `to new: ]  ^3 w1 C! R
  ca4 z6 u5 M0 a& u/ Y6 X
  crt 5 * num_of_building, t: _* C7 q; G* z
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]; n! b4 m+ w4 N4 S/ w  D* P
  scatter     ;;keep center-turtle random positions
7 g  m4 s$ E5 U9 z7 E  unit_plan   ;;make up the building plan
- w5 H8 [9 g3 B- ?. w* c' I3 eend3 d2 _  x/ A- c0 H; d' a, b
to scatter
$ g9 Y  O0 u7 F2 }" X& Qask turtles with [remainder who 5 = 0]/ a* O# T& ?0 O. h& L
[
3 j2 O# [  W( |5 Oset xcor xcor - 6 + random-float 15
1 L1 t+ p7 v/ K& H6 x0 X2 j  A* ]: u/ Bset ycor ycor - 6 + random-float 15
' O9 r5 |! v+ a0 \; I0 G) l2 |]
0 g2 W6 E" M* E4 aend/ n$ |+ _' ^$ @
to unit_plan
2 m: I5 l  Z- p' Kask turtles [
4 X" R( M0 B$ t; K! Lif (remainder who 5 = 1) [set a who
* O+ |- V$ ~' W, M                          set x ( 0 - Wid / 2 ) $ T0 ^& k4 z2 L0 G4 A
                          set y  Dep / 2 ]5 C/ i/ c) |5 U
           set b  int (a / 5) * 5
  `, H' v8 {# X1 U, e5 [6 I    setxy ( xcor-of turtle b + x )/ V2 r- _  N/ o/ e9 `, O- c
          ( ycor-of turtle b + y )
( Z" {# b( e" p6 q# \( c" M  bif (remainder who 5 = 2) [set c who
, t$ w% m5 T, [0 V                          set x ( 0 - Wid / 2 ) , i% ?, l( }! T
                          set y (0 - Dep / 2 )  ]
$ c. b3 A6 d+ z, |" i) Q                          set d int (c / 5) * 5  v: e* Q- r' ]# B. C" S- J3 A
   setxy   ( xcor-of turtle d + x )
/ ?- m  `& A8 c! y* }           (ycor-of turtle d + y ) + p: T- ]1 i: |8 @5 H7 r7 p1 ]
          : Z; \! c) h" D0 T: ^/ \
            3 s0 N' m1 i4 m8 O4 E6 h: ]
if (remainder who 5 = 3) [set k who
+ Q. v7 L5 x1 H3 O! w* b4 t7 b                          set x( Wid / 2)  
9 j) L) H' b! T( r- }$ d0 x5 s6 Y! W                          set y (0 - Dep / 2 ) ]
# @- z+ C2 v$ g! ~, L+ D6 b                          set f int (k / 5) * 5
2 t- N! f" s3 I1 g: X& u  setxy   ( xcor-of turtle f + x )) M! f) [) Y- B, C. a
           (ycor-of turtle f + y )
1 m# o$ z! R4 Q+ n           ; G- I; v5 M2 l, V9 k
           2 `' ^7 P: t, N
if (remainder who 5 = 4) [set g who" a1 S9 ^6 M% S
                          set x Wid / 2
) X5 X" g& V; `- x' O  ]                          set y  Dep / 2 ]
# F$ n" ^1 C. z  H- G  n                          set h  int (g / 5) * 5
! d; V2 @+ }9 A7 n& W& @0 V) ?  setxy   ( xcor-of turtle h + x )
  i3 R4 [; A4 C           (ycor-of turtle h + y ) : U& @% |. G9 d: Q
                          ( M1 a1 U8 l+ R$ M4 d# e
                          1 D$ f4 t6 x1 V
                          ]
# K- r. Y* J7 vend
0 w6 D4 f$ k6 h9 M8 H3 Z! W. N
: B& Q2 Q4 S& E7 r: x3 m8 A( C[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
1 e9 s3 ^3 |8 S; r% Z6 {. ^应该是: i, [; i& j& A$ [" t9 l' |
ask turtles [
4 P0 S* m, z6 C& w0 p  Fif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) # p8 f9 k$ ?8 l
                          set y  Dep / 2
4 M6 U& N, i% \/ q, k           set b  int (who / 5) * 5" |9 B+ _( T  f! d: ]1 R  j# e8 k9 f
    setxy ( xcor-of turtle b + x )
- s& M! u( |5 _  F% }2 h4 b          ( ycor-of turtle b + y )]]
% b% |8 B* C4 d7 w4 c1 p+ z6 O6 V4 Uend
" Y' n; z; m2 j  U, ^" W* L' V之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-2 01:09 , Processed in 0.013337 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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