设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7449|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。7 L. ?4 {4 Y6 M( T& G' ]5 f' \
, h+ m" E; U$ E) x& p/ ]. N& C
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
; D5 N$ Q$ M! Z* |( L  y5 F3 r5 h/ z! U$ a
turtles-own [a b c d k f g h1 \6 U9 f( P# W# z- W$ G3 T3 N
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 5 d" ]# R$ I4 Z+ V- b! a2 f
]
) B9 o1 s, K( \8 v( P# X, k6 c! U7 Rto new
6 R" U& ?& Q  L& D- w5 @  ca$ `5 ?4 ?- X) e5 b! p# x4 u
  crt 5 * num_of_building
, ~" C/ F8 I7 Z0 u+ K, P7 E) V  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. ]) O4 |1 Q0 m7 t
  scatter     ;;keep center-turtle random positions ; C% m; c7 [; k
  unit_plan   ;;make up the building plan
4 O: U2 m: c! S$ V8 d7 O; ]# send
3 T# a  M" R& n: u3 {3 N, m' ]to scatter( J5 J6 c' o: ?% n
ask turtles with [remainder who 5 = 0]% T, L# {! C+ z, l$ F; e
[: l8 l4 O1 J( W" N. O
set xcor xcor - 6 + random-float 152 z+ M* _$ X$ [) D8 z
set ycor ycor - 6 + random-float 15
, }- X* c0 G+ y& D8 ~3 R]
3 J  W2 r* i5 Q) j) Iend
: }) p2 O1 p: {, x* ^4 U+ U# xto unit_plan ) [/ ?, e  ]* C" r
ask turtles [( C% f1 s( n. ~1 Z* _! A
if (remainder who 5 = 1) [set a who ( q: g( u3 x" B6 z! r3 {6 [& x
                          set x ( 0 - Wid / 2 ) ( i4 K+ c& t5 l' y
                          set y  Dep / 2 ]  ]5 I7 W$ w! y% U/ C7 `
           set b  int (a / 5) * 55 i' [* ?1 T% x0 p# D6 d# B
    setxy ( xcor-of turtle b + x )
. Z6 P5 M1 x' F; r% `* b+ q7 m          ( ycor-of turtle b + y ). I. w. p: b  \  C
if (remainder who 5 = 2) [set c who( q5 Z  w0 t* o: b
                          set x ( 0 - Wid / 2 )
3 u2 Y9 q7 t( R, J3 K2 q; R0 p                          set y (0 - Dep / 2 )  ]
! y6 J3 W/ e  D* W5 D7 @                          set d int (c / 5) * 57 J! j8 W$ y' H: C
   setxy   ( xcor-of turtle d + x )4 ?, ?  U2 n3 G% i5 G
           (ycor-of turtle d + y )
1 N  ~1 S; X3 O) l2 z0 ]         
" f/ d3 g. K5 C6 f! j            ' \5 R. p5 M/ \( q* s+ n( K
if (remainder who 5 = 3) [set k who
/ _* ?# }' f+ r6 B$ K) [1 F/ t8 _                          set x( Wid / 2)  7 Y+ p( i4 d7 Q' q" b0 m7 x
                          set y (0 - Dep / 2 ) ]3 W& z. k2 P5 s
                          set f int (k / 5) * 55 h/ |* M7 b5 n
  setxy   ( xcor-of turtle f + x ). v# Z1 Q; E4 Y: d. U' C3 _1 F. S
           (ycor-of turtle f + y )
1 x, k7 k5 Y% g- u" @           
9 v  i6 X! G. L           + |3 v0 A! A8 a2 G
if (remainder who 5 = 4) [set g who' l3 ?6 W) i( C! G
                          set x Wid / 2
: q/ ^5 _. l' D% {* `                          set y  Dep / 2 ]
, W4 g, c9 e" p                          set h  int (g / 5) * 5+ V$ E2 {  P$ ^, K+ ?) j. {
  setxy   ( xcor-of turtle h + x )) R1 V( o/ b/ e) `) T  n/ Q
           (ycor-of turtle h + y )
4 @7 J. `& ~. o; A: H( Q" u                          
" k! d- W% g  M9 H( Q- n. j                          ) f" Y$ v# B+ x2 m( C
                          ]
. \* E/ [. v# Q% i) U: Z+ _end8 q8 \/ a+ p" d& k

. _. ], h% f, a! F) g. N' |1 ?6 e. }[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,, h7 t3 }  Z/ L% ]- p; O  h/ Q1 l/ ?
应该是
# N1 _) @' P7 M' }8 bask turtles [: l/ w/ d" W7 U$ v7 W- s
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
0 A  Y& [7 f  f9 @& t. A# C                          set y  Dep / 2
% F+ ~2 W6 s1 d" O6 ]8 T           set b  int (who / 5) * 5
( Y% ], L0 C- T    setxy ( xcor-of turtle b + x )
$ H; w5 G* f& l$ U          ( ycor-of turtle b + y )]]* t$ h% ~1 G) h/ R: c
end% l  G2 i) g4 i* p: l
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-12 11:46 , Processed in 0.016241 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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