设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7931|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。4 M2 Z( Z# Y" h' d, _
( [" c" D8 V; K' X3 P
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
- U3 G* k  P- B
/ E# }4 h' L; P- A/ yturtles-own [a b c d k f g h
  U: n4 s7 A+ D, V* `- Q  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , I, w2 B$ Q0 O* A2 q
]
5 V6 x$ \& d( b" J, Tto new
0 W' K! g' U8 a/ D1 W& _  |  ca7 u4 `! Y3 V- O+ `7 t9 }
  crt 5 * num_of_building; W7 ^& ]6 R/ ^
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]' }! X- T6 n3 Z
  scatter     ;;keep center-turtle random positions
% z! l, y; {; c8 {% r  unit_plan   ;;make up the building plan, t8 N( M* G7 |: t# j3 E& e
end
3 w$ h: |) \1 q& W7 t; L3 s9 k  j4 pto scatter3 r) d4 r% u8 K; v/ J  j/ A4 X3 c
ask turtles with [remainder who 5 = 0]% P7 ~6 t9 r, \7 N
[
1 {- O: A  J) z9 A5 L( rset xcor xcor - 6 + random-float 15
5 t+ H; R" Z' q5 O3 Q5 @$ sset ycor ycor - 6 + random-float 15; t) l0 C1 @* M! F. o& X% @1 t
]+ ^: ^2 t' {; I5 s
end( ]8 ]- l  |& t- F
to unit_plan
" [$ p9 M0 H9 N" a) H" T" n6 aask turtles [
9 T; b. ^. s5 O0 m8 t, cif (remainder who 5 = 1) [set a who : w( C0 Z/ t2 k/ b  O+ C( K' B1 J
                          set x ( 0 - Wid / 2 )
. F  l- C! ]4 X  m0 Z1 u                          set y  Dep / 2 ]: x, ~8 V/ [8 x
           set b  int (a / 5) * 5
$ T% r, d' O  C& r+ E4 h    setxy ( xcor-of turtle b + x )5 H! m- o- h8 y+ n9 k
          ( ycor-of turtle b + y )
9 t9 f  x$ @4 r; q9 Pif (remainder who 5 = 2) [set c who
) l8 f( g; ], G! w. h$ |                          set x ( 0 - Wid / 2 )
& [4 O# P5 x6 ?% ~& P1 l; `7 p: m                          set y (0 - Dep / 2 )  ]$ [5 {, U+ F, X4 V3 F& f/ g
                          set d int (c / 5) * 5
7 W0 D: g' d/ v: D4 R0 F, x   setxy   ( xcor-of turtle d + x )4 f- c8 ~6 Z% m
           (ycor-of turtle d + y )
9 @7 a8 O1 b' ~% w3 m1 T- h( |          ' a! c% j3 R' r
            
. S: g6 `* B4 H0 dif (remainder who 5 = 3) [set k who# K! `$ Y2 `2 G8 W" I1 b! m2 I
                          set x( Wid / 2)  + n+ C2 s9 d5 w, `* |
                          set y (0 - Dep / 2 ) ]6 q- G7 Q/ R1 f) s$ C. F6 G4 o
                          set f int (k / 5) * 5
- v/ b9 X! Z! D" F  setxy   ( xcor-of turtle f + x )4 Q8 F- t; t+ `& `# N
           (ycor-of turtle f + y ) - z- ]' l& @7 T! s+ f0 l, J
           5 z' R: S5 \* j7 o; A
           
; L. o2 i$ ]. E7 c$ _if (remainder who 5 = 4) [set g who
1 F' `' K" R/ J& g: J: T                          set x Wid / 2 . @& E. u* d# t4 J3 s& @, r- }
                          set y  Dep / 2 ], J/ n2 m' B0 C+ ^6 {' t' ]% l
                          set h  int (g / 5) * 5- }5 z- }7 p) x& k6 P1 U: z
  setxy   ( xcor-of turtle h + x )  h$ Y6 F- a$ X$ M6 y, o
           (ycor-of turtle h + y ) 0 v1 V  L1 _. n. H" h# u
                          ) j  m9 N; _3 M& L5 `
                          
2 h% ~. |7 B# @" ~0 O2 R- l+ _                          ]: o- E* j9 f9 _+ X. M" C
end
% E' S" s7 z. \4 ~$ p
* H7 r2 J! N, ^" t* q+ B[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
0 ~0 a( \& @- `( M4 ^( w应该是1 |$ y3 A% y2 r) c, p; Z7 v
ask turtles [4 |& v8 b/ O  _
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 X. P) |+ D- v$ P, g% _                          set y  Dep / 2 1 d4 k' J9 P8 p' B7 f8 Z
           set b  int (who / 5) * 5
3 K6 S# d3 g* |9 t+ x2 z2 y0 Q5 y3 d- y    setxy ( xcor-of turtle b + x )
) V. z" w5 i# M/ M          ( ycor-of turtle b + y )]]
) Q( m5 ]( O7 G6 `) g7 zend
# P( n' s- x- k) u8 X& b! ]& n之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-19 12:17 , Processed in 0.016694 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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