设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7738|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。8 }1 k; c1 K# G8 o7 a4 D
0 T# Z9 {1 l7 d" Y9 z& n5 \
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
- x+ }3 z' G" S0 K! w0 u
- n6 M3 I) o  u5 R0 p/ Xturtles-own [a b c d k f g h
7 ^4 ^% J9 a/ z/ Z  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
( R" y, x# l" q9 i4 O* L]
3 s. {4 K8 E. j6 H3 f7 D& Mto new" @2 ^1 y% r9 ]! O# Y  k; X2 J
  ca2 b8 N9 z1 V3 P2 k! Z- W
  crt 5 * num_of_building( w0 T2 \3 @; H  {5 h/ o' X
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. A2 N% c; B/ f3 w- V
  scatter     ;;keep center-turtle random positions ! B; V  {, x) M1 ]& i+ ?& C/ l
  unit_plan   ;;make up the building plan
" T7 j& Q. p, ~& u5 iend
3 X1 q7 P# {+ @" Cto scatter8 k- V. r3 L" s' P2 x. b, \4 B
ask turtles with [remainder who 5 = 0]
+ D  R+ z- [5 a, H' O[4 k$ ~( k9 o% f+ Y  ^4 X
set xcor xcor - 6 + random-float 15
3 s: j2 ?4 O+ E. F; |set ycor ycor - 6 + random-float 15
, I5 p. C6 ]/ K" A; R]& u! \5 c5 l( h8 q* m6 k3 P
end
% i$ w3 u6 e9 \; {to unit_plan 4 ]7 I! S/ j1 l: p
ask turtles [
; k9 k& `- [: qif (remainder who 5 = 1) [set a who 0 o5 Y+ j9 W0 D6 U( S
                          set x ( 0 - Wid / 2 ) , R  u7 F" ]5 I( O; ]" m8 }
                          set y  Dep / 2 ]
, z; B; S: Y! |# K3 C           set b  int (a / 5) * 5
# S' A+ o  [4 p- n$ V    setxy ( xcor-of turtle b + x )
- [5 ]' _+ Q2 b7 i/ Q  T          ( ycor-of turtle b + y )
, V' H. |& d$ ?if (remainder who 5 = 2) [set c who
, a% U8 k/ \5 m3 f9 @6 t                          set x ( 0 - Wid / 2 )
6 `; H0 s( D) Q: h$ T1 ]% {2 l                          set y (0 - Dep / 2 )  ]
5 [! _! A2 A1 W/ o' `                          set d int (c / 5) * 57 X. R/ `1 W1 n* e2 @0 J' ]4 }, ?
   setxy   ( xcor-of turtle d + x )) s" H* `! V+ U( N3 c2 Z7 Z. v
           (ycor-of turtle d + y )
' u, d- N+ H) y         
& ?* [, }" ?2 I. t9 x  ^            
* z! R5 _; p6 V& k* Qif (remainder who 5 = 3) [set k who3 H/ P+ [) A$ b4 z
                          set x( Wid / 2)  ! U: Q+ Y0 p9 B: I& O- b/ Y
                          set y (0 - Dep / 2 ) ]% K+ i( `# l+ n( R8 K; r& v$ ~% n6 ^
                          set f int (k / 5) * 5
: x4 a# w3 t& D* `" q% h" ^- X4 f4 ?  setxy   ( xcor-of turtle f + x )" _" ^! R$ X/ q  l
           (ycor-of turtle f + y )
% K0 ^) U" j9 C* A0 s1 n           
' a4 M' S2 t/ Y           $ Y% n' r+ p! t
if (remainder who 5 = 4) [set g who* `& r  p/ u; y% n0 c1 }* r
                          set x Wid / 2 " s; ?# C! o7 r
                          set y  Dep / 2 ]
) @. T  m2 N" N  o* v. H                          set h  int (g / 5) * 5) G6 h5 [6 p) V/ M7 R
  setxy   ( xcor-of turtle h + x ), P7 A8 j. C. H9 ]" C* c
           (ycor-of turtle h + y )
2 @5 @6 n. N/ O                          ' k/ J* F; u* s) M3 M
                          
2 x2 O! E. }- i+ k                          ]  `8 i2 j9 N( ?& ]" E" N& s) o
end
  |( R* R4 d; x9 z% F% z# |( ?3 d2 a% C% s
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
9 F8 i7 W8 t) K- u应该是
8 g& I: D1 m# Vask turtles [& [/ u" s9 C8 s% U6 V* S: I' Y' A
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
$ i! f5 x  D- I  e                          set y  Dep / 2 : b4 x7 _* i3 r7 e+ T" z- p' Y, B
           set b  int (who / 5) * 5
1 G* S- I0 S$ K    setxy ( xcor-of turtle b + x )9 ~1 ^. }: A& z- [' {% r2 N3 `" k% l. W
          ( ycor-of turtle b + y )]]
6 E4 p4 u1 f; b& E2 J' a/ _+ d/ Iend
: K, ]4 p7 Y# W6 Q之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 14:42 , Processed in 1.952627 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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