设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9163|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。# J% T6 \8 c  W" t, p6 P
/ B- G0 |( |( d, c9 u
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。7 Z. j+ l; d$ ], }: x
9 V. F# ]# |+ A  D7 W5 G
turtles-own [a b c d k f g h' h5 i% ^! r0 K. g
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle . d4 _' P: L- \8 b8 n: C
]
; T" E' i% ?& Fto new4 D) `. }% c' q% V8 a7 Y
  ca
4 p. B* ]* _0 x& C  crt 5 * num_of_building
* j4 j: V% c4 P/ i; k5 [  K: x6 {  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
# H7 X+ O% r/ ^& \  scatter     ;;keep center-turtle random positions 3 Q3 a) r: y8 v/ V' f8 ~# D. M9 _
  unit_plan   ;;make up the building plan
' t  T* j' g  O3 J/ Jend
+ M5 e  a0 x9 B5 |# H# Q* q' l! Cto scatter
# p/ N4 i, {2 n* s6 x; ]% Eask turtles with [remainder who 5 = 0]
% P3 b) A3 q  u, h# C; ^2 S- E! B[7 W% ^3 V; X! u
set xcor xcor - 6 + random-float 15! E* ~4 _2 E7 P5 r
set ycor ycor - 6 + random-float 15& U& @2 ^- r% X  n1 r4 P: _
]; t+ Y% v. r& F0 N
end5 X# r& r- w9 q& Q2 E- l
to unit_plan / ?( e- h2 p1 V4 Z/ b" o% d
ask turtles [
) F$ ~1 l  M9 c! E) v3 nif (remainder who 5 = 1) [set a who
- `1 y0 s& x. g% V9 `# b                          set x ( 0 - Wid / 2 )
/ O' C& x' U" W$ D0 T2 S& B  F' l                          set y  Dep / 2 ]/ R0 F0 Z6 g3 h4 e4 P
           set b  int (a / 5) * 56 k" d' G0 v! o3 E' o
    setxy ( xcor-of turtle b + x )# H8 ^* U4 u1 Q3 |+ |
          ( ycor-of turtle b + y )! @. H1 b" T# g" b' S% Z$ J5 S$ N
if (remainder who 5 = 2) [set c who# y: a' p5 K9 P; ?8 P
                          set x ( 0 - Wid / 2 ) " K5 ^4 \2 j  U6 r" [* Q! [
                          set y (0 - Dep / 2 )  ]
" p; {3 B9 b) O! F/ v                          set d int (c / 5) * 5
/ x; \4 `/ J( j+ x, I* K" u   setxy   ( xcor-of turtle d + x )
9 ]- R- U& H6 @  s- I           (ycor-of turtle d + y )
/ L, U- F8 n6 H' Q' T( p* T9 U          ) r& ^. {' c' ?$ j  O
            ! q9 ~- r# e: `- k
if (remainder who 5 = 3) [set k who$ w2 L+ A1 W+ y7 Y, N5 b/ S2 `
                          set x( Wid / 2)  
( l& `3 r8 x! p                          set y (0 - Dep / 2 ) ]0 ]1 W5 [! i. ^1 l& G9 u
                          set f int (k / 5) * 54 n8 J& W6 Q( E
  setxy   ( xcor-of turtle f + x )" ^7 m3 ~4 }" Q6 g7 h6 r
           (ycor-of turtle f + y ) 4 d( h) H- W+ E2 r
           " M5 k" M1 I/ q& @& b
           9 }' K  }3 M7 w: W) q
if (remainder who 5 = 4) [set g who
5 K( j+ ]/ p+ R) m& o  O2 w! w                          set x Wid / 2
1 t" S$ h% V( s) ^& K: w9 s                          set y  Dep / 2 ]
1 i; _0 m3 G! j) [: ^) C# L0 O                          set h  int (g / 5) * 51 G8 Y/ x9 P" p1 m' m. D1 l
  setxy   ( xcor-of turtle h + x )
* D" o  f: {/ V( z           (ycor-of turtle h + y ) % i! z7 N4 L" w9 m' O
                          : J" F5 |! f. Z. Q
                          , }9 e! c$ `1 N) P' V6 k% Q7 O2 A( W( n
                          ]/ @6 X0 i# G) g8 \) e% i
end
; k$ P$ a0 E9 f6 o! M1 o) s
6 U* V9 g4 `2 P  F1 x[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
4 E5 w! J0 R# Y. o( E) |9 M" A应该是
0 c1 y% S6 [3 ^! r8 d; Eask turtles [
& G* _+ c/ O7 b) h; \if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 9 M* _" C; o+ Q# k
                          set y  Dep / 2 ' z1 O, f: a7 X4 V9 d9 w. Z) I& G
           set b  int (who / 5) * 5
" D8 _. j& ]! s$ V& P5 I    setxy ( xcor-of turtle b + x )
) }4 w: T9 l# P) g' g% j2 L          ( ycor-of turtle b + y )]]
( d3 V, H" p9 pend
/ B* X7 M6 I5 y2 O2 V. L& [之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-24 03:07 , Processed in 0.016721 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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