设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9082|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
7 T  M- Z% L3 h; b( W* _7 I# o4 a5 v, ]8 C" L5 v) A( F4 ~
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。0 ?' O2 s1 z2 i3 D1 P

# w* d! {# y1 C5 dturtles-own [a b c d k f g h
, O! S/ O' h1 l/ S" i; P  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
4 d% r0 E; x& R2 w* L6 \: _]6 d( u$ @0 e, ?( N9 w( \  I; Z; n
to new* m* @) i' R. d5 B
  ca
: G: m& T2 i8 R! S# e# D  crt 5 * num_of_building% l4 R" ~8 u; N. v7 m- l" J
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]: g' {& b) O5 w8 G- b; b% d  g# K" `
  scatter     ;;keep center-turtle random positions 5 y# @7 A9 N3 r# M
  unit_plan   ;;make up the building plan" a; |5 H4 \& v; g$ B
end' |1 w+ }$ w" j1 U+ U1 g# i
to scatter
: ], {. C& N6 i, J9 I- M1 x* Xask turtles with [remainder who 5 = 0]0 f, p0 D( ~) x' K; X! s
[, W6 b$ q) Z* H) `, r  ?
set xcor xcor - 6 + random-float 15; l* i( `6 Q. f5 @& o
set ycor ycor - 6 + random-float 15; q( u3 z0 m. y. X
]8 M- _. g9 W8 K9 N
end
/ `7 s! ^7 Z1 c2 @) I$ \) bto unit_plan
) [. E' k6 S$ w* \) Pask turtles [
& K: e6 D. U2 [% Q. wif (remainder who 5 = 1) [set a who 5 W8 A8 f( k. j0 n; |, ]
                          set x ( 0 - Wid / 2 ) ; u$ K& R5 p% y  a7 _7 c, D
                          set y  Dep / 2 ]
6 F6 g. z+ P& d- |8 Y- F  A           set b  int (a / 5) * 5
/ {3 ~" E, N& m+ S    setxy ( xcor-of turtle b + x )
/ e2 u/ a1 M  H/ q6 l' t' _          ( ycor-of turtle b + y )
; [9 E# v; p6 p) n0 J: P2 [1 Wif (remainder who 5 = 2) [set c who' q3 t/ `1 t& ?/ k
                          set x ( 0 - Wid / 2 )
7 d6 s# f7 u8 b' X+ {; Y* h# ^2 `) \                          set y (0 - Dep / 2 )  ]
: q1 Q3 b0 t; E/ v                          set d int (c / 5) * 5
! n: Z6 d) K7 Y- x3 Q! m: x# r   setxy   ( xcor-of turtle d + x )
& @! \$ m: P/ g. ?: j           (ycor-of turtle d + y ) . P; X7 s- Y$ Z- V6 Y) A
          : n/ f( v7 }8 v, m+ U7 H' S$ z
            $ K& C2 ]# O: L+ U3 W
if (remainder who 5 = 3) [set k who
: y7 K$ W5 ^: Q# h  }8 d0 a! k# C                          set x( Wid / 2)  
+ Y. {% t  d5 H. C- X2 `7 L$ D                          set y (0 - Dep / 2 ) ]
2 h4 v7 [! ?* w                          set f int (k / 5) * 5
1 `* {( f6 s( o! g+ W" d5 G  setxy   ( xcor-of turtle f + x )* D$ k/ i: U- N* v& R$ Q  Y' h
           (ycor-of turtle f + y ) ' B( `- b5 ^* I1 A# M
           
3 ?8 n" r  M* n+ `           
0 w* j+ o# f4 xif (remainder who 5 = 4) [set g who
9 H. t1 ]% x* q3 D9 v; d. P1 Q) z0 t                          set x Wid / 2
6 n: k" T4 V- s; {8 b/ y                          set y  Dep / 2 ]
& d) B9 O" d, M3 j                          set h  int (g / 5) * 5
! c/ ~7 E( \( v: W* P2 g2 O  setxy   ( xcor-of turtle h + x )* A- g& H1 _! G* z# I' @
           (ycor-of turtle h + y )
  b8 G$ i$ b. L! l# i- {6 J6 j                          
9 K8 P8 E/ P8 Z* N; E) i# |2 S) N7 m                          ! ^, E* T% D/ C% g% I/ D' o4 S' E
                          ]
- h( S# z2 E2 H% A  b6 M6 uend
- x* Z# y0 e' d- e, R$ h& ]- m0 |5 N
9 j+ c8 r4 C# t2 H! _3 K[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' m) H; N. {9 Y应该是
! _& K3 i4 o+ N/ Vask turtles [/ H3 d5 V( Z+ ~7 d1 g0 M
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
  G* n8 ^6 X; l# L, i3 g9 t                          set y  Dep / 2
: u! D6 A" V# K% g  }5 ]           set b  int (who / 5) * 5
7 u# B. _7 h/ Q3 z# A    setxy ( xcor-of turtle b + x )
0 M7 Y$ F2 z. W1 o& b: E8 ^( \          ( ycor-of turtle b + y )]]
# e' L7 Q' g- P3 j- l, yend4 u& t, v  Q9 V* ?3 w6 _
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-15 14:18 , Processed in 0.015907 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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