设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5993|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。* S, C" h* B* X8 \5 G5 A' n: G

9 q. s7 m) \0 V8 I9 T3 u但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。3 N- P* }$ R0 z! i9 e/ n" t
/ W" W( Z! ]$ E) ~
turtles-own [a b c d k f g h' T( r( F5 h, h9 R3 p5 U3 i
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle - G4 K9 |7 g4 {: P7 o# y' U
], H2 E* y: u+ V' D
to new  u, ?4 o/ Z0 @" t" f# A2 w$ u+ J
  ca
. ~! z& v2 o2 i: `  crt 5 * num_of_building
% N/ B7 I3 A$ a  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]! z( `" C* I9 P$ |" ^! T+ `
  scatter     ;;keep center-turtle random positions 5 {" Q: }/ ]. u2 N# e& i) g# v2 n
  unit_plan   ;;make up the building plan
( b4 r; E/ _; y2 Y; zend
" ]2 e4 @! i4 {+ Q% B- ], gto scatter
/ s; X7 w; y4 k3 P8 z+ Mask turtles with [remainder who 5 = 0]
0 q0 i. N$ \9 \4 g  B0 g; I5 V4 U; Y[2 ?, I/ G6 Y! c% E8 f8 b2 _
set xcor xcor - 6 + random-float 157 }5 X, E# d* y- C9 x
set ycor ycor - 6 + random-float 151 p7 g) W! j. R2 N& Z5 R- j8 n
]
3 R% u) H1 N- `4 |end
' s- W( `3 U, S& h5 u" c1 Z. c/ V6 p$ t" hto unit_plan
8 v8 `. ~  f; f4 t9 Kask turtles [( e! W# n  a( e0 F  o
if (remainder who 5 = 1) [set a who ) E' i0 P. x7 s6 P( s
                          set x ( 0 - Wid / 2 )
: E7 y( L/ U8 |  j# G& e$ s5 F) L                          set y  Dep / 2 ]; Z5 N  a* m. w) S: g! y' y
           set b  int (a / 5) * 5
+ J5 S  s1 A" i; Z    setxy ( xcor-of turtle b + x )$ E+ `* c1 N! b3 u, q8 k
          ( ycor-of turtle b + y )
* v1 E2 ~* m- gif (remainder who 5 = 2) [set c who2 ~8 k7 R1 e. L. g9 b. g) d* G$ C
                          set x ( 0 - Wid / 2 ) , w# Q* x5 P, b
                          set y (0 - Dep / 2 )  ]
5 l: X; [8 O& e5 x" \, Z; c) j                          set d int (c / 5) * 5, r. K" L( q2 t/ V/ r5 g* c$ D
   setxy   ( xcor-of turtle d + x )- C* @& r4 `) C! X2 t, _
           (ycor-of turtle d + y ) - [; e3 x# p; b# O: k: U
         
2 ^, G. M+ U' U& y2 i            
; a: E: s2 z9 j8 i7 X& Y8 Oif (remainder who 5 = 3) [set k who
0 @( f$ N  N. Y( T& C3 F                          set x( Wid / 2)  % Z6 K6 a% e; A4 `% I
                          set y (0 - Dep / 2 ) ]
+ {; I/ N: W6 l. [: Y" E0 R                          set f int (k / 5) * 5) G4 s' ^# I, x5 G0 O
  setxy   ( xcor-of turtle f + x )8 y- d  v; n6 i9 y* H
           (ycor-of turtle f + y ) - O1 ^7 a8 c$ `2 o& J
           ; j4 Q  C+ G9 k* ?
           
. _% H+ h" S& o( vif (remainder who 5 = 4) [set g who
6 {4 M6 o# Z6 T6 I; i6 L                          set x Wid / 2 7 V! a" y: H3 A5 Y! L
                          set y  Dep / 2 ]# y) f1 E" v! B- R* j4 r
                          set h  int (g / 5) * 5
4 n) Z" o5 a/ I  setxy   ( xcor-of turtle h + x )
/ T: c) l% t% K; f/ v, k- n' a           (ycor-of turtle h + y ) + g- }6 ^1 `7 N: T0 p
                          0 Y3 D0 `2 @7 q8 r
                          
$ p9 Z+ N+ B1 Z  E/ y( ]                          ]$ V" ~5 S. f& _& c2 W
end, h2 w, `. q. _- ?

. k. _" m. H0 j! i! Y. G[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,. {" ~- b5 n5 _3 u& A8 U7 R. }; _
应该是  V- }2 T& u0 f4 Z2 Z
ask turtles [# ?* _( }$ Y7 y7 s" W. _, {: D+ t  m! G
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) " k& L6 L+ J0 u  T/ f  N. T
                          set y  Dep / 2 - G& A7 |- h, T  l7 m* Z6 {- g
           set b  int (who / 5) * 5
) R) Z" o' _, }' N8 ]- m( z3 U% `    setxy ( xcor-of turtle b + x )8 |; D/ K# _7 b- V' Z+ a8 V* C" \
          ( ycor-of turtle b + y )]]- R; }( X& _  u- b& G' j
end  S) ^% L% j6 h: A
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-19 07:47 , Processed in 0.013187 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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