设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7713|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。% i& x: s4 q8 `, N, }! G
1 I: W( w0 i9 I6 E
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。- x" }" |0 H6 Y+ X

& ]/ t2 W; p' E- f  Y# ?0 Mturtles-own [a b c d k f g h
. k" H; |% I$ A+ @( e  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
6 K4 e9 }# j7 l2 w# E' f/ X- p]
# }+ |2 |+ l8 {3 X# r* Gto new
8 s; o$ [3 L0 Y; J4 Y' X' D  ca: {6 W0 N. }8 e: }; _4 b8 W' @
  crt 5 * num_of_building
* W- v+ b7 U- R  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]% e* E( R: t2 ~! p
  scatter     ;;keep center-turtle random positions . e- d5 j6 F/ j0 k
  unit_plan   ;;make up the building plan
5 L% c4 O* b! d6 p+ k" o6 nend" s# b# q  B0 H+ V  y
to scatter5 ^& J, L' i" L
ask turtles with [remainder who 5 = 0]
" z3 B6 s, O& a: Y; {[
* m' {2 z* j1 C8 u2 R: t5 @set xcor xcor - 6 + random-float 15
# X$ W4 W( @+ M4 l* L9 M: r2 Cset ycor ycor - 6 + random-float 15$ ]# x8 [, S3 l/ ?+ k
]
1 h/ X# E. k" H$ P* w! m, L# \# y! Tend
$ k4 p6 ~# R8 V4 lto unit_plan
5 j, R6 \5 K, _: W7 U6 \1 Dask turtles [
: Q' h* C* q8 k, X) B6 [" S8 aif (remainder who 5 = 1) [set a who ; M" g) {7 ~  v/ \
                          set x ( 0 - Wid / 2 ) ; B) v( X5 L0 T  ^% |& [
                          set y  Dep / 2 ]+ J4 r8 O- l7 `6 N2 \# H+ U
           set b  int (a / 5) * 5* `1 Y6 H) }: b2 V& w
    setxy ( xcor-of turtle b + x )1 |% i+ O! `/ b5 W0 H1 `
          ( ycor-of turtle b + y )
2 b6 {" ^" P- |4 B7 k7 nif (remainder who 5 = 2) [set c who
4 |- ?+ t. r4 }' V                          set x ( 0 - Wid / 2 )
: p( Y, _" Y3 y# R3 E% k7 _- V% i- v                          set y (0 - Dep / 2 )  ]
# i' t: T3 r. }                          set d int (c / 5) * 5% c( E, x+ y2 `
   setxy   ( xcor-of turtle d + x )
' D/ D6 j9 m7 Y0 O* z5 u* q           (ycor-of turtle d + y ) 6 K, u5 s( ]  U. M3 l3 c
         
* I  Q& `( m2 g: G            ( C9 _( a+ N$ ?: [6 Y1 U
if (remainder who 5 = 3) [set k who/ N1 }2 V3 d% y* q  g: _; |2 `
                          set x( Wid / 2)  # X" T7 c: o+ n7 _
                          set y (0 - Dep / 2 ) ]( \" u8 @5 B2 d) L* V$ B
                          set f int (k / 5) * 5) Z+ k' q7 D$ _$ g  A
  setxy   ( xcor-of turtle f + x )2 p9 ^+ ~) T* v
           (ycor-of turtle f + y )
( R+ F$ \4 n& X           5 T( ?- K# {$ T7 Z, v
           
& h; b) Y; ^; q7 i* i9 Z* Gif (remainder who 5 = 4) [set g who
+ Q7 t; @- M* @# t                          set x Wid / 2
. t+ O( ^: V* p' ]' R: k                          set y  Dep / 2 ]
/ b8 B4 G' Z, p1 X, S# q/ u                          set h  int (g / 5) * 5+ G; ?7 \4 ?7 H: d& e, V
  setxy   ( xcor-of turtle h + x )+ j/ T$ U5 ?9 `& z/ a8 K
           (ycor-of turtle h + y ) 3 `" K5 G; Q% d+ B
                          
& ?. ~, i5 N. Y. V5 N0 y  R                          
6 z7 ~/ C' G# F0 Y- F$ E9 p                          ]
7 K# I8 q5 B0 b. y, |* Y% N" L, Bend
' @9 l( w' i% b6 b6 V+ `4 i4 r9 T+ d, ?  {* t% }: E% _: R# O  k/ E
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,9 ]7 v+ Q. Q. L" _1 q
应该是$ |8 q/ k3 ]' l  S8 T8 W
ask turtles [0 u* F# p. O9 y
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) ! T9 A4 X- r$ J4 g5 c
                          set y  Dep / 2
/ w3 B3 p* A; T( N) k1 Z" r1 K/ ~           set b  int (who / 5) * 5
9 n6 P0 d& Y) \! B( }$ V    setxy ( xcor-of turtle b + x )4 W) V7 i$ `) @3 A$ c' i" m8 s
          ( ycor-of turtle b + y )]]+ n  G1 Q7 K0 F+ J: Y1 F7 O
end  d  C$ i' b% N0 v1 S# d0 ?5 [% r
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 00:57 , Processed in 0.015479 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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