设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8975|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。& g$ J2 Y* D. s8 f9 S
" Z0 F. X* p* A8 _
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
% r6 v: T: D( D+ P0 x8 l2 K! I
8 Y7 ^4 X, m3 X3 o* D% Gturtles-own [a b c d k f g h
8 `9 z4 q: P  Z" d: A4 c; X# H  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 6 L$ s/ K5 V! ^
]
3 ~: X3 Z2 F3 `- ?1 ~) r" @8 gto new" E- _5 v! H+ q6 j
  ca
( H  K* c# V2 O  crt 5 * num_of_building" I7 K; i4 G; ?% N3 R
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
2 N# u0 H! f& o3 r2 Q% @  Q  scatter     ;;keep center-turtle random positions
, B7 t2 w; K; R: _  unit_plan   ;;make up the building plan9 i2 O4 V# d9 G" R0 Z, P/ t
end
+ s$ [, _- b% qto scatter
+ \7 y# x: l* t" T- }' wask turtles with [remainder who 5 = 0]
- H! y+ n0 l$ X8 b1 r4 {4 v[/ v: B1 \. \& H0 P: c3 i8 {& v8 ]
set xcor xcor - 6 + random-float 15; a/ o" a+ ^3 p/ L. u4 }& H
set ycor ycor - 6 + random-float 15
6 e5 z6 S& r7 g: r]( {- u' J1 F; Y' {& z2 p, c9 x9 y- u
end8 h4 F- J9 W/ \9 ]$ L" V3 X2 j  B
to unit_plan
7 x/ d& y" e0 g# j+ W! ^ask turtles [
, Y4 s9 ^1 N" u, Iif (remainder who 5 = 1) [set a who
0 D& C" @3 A7 P; {$ K* T                          set x ( 0 - Wid / 2 ) / X* p/ _; o5 O) e
                          set y  Dep / 2 ]3 f0 x1 r6 }1 n3 m8 X
           set b  int (a / 5) * 5
2 B" o5 j2 D% }; B6 G* z9 q1 P    setxy ( xcor-of turtle b + x )) n8 E" g2 K( l) g( |
          ( ycor-of turtle b + y )7 i& _, |* z$ l, r3 u# j" D0 r
if (remainder who 5 = 2) [set c who8 L0 q- f" C0 s2 W2 }
                          set x ( 0 - Wid / 2 )
8 B& ~2 i( U* }1 `; }                          set y (0 - Dep / 2 )  ]
* `6 y% k% c7 G( R: o: |. G                          set d int (c / 5) * 5! p- D: t* n& Y3 J  u( ?+ T
   setxy   ( xcor-of turtle d + x ), T( ^  ~" J4 i' o
           (ycor-of turtle d + y ) , b& |: n1 A+ M
         
, u( [5 y. u' I, c9 v            
9 X; V* }' k) m) M9 M  Uif (remainder who 5 = 3) [set k who: C! N- }2 w! A: Z- M$ }1 V
                          set x( Wid / 2)  
& e. {$ X# m1 B  y                          set y (0 - Dep / 2 ) ]9 ^! ?0 L4 J3 t7 y1 {0 b
                          set f int (k / 5) * 5  u" W, O6 }7 k. l' x
  setxy   ( xcor-of turtle f + x ); k3 @- d& m) N. D+ F" F
           (ycor-of turtle f + y )
( V- e  J% L) J$ i% G4 Y0 m7 k           5 m# G; V3 J$ Y" g6 D
           7 |) @: {3 Z+ w1 p* d+ ]  c6 n9 F
if (remainder who 5 = 4) [set g who
% t) ~% W  I" k/ @                          set x Wid / 2 ( ~5 X& T8 U0 d& q7 i
                          set y  Dep / 2 ]
& _% m! U/ v: {, a7 X% }                          set h  int (g / 5) * 5- l% L5 v* b; @9 W& U# |  |4 `: H: n
  setxy   ( xcor-of turtle h + x )
6 p- g6 @. n! f# l1 {/ s           (ycor-of turtle h + y )
7 m  a3 w4 d/ ^. x$ |. H; a                          
# o; B' c% B* a) M5 ~                          ' t& b9 p3 x  l- A3 W  a
                          ]
4 X* u, L8 o4 d3 Gend
7 q) H, B0 t! n' G! d/ y* a
7 C6 J8 z/ \7 v2 T[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,7 v2 E5 C8 c/ Y5 G
应该是
- @( k6 s: q! ]ask turtles [
+ {  ^: E& j  B0 c5 V3 tif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) . b( l& q) }# I/ h; t8 B
                          set y  Dep / 2
8 T% V' q. m, Z5 |2 e  a7 t           set b  int (who / 5) * 5! B. h* i/ N3 @! ]( ~1 q+ @" C
    setxy ( xcor-of turtle b + x )! }  s+ z: E, Q6 A/ l" O& [  _- ?
          ( ycor-of turtle b + y )]]
: C& A( M- m# r2 l# vend) `. i# x' X- ?- M. C
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-2 02:23 , Processed in 0.018600 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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