设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7810|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。2 O5 g- K" f  u1 r, S/ M2 U8 x: v
. U. t6 c0 Y1 E& L7 R: h
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。* x: N! m1 T1 ?% ?# d

4 L. {* ?7 d- P& Iturtles-own [a b c d k f g h, D, i. T% W  N5 a+ u/ w  a
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 2 y+ j6 R+ R* J' F1 _- p
]1 X: q3 n% R0 [
to new6 b  v# W5 a; M2 \* {
  ca+ U% U" n/ K) v( q! J0 ]! D/ R
  crt 5 * num_of_building+ E( h0 k2 O# z3 e1 t; f4 S
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
3 Q7 u- [! J/ p  b+ F: ^  scatter     ;;keep center-turtle random positions
) I( c7 C+ z1 Q/ d2 C  unit_plan   ;;make up the building plan
3 Z& Q  t+ s7 y. E" u. send9 m4 u" R& V' H- V# o
to scatter, z3 |0 r: y5 P! K! r
ask turtles with [remainder who 5 = 0]
% k) v0 c3 f9 e  Q; r[
0 p+ p5 Z; w; S( _0 I, fset xcor xcor - 6 + random-float 15- Y( |; F3 w' H8 V( ?
set ycor ycor - 6 + random-float 15
5 a; v2 G0 T( z/ ?9 I/ a! E& ^]
8 x3 E2 v- F* Qend
4 i+ ^# A$ A3 b1 G- I7 ~to unit_plan
9 Z, J8 y( J% u% O9 t$ |2 E  R4 @ask turtles [
) v0 Z4 U- p) S1 Aif (remainder who 5 = 1) [set a who
3 p2 W* }" U: k( B5 `3 \                          set x ( 0 - Wid / 2 )
, S0 n: q/ E0 I                          set y  Dep / 2 ]
( c/ F3 K5 h- }8 E2 S: W* S           set b  int (a / 5) * 5
* h' |3 u- {9 S" x; b    setxy ( xcor-of turtle b + x )% h4 z2 }6 V, R/ T4 ]1 \
          ( ycor-of turtle b + y )  W+ J5 F1 K* P# L, x) s" f# v
if (remainder who 5 = 2) [set c who* o/ Q1 e5 |% P4 O/ R" }
                          set x ( 0 - Wid / 2 ) 4 c2 u8 ?( {) D* B# k
                          set y (0 - Dep / 2 )  ]: B" w' e, q5 |1 ^$ {' A; U
                          set d int (c / 5) * 5
0 L# e( V1 r5 B& I) C6 ?! r3 B) y   setxy   ( xcor-of turtle d + x )7 {9 U/ m; h; z9 I  a! U
           (ycor-of turtle d + y )
0 s& {& g$ f8 B/ I# [# B          6 @  z8 ~" e- l7 E' F* ^& v
            7 Q8 ~- c3 N4 l8 [, f
if (remainder who 5 = 3) [set k who
/ f+ r" C- q/ }. j  k, I" N                          set x( Wid / 2)  
* r! A/ N, |& i9 q                          set y (0 - Dep / 2 ) ]! u& [% j) s# b6 i( i; f" ~
                          set f int (k / 5) * 5. P7 \' H5 ~% `
  setxy   ( xcor-of turtle f + x )
) l  H4 X  h3 M           (ycor-of turtle f + y )
" i) @& c+ T7 z( ?/ X           % m0 I; E( q  r4 H8 \5 y3 D3 Q
           
, o; ?$ V: g% F4 j2 M) Y4 ?if (remainder who 5 = 4) [set g who
+ \3 e  l. i8 @& t. ?/ _% B5 Q% h' F                          set x Wid / 2
3 X5 O6 R/ ?+ D7 n9 I$ p% u                          set y  Dep / 2 ]: F3 ^3 ~2 [  p2 M. N2 b: F
                          set h  int (g / 5) * 5  k. n, f9 I. R) w" W% m/ [) R# x
  setxy   ( xcor-of turtle h + x )
9 u* ~$ a; d. \: u3 L( v7 Q           (ycor-of turtle h + y )
/ Z( X6 F4 j9 L! Q' ?. L2 h& ]) d                          
0 p" X1 H, B! u                          . d( F; z2 o* a- J
                          ]6 C/ p! q2 d3 {. N
end( ^) t9 H+ G$ l, s8 g
& s; r4 i+ A3 l0 ]5 b( k
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了," x0 O9 r4 N; I
应该是
# f! I' k4 ~# H: D! A  b0 |ask turtles [5 @; U" ?7 `1 V+ c
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
/ K' B2 s$ c4 N) n                          set y  Dep / 2
! l  V+ v2 T# N  r8 i           set b  int (who / 5) * 5
7 A4 [8 G1 Q: `) M4 G8 j5 X7 M1 m5 j- k    setxy ( xcor-of turtle b + x )8 _7 \$ \; S* S$ N) f) _8 W
          ( ycor-of turtle b + y )]]
6 E; g! p3 Z& ]3 B5 p5 ]end
' U2 I( o* M( R1 s# }* d# X; T+ M, F, Q6 C之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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