设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8097|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。6 j+ q7 P" X  P0 V
0 A% g' m4 O2 ]1 T9 I
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
! U6 K' E3 g! E( V6 D
& S4 B, c2 g7 |' V/ }turtles-own [a b c d k f g h0 u  }2 z1 x* j  L
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
& k0 v( L1 g; c3 `5 j$ _+ G7 v]
  U0 ?+ F9 r$ V& Rto new9 \' l+ |6 K5 j& T
  ca
& ~2 Z! V4 }6 X7 `8 F$ @  k3 L  crt 5 * num_of_building
* K6 k& m" C3 B# l; [  Y  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]" i# i0 R0 w" Z) A6 }* h/ g
  scatter     ;;keep center-turtle random positions
! _% i4 q2 o$ l4 K$ }5 w+ t9 O  unit_plan   ;;make up the building plan+ q9 O( Z7 U) p% a
end
( x" M8 x4 ]! Q9 E& \+ R* q0 zto scatter
) C% C2 j1 o( Y6 ?ask turtles with [remainder who 5 = 0]
5 m- N- O6 i! s: W; g[
" e: P1 u4 }: cset xcor xcor - 6 + random-float 150 A- g* p  e) v) a8 E; [' J
set ycor ycor - 6 + random-float 15
% N4 B7 z3 M8 Y; W( o7 D1 b8 G8 g]2 {& h! \3 I8 U" T. q" H/ L8 J
end( w3 _6 z' N! Z& G
to unit_plan 1 N6 e8 c0 w9 K2 a+ s7 P# n
ask turtles [$ [7 x3 E6 X4 @5 K
if (remainder who 5 = 1) [set a who
+ \! ]$ `! |' Y" B5 ]1 g8 ]) Q0 p: `                          set x ( 0 - Wid / 2 )
- P% X$ u. P: E- Z3 `7 C                          set y  Dep / 2 ]6 |) U# I1 W8 Y
           set b  int (a / 5) * 5/ W, I4 v$ a* d7 ~* Z- ]; Y3 Q) Z
    setxy ( xcor-of turtle b + x )
' W- D1 K2 G7 r          ( ycor-of turtle b + y )& w4 N' y- v; z. d. m' |3 a, H3 T: x& U' s
if (remainder who 5 = 2) [set c who
  o  y0 f' c& o6 U                          set x ( 0 - Wid / 2 ) - I+ p  D: [" y' C& P6 t) r* d
                          set y (0 - Dep / 2 )  ]5 k2 m5 m% Z  H) B( D9 n
                          set d int (c / 5) * 5
" t0 i  ?* |# P' t+ l7 z; w   setxy   ( xcor-of turtle d + x )
7 y" ?4 I: {+ {) J$ m9 l# B. Z8 \           (ycor-of turtle d + y ) 8 d+ i0 f5 b  w5 o- p$ w9 S
          * f" _: L; _7 ]
            $ M% d& y* T. b( F7 ~4 d6 g
if (remainder who 5 = 3) [set k who
% x4 i  J1 h" ^: z$ {                          set x( Wid / 2)  " n% K% [+ s& G8 z; x
                          set y (0 - Dep / 2 ) ]  l% w0 T, d% Z5 W/ P. X3 z4 M
                          set f int (k / 5) * 5# e6 n, l, K  D+ j9 w- e/ O
  setxy   ( xcor-of turtle f + x )' Y5 g- J6 c$ h9 m
           (ycor-of turtle f + y )
% U# V. K/ d' R" t4 L           
6 x0 V+ d/ b2 r. W6 N! O           
; x1 e; u6 q. y( R7 P* s+ Fif (remainder who 5 = 4) [set g who
. l! d/ A" B; e                          set x Wid / 2 7 R8 l, R. R: B; L
                          set y  Dep / 2 ]
! W3 j/ y; S6 g4 b3 g, u                          set h  int (g / 5) * 5- A0 z: y4 \) i1 K" {* D
  setxy   ( xcor-of turtle h + x )' A# B# R* C0 P/ V1 P
           (ycor-of turtle h + y )
/ x# A6 {7 z1 c7 p                          % n: H/ G5 y5 ~+ o) W! q8 F  s2 C
                          
$ ]' x* W4 z6 q( l                          ]
% s2 ^" N8 a# u' v" d  gend
& ]( I9 k; T4 ~, F2 C, F2 b& C
  ]9 z0 P3 v. B" Z' e4 w. S[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 t4 y5 T" W8 G" G7 P( I0 [
应该是
- H, e  w' }, u. Rask turtles [+ v5 [1 F) p" x& [! i; b& ^
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
1 ?6 V( `; f, Z: z6 M                          set y  Dep / 2 2 [* |7 M2 ]% R( ?3 S, W8 r
           set b  int (who / 5) * 5
# H+ Q* D; f+ C# R' I4 w    setxy ( xcor-of turtle b + x )
" C% y- @6 W6 N! I) B          ( ycor-of turtle b + y )]]4 @2 T, W7 P4 s+ U8 \8 R2 \* I7 c% c. B
end. `3 Q; b, E7 s7 t! ^
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-7 16:21 , Processed in 0.015847 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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