设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8591|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。2 e' R& c6 L* y& W; |
6 {9 I6 }, N% a- P5 f! E/ ~3 @
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。) p, U+ ?+ A1 O: ^' W/ Z2 ~' }
5 _* Q1 i8 s+ t. h- x* c% c) m# f
turtles-own [a b c d k f g h
; R2 E. d4 \7 j  x y     ;; these are the leaf-turtle's offsets relative to center-turtle - o5 i! y% X# t+ K) Y) s
]) @6 y* T6 ]. |! u2 u7 n% n
to new/ h6 i6 R! c* g& x
  ca
# E3 V, {8 h- l  crt 5 * num_of_building
4 N, z# k: w3 l) Y7 D$ t  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]8 s7 H( J! D/ _( l
  scatter     ;;keep center-turtle random positions , f$ h2 A  z( n+ U$ E( l
  unit_plan   ;;make up the building plan9 T+ T2 Y  [! Z7 H9 ^) F! E  g
end; E+ P1 p. V) j3 q( V" j8 f: ?4 p+ |
to scatter
8 q; ]7 W+ T/ Jask turtles with [remainder who 5 = 0]8 N9 f& F0 f& h( R- u9 B5 D3 D& W
[) Q7 n7 K. |# H3 `9 Y: e' r7 \
set xcor xcor - 6 + random-float 15
. G' O  L' ]7 P, ?  g( e/ A2 wset ycor ycor - 6 + random-float 15
7 L* J; B; Q# d1 t% \; ?: E: x]" V% i. U. Q* {% b
end
+ P* p( l0 P# D, \( d1 z: Ito unit_plan ' P- V8 ]# E5 i
ask turtles [
7 d. R/ H5 A- \, }, Dif (remainder who 5 = 1) [set a who
. g9 c- D. K+ N/ o% _6 z, p; O                          set x ( 0 - Wid / 2 )
6 R, D+ k+ U+ ?2 j8 @* x                          set y  Dep / 2 ]/ V. r/ p1 c4 V
           set b  int (a / 5) * 5
* ?. s$ C$ n$ C3 c0 z# J- d    setxy ( xcor-of turtle b + x )7 c. }- _8 S+ ^# W5 O8 E5 W( D
          ( ycor-of turtle b + y )9 P3 q# q) B2 H, @
if (remainder who 5 = 2) [set c who
3 T9 u7 N' O, M$ o* t                          set x ( 0 - Wid / 2 )
: r6 t$ f1 c" \! Q, [/ {5 {9 x4 a; p+ _                          set y (0 - Dep / 2 )  ]
( y/ @$ G( O/ z- m# M2 `* _                          set d int (c / 5) * 5% c5 |6 C1 Z# c% M  z; H
   setxy   ( xcor-of turtle d + x )+ Y" r+ l. m7 O- u
           (ycor-of turtle d + y )
/ G/ ~+ o5 x* Q' H( L# ]% J          3 K6 k* z, g+ Y! ]: O, ]
            ) f$ @0 l5 F, ?  O! n
if (remainder who 5 = 3) [set k who( Z% K  g$ z& P% J! _
                          set x( Wid / 2)  ' @8 y6 h# J5 a" _# K
                          set y (0 - Dep / 2 ) ]2 a8 x8 i# s8 L1 K$ L- R0 h
                          set f int (k / 5) * 5
3 V% f9 @0 m8 d0 p- \  setxy   ( xcor-of turtle f + x )
3 ?" F7 w% y" f; d           (ycor-of turtle f + y ) " |% ?" A+ I  W, Q' M% m2 p3 S5 B
           
% B! w3 |/ l  L9 D2 _           3 i/ l7 }) [6 E$ Q
if (remainder who 5 = 4) [set g who
/ i/ \2 h6 O2 p, g: M) `& o3 e                          set x Wid / 2 + a% N1 `5 w, N( Y+ u; E
                          set y  Dep / 2 ]
; w2 ~$ n5 J2 e$ }1 Q/ w                          set h  int (g / 5) * 5
* b  B2 d" n2 l; Q1 o* X# x( Q  setxy   ( xcor-of turtle h + x ). H# @0 ~7 w! [( I; V
           (ycor-of turtle h + y ) ' G, U  B. b3 c* v, I
                          1 e, a7 m2 C0 f8 P# H
                          
$ Y4 E( q6 H4 x" n7 R                          ]( \1 H6 ?- }% i( ]7 W  r
end
# |) K/ L5 i7 u# I- B" L! G1 d- A1 s5 P# Y% E4 ]7 u
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,5 P& x' u' W0 u5 B! B
应该是) F) Q8 s% L/ j( I* [' J
ask turtles [
# U2 ~% v. Y5 C9 w5 H2 Dif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
1 v* [" k/ v3 R  e4 T- p                          set y  Dep / 2
% y. K" t5 v3 F9 r% K5 o( r           set b  int (who / 5) * 5
& k/ r* [3 w# C5 K' C9 }: u) h    setxy ( xcor-of turtle b + x )
2 E8 t% n. @4 i+ y! z: K. C4 q& N          ( ycor-of turtle b + y )]]
4 c/ ~. q+ J  }1 gend
: z; x6 n. h2 G- N- b之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-15 12:47 , Processed in 0.014326 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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