设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7978|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。" l# a9 k/ l$ w- S

& i( G* [( `8 g2 f/ A# e但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
" X& k  w6 v5 n
: g+ r# w- C7 O5 ~$ Eturtles-own [a b c d k f g h
( U! @  e# P1 a! I* Z2 Q  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
5 v" @( ]2 C' I; W* E% t* X) O]
( l: f4 r8 ^- A+ ^8 C, B' I+ I* Fto new
2 i6 e$ y% {4 }  ca6 g6 Z- _" m0 s( o2 z
  crt 5 * num_of_building, r. }/ L: p" Y/ U
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
, B# ~0 u4 Z9 W% o, @9 a  scatter     ;;keep center-turtle random positions : ~% v6 K; A8 r
  unit_plan   ;;make up the building plan
" L. k: Z9 n& q) E# ]4 [0 Rend" H0 j& m# K6 s8 z  z
to scatter
- b5 g0 _; r- O- Dask turtles with [remainder who 5 = 0]- \1 F. o: G8 J) Y: f
[
- ~% p; E. P, S* h. p- F* \set xcor xcor - 6 + random-float 15
1 i. c+ p# J# ^  T/ n# G1 o" v+ Vset ycor ycor - 6 + random-float 15
: K- |% Z( E$ S]8 U1 C: \$ D6 f- O2 L- A
end) ^% z% h: E% {9 k" f) G$ r
to unit_plan
* r- X6 E7 W" ]' ?+ T. {% \ask turtles [& W+ V5 \+ T# n5 ~
if (remainder who 5 = 1) [set a who
! }1 S& |, k0 Y, g9 p% e                          set x ( 0 - Wid / 2 ) " z/ J' ~/ J  h
                          set y  Dep / 2 ]* m# t4 J( o9 X" ]2 `; ?/ r
           set b  int (a / 5) * 5- g0 B0 D. k5 i) g
    setxy ( xcor-of turtle b + x )
7 \9 ?+ U, f; K          ( ycor-of turtle b + y )
: `# ^) d+ i, E4 X' P; i" u6 P* dif (remainder who 5 = 2) [set c who
5 `3 Q0 x0 L1 f. a# L5 z- L. v                          set x ( 0 - Wid / 2 )
1 g+ h* w. h* Q8 N$ U                          set y (0 - Dep / 2 )  ]/ {! R! a9 `( d+ C; D  z8 j$ z
                          set d int (c / 5) * 5
/ }, R# m3 L8 \5 k   setxy   ( xcor-of turtle d + x ), ^% i. v/ L: T3 Y
           (ycor-of turtle d + y )
9 G- d9 v0 z1 t7 Q" m, O8 e8 g3 z         
4 l/ R6 S2 C0 F            $ ^  L& [3 [! i6 u3 q
if (remainder who 5 = 3) [set k who
% [% k1 X" v! N# j5 t/ T) a                          set x( Wid / 2)  $ h4 g. o# m# q$ y( D5 V
                          set y (0 - Dep / 2 ) ]
0 f  h  A& j1 W                          set f int (k / 5) * 5* c  z3 n0 r4 N: u( j* Q$ J
  setxy   ( xcor-of turtle f + x )
2 C+ n' V4 f! D, a2 T  P           (ycor-of turtle f + y ) 2 p" B8 W! {2 \: z
           
- g! ^( N) D* x: l! W+ E           
" w. z9 [! n7 Y9 B( H+ rif (remainder who 5 = 4) [set g who
9 |7 y1 d" A% K) N                          set x Wid / 2 / Q( P8 V7 B! x+ s
                          set y  Dep / 2 ], X: [  d5 K$ d! H0 S( C2 `
                          set h  int (g / 5) * 55 Z0 N# U1 h; ^1 b8 ^9 g& n
  setxy   ( xcor-of turtle h + x )
1 z( r! |! O4 `3 d) _           (ycor-of turtle h + y )
( F3 H! M1 V) Z9 m# M2 \                          
7 D  T9 Y5 _& q' E                          
5 C! [# T( |& ~/ `" ^$ q                          ]8 S) X9 K6 Q: R3 [9 E
end1 F8 _: Z5 A* ^7 g

) [: a! P' J6 g  m; h  Q7 ][ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,. o0 Z1 J5 C, B. w7 g- q% ^2 {6 M
应该是% V; u' U5 W$ f: m3 X, X
ask turtles [
1 j% g/ Y, X7 x6 g, _# H- w5 e7 jif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) + F" A; t$ r1 `7 x/ l% D3 J
                          set y  Dep / 2
# c% n( V' A+ m' @           set b  int (who / 5) * 5% q1 ?' g$ \- Q  c* n( E/ d
    setxy ( xcor-of turtle b + x )" r  t  W3 I( I' D+ V& A
          ( ycor-of turtle b + y )]]
% c$ h' A: p* C, ]- o+ Qend
" D7 F) a3 W* A3 D, H1 Z  M) _, R之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-24 09:05 , Processed in 0.024150 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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