设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9010|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
8 Z: ^$ R+ [) |/ p& ]8 K
' j: W- Z% Z! f4 ]# A' ^7 V$ r* L但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
$ x1 Y' e) Z+ Z0 L7 j. x' P
, {4 X- A. a! F7 G: |& dturtles-own [a b c d k f g h: D9 p2 M' Z! j; Z% m" N( u
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle % Y/ V' C2 y' ?1 d$ B  W9 {
]
) j* C5 ]+ @* E3 X. j. O* sto new
2 H4 Q) r6 X4 M' p3 K4 i' }3 u  ca
4 B5 g5 S5 i! }4 r8 _7 P) V0 A' {  crt 5 * num_of_building
9 u, @8 Z" ]  f0 F  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]9 u. Q4 b" i  X+ z: e! l" J" c
  scatter     ;;keep center-turtle random positions
' y, m( C9 `8 f6 y' p5 i' G  unit_plan   ;;make up the building plan
' T6 J) H9 M0 C' u" g- i6 Gend
; q  I! y) O* l& h! `5 @to scatter2 c! i3 W$ g( \3 V3 n
ask turtles with [remainder who 5 = 0]
/ S6 t' Q5 U' N% A, G  }[
4 p5 ]5 `+ y+ M$ k! E. T1 Wset xcor xcor - 6 + random-float 15
/ P' T7 e* U! lset ycor ycor - 6 + random-float 15' m; j- ~. H9 z; p- Q. b* j
]
! A* {1 _  ]: S( o  O2 @- }& Gend
! E9 F! X; y* Rto unit_plan ( h! t+ N9 Z# }: C" C& H, z
ask turtles [" N6 ]# x) x- ]1 e
if (remainder who 5 = 1) [set a who
# p& g- J3 I- h3 d/ W) h' H                          set x ( 0 - Wid / 2 )
. U+ s, |2 x+ r( V$ M                          set y  Dep / 2 ]% e) H7 Z( ^! M2 F5 r
           set b  int (a / 5) * 5% I" ^1 D6 c  d0 D
    setxy ( xcor-of turtle b + x )8 `( d- b, r; m
          ( ycor-of turtle b + y )
, j  G! V. `4 t3 t6 gif (remainder who 5 = 2) [set c who
7 O6 m( F# J$ d: P, W                          set x ( 0 - Wid / 2 ) - A/ `1 M& @6 h
                          set y (0 - Dep / 2 )  ]
  Z$ w1 t/ C3 j, I4 I' l8 J6 ]                          set d int (c / 5) * 5
; g- ~6 C# d1 S( n  \0 c/ c   setxy   ( xcor-of turtle d + x )1 T1 x9 @+ ~# B) F
           (ycor-of turtle d + y ) , B! z3 h9 |: {" I9 i7 `
         
0 x3 y+ G8 X) g) ]0 d1 ^; g# @1 o0 i& ^# r3 [            0 [- c5 x% z* U7 u( ?% T) s6 q9 D
if (remainder who 5 = 3) [set k who% c! \5 _+ R% y$ z# R
                          set x( Wid / 2)  
) Y% k0 q/ C7 B1 i' D8 q4 c+ D7 X                          set y (0 - Dep / 2 ) ]% V1 y& d9 L) K1 J
                          set f int (k / 5) * 5
" _- D: [# q  j) v* N0 j  setxy   ( xcor-of turtle f + x )
! ]' ]) c( K% n. t+ N8 g* A           (ycor-of turtle f + y ) 8 W- n, d+ H3 B5 o* w
           
6 }: A% w' b8 Q' R) F1 t7 h1 }6 s           1 C. h9 P7 f1 I& |' W
if (remainder who 5 = 4) [set g who% V7 U8 C8 {8 O1 c* C' R2 L
                          set x Wid / 2
( ?, {. M1 j& y6 Q; ~$ r; a8 m                          set y  Dep / 2 ]1 g+ _: d8 v( t
                          set h  int (g / 5) * 5
( v# T$ N9 i" e5 _  setxy   ( xcor-of turtle h + x )/ z+ k3 Y4 z/ X1 t  ?
           (ycor-of turtle h + y ) / t! I  }1 [' d7 \* L  I
                          1 I% ^' T+ A6 V) ^& e/ ]; i
                          
4 v9 X; j3 H; Z% F4 A5 s6 {/ a& m                          ]0 d) K+ s3 n* b8 @) a3 d: c. t
end
; m! Q( q1 F4 z" R: m
. v9 K' T0 X- @* C0 b9 e[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
7 g( ~: m* h5 X$ c应该是
2 c7 J; n3 \" ?( c% ~5 Aask turtles [/ |1 ?0 U7 M* n; }% l. @5 g
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) . y# Y, Z& h: o. I9 Q( t
                          set y  Dep / 2
, p, {" i" ?& B2 i5 ~           set b  int (who / 5) * 5. J% N1 _/ C9 d* J' n' b" M
    setxy ( xcor-of turtle b + x )
- \. U5 H: @) E* F/ w          ( ycor-of turtle b + y )]]
$ A/ R' h0 L9 [% g  t, i/ K- qend1 F9 z4 r" a! O- a" V; Z# p
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-6 05:16 , Processed in 0.016485 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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