设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7606|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
4 B9 Z& j5 t- x+ _; Z4 W+ h" o7 X: l8 k4 u. g/ y. C: g
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" R: G# q! m( [% s& A% O
) e& g8 _9 p( Q- E, gturtles-own [a b c d k f g h+ M5 a+ O8 E. o  t8 W' A5 W
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
0 o+ E3 b3 D3 }, u1 W]
' B  |2 t3 F5 Mto new
1 ?9 C  r$ Q$ G( r; f  ca
, ?7 |) [/ I) y" {  crt 5 * num_of_building
! D1 {1 P. U, w5 Q, i2 |7 ]  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]% w+ X- ^8 }" Z7 M- V
  scatter     ;;keep center-turtle random positions
9 o  `2 K! J  b* X- b$ _  unit_plan   ;;make up the building plan3 G) S3 \# `* Q2 ^/ s0 c  ]
end
- R! f, W& f8 |1 H& t+ p! ?3 sto scatter
, q# }% n& f5 nask turtles with [remainder who 5 = 0], L# a! z+ x% ]  V, E
[
: R( q' m* X& Z( w+ }set xcor xcor - 6 + random-float 15
" ^* I; G  m8 l! J6 i& iset ycor ycor - 6 + random-float 15
6 O8 k: _6 W6 u4 T]
; o- B) ?3 H7 Xend. C8 f# ?* T  Q, v7 r! }( M$ t* x- u
to unit_plan 8 E  P* i9 Z0 J& c/ f- l
ask turtles [
: W; T# |, J: k' b/ [if (remainder who 5 = 1) [set a who
! }! G6 C( k& O7 K+ ]& V* N& i                          set x ( 0 - Wid / 2 ) 5 V+ P! T# a# e. c9 x
                          set y  Dep / 2 ]! J# \2 Z' y8 q0 x# s
           set b  int (a / 5) * 5
1 c7 H+ `6 X* N9 U" |    setxy ( xcor-of turtle b + x )4 L% s5 J! R% K' N) s2 `" B) B
          ( ycor-of turtle b + y )
1 r9 A* `# v& Z' ?' o( ?( l% oif (remainder who 5 = 2) [set c who! ^% b9 k. P6 X2 V$ `% R* @" H4 }
                          set x ( 0 - Wid / 2 )
. }+ L9 k8 e: Y3 D9 r  Y                          set y (0 - Dep / 2 )  ]
1 |1 ?! y; ?9 m0 U# \" x, r. W, m                          set d int (c / 5) * 5
/ V4 Z, o# N0 f( q, s; Q* g   setxy   ( xcor-of turtle d + x ): Z# G+ f" E/ G
           (ycor-of turtle d + y )
$ s3 C+ W5 g; w3 q$ T         
1 ~! ~& m" V# I, F; X6 r            $ [0 v5 X& t- b% n" k2 q
if (remainder who 5 = 3) [set k who
/ s" G$ O5 T5 f& w, u3 c                          set x( Wid / 2)  / g. ~' B4 `/ \8 d) O
                          set y (0 - Dep / 2 ) ]
5 v' K0 Z3 j7 @) p- ^8 w/ q; }% ~                          set f int (k / 5) * 5
) m) S% g6 H% `+ R# E  setxy   ( xcor-of turtle f + x )6 d7 C) C  W9 D' u/ |
           (ycor-of turtle f + y )
1 @# f  b9 a4 X7 }           
4 [% R0 f4 M3 ~  }4 l$ ^           
  t' ^0 j1 @: y# y% Iif (remainder who 5 = 4) [set g who
$ i9 F- i& F6 i  D- |% d; m) A                          set x Wid / 2
* V3 e  ?' J  c) x2 ?                          set y  Dep / 2 ]6 f+ a& }) x9 Y1 ^
                          set h  int (g / 5) * 5
$ ~0 O: }; H6 d  setxy   ( xcor-of turtle h + x )/ P  u; A; s7 H7 a/ z( K
           (ycor-of turtle h + y )
3 \; l, T7 j! s' x0 W                          
9 C% @( s0 s2 u! Q; n% r                          ; r* H$ Z2 s6 V5 v
                          ]1 ~- G/ e# V- `  Z
end
2 u6 t- @& W/ m1 k( d5 C, d
6 [5 Z$ U1 V* O0 {[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,' {* ]" h6 T+ @8 R2 f3 H4 ?; p
应该是5 r7 X* O, b* _! T; g! F. U
ask turtles [
. }% q# z4 Y' ?* x5 O/ jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
7 e. {) L5 D8 x; U% M- C$ g                          set y  Dep / 2
* u( h; Y6 G) z9 I6 d' U! P2 ]) @           set b  int (who / 5) * 5+ Y) N8 u+ w. p2 w3 B/ W8 U( K, y
    setxy ( xcor-of turtle b + x )
$ k: O) `" \/ `3 y+ T          ( ycor-of turtle b + y )]]' r' m$ x/ c0 x7 Q9 J: @1 \, \
end
8 D! S7 H/ x" z- Z5 I之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-4 07:30 , Processed in 0.017575 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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