设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7857|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。* G; [& c+ f( F3 K

5 ^8 @: G+ s! x0 e4 ?! l8 {但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
5 G4 V1 e$ Y8 Q8 k  o4 J& @
. Y, g4 J9 i  o* Dturtles-own [a b c d k f g h7 j; s6 A4 X* a& d7 {  R5 `
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle & f9 w4 e1 ~5 [) C9 d5 Q0 B8 g7 ~+ i
], {/ c- Q# O9 V3 i/ `. {
to new
. M5 {+ C. E" O3 a6 X$ \  ca
9 s! ~1 F+ c" u8 M6 J2 G+ l5 ?/ @  crt 5 * num_of_building
5 y7 W, R' R+ N8 E7 ^  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
( @) o8 }* q* @& N% i  scatter     ;;keep center-turtle random positions
5 B+ m; T% B) V  l4 I1 Q  unit_plan   ;;make up the building plan
# G  M+ T# }$ Z8 T5 O& d: [, }end
3 I% o5 m1 T; x3 ?3 {+ R6 O9 P' wto scatter
3 D. T/ _" k' \' o* m9 p' mask turtles with [remainder who 5 = 0]
/ F. }! K" a8 `. r[
( @- @$ a3 Y6 Q! `3 q& kset xcor xcor - 6 + random-float 15
4 d9 D8 X9 m  a8 l2 pset ycor ycor - 6 + random-float 15
  Y) x- }5 ]6 M3 h1 W]
4 X' ~6 O) D! {end6 n$ J8 @& m1 |9 \, U
to unit_plan
; I$ x, b1 U5 J6 }( W- j1 ~ask turtles [6 M% ^5 O1 y1 M2 r2 b
if (remainder who 5 = 1) [set a who
4 _8 V% X5 R. M7 x: k8 A# t                          set x ( 0 - Wid / 2 ) $ k1 N. i5 q3 t1 R% s
                          set y  Dep / 2 ]
$ N1 ]' L# o; e) x           set b  int (a / 5) * 5
3 A5 y' x0 I& W9 b. J# \    setxy ( xcor-of turtle b + x )
+ T8 j5 h/ {& m4 N          ( ycor-of turtle b + y )1 N  [- O, q" J  j9 ^' o
if (remainder who 5 = 2) [set c who
* T9 t; n: j' C% k; v  r                          set x ( 0 - Wid / 2 ) 1 L1 \+ f/ G* i2 {2 g  \5 L
                          set y (0 - Dep / 2 )  ]
, N; Y7 P% `: ^8 ^                          set d int (c / 5) * 5
& ]% s+ M5 c& b! @4 S+ e   setxy   ( xcor-of turtle d + x )9 |* I( C) R' s* i5 O
           (ycor-of turtle d + y ) : @% f4 I( g5 m) ]! c1 v
          & D* ]7 Y1 E3 L8 c5 x' ~- }
            1 F  O1 \; M; w  b* B5 Z
if (remainder who 5 = 3) [set k who6 j' F; k+ @" U# Z/ |/ u3 N
                          set x( Wid / 2)  ! O7 K* K/ _# I" s" L: D( J
                          set y (0 - Dep / 2 ) ]  K: P; w7 O8 x2 M' J  d! }
                          set f int (k / 5) * 5
8 i# [% L8 P1 {3 a& T  setxy   ( xcor-of turtle f + x )1 I+ m" f- b1 E! D% i& X  b7 K4 b. X
           (ycor-of turtle f + y )
5 I4 a. G: U) }3 C5 F           ( [1 ]4 x" p- G. [7 L" i3 x. o& K- ~
           
$ M2 u3 t+ R: R! Fif (remainder who 5 = 4) [set g who
* a* B0 E7 i8 f' w                          set x Wid / 2 0 n6 p# P) E: r1 K! Y. l; r
                          set y  Dep / 2 ]/ r; P* s! m5 k$ H; D5 x# t
                          set h  int (g / 5) * 5! P$ [# h) U( z! @, D/ ?4 v' z
  setxy   ( xcor-of turtle h + x )) t- R% X- e9 F* F  e, M2 E# B
           (ycor-of turtle h + y )
* @, {; n/ t4 f0 d8 w3 ~$ f                          
  f( r. Q6 p7 X2 l7 g* A                          % I2 F( ]4 \2 m; y. }
                          ]
4 k) v) i( r$ s# kend
7 w% E( b, Y7 ~2 U0 v. E2 Q! ~
2 g1 K3 q+ m0 W+ o' I$ S' ~[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
. E# W, }- r2 _9 s$ G+ l. S) U9 o1 E应该是
( E1 g' i) t  m* q6 G! l/ ]1 rask turtles [* @" s* ~5 q5 [0 ]6 O; h, |
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
& r4 f& U8 i3 _( d; ]                          set y  Dep / 2
5 s) s1 u/ @7 C  j7 f' v0 K           set b  int (who / 5) * 5, q% r6 O  I3 W4 _
    setxy ( xcor-of turtle b + x )
, ]: G7 f$ k4 u1 z          ( ycor-of turtle b + y )]]* K# F2 I3 C: L1 O3 k6 r
end
8 v8 @) e1 N! x6 M3 H/ M" U( H之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-11 03:58 , Processed in 0.016674 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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