设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7397|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
9 D; Y# A% I" Q/ H9 W. D9 F) O( ^5 }8 A& s
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。% `8 R/ G/ f) u/ b$ u; ?! t9 p* q4 I

7 h8 w4 V7 L3 w& H* q2 Pturtles-own [a b c d k f g h6 [% {3 C- b. s5 u$ O0 G
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 2 Y' H% `0 g' p$ L' M9 h2 m: ^, y
]2 l: z4 p4 B" }0 B/ ?
to new' w% ]9 j% X& \, @" [  g
  ca
! Y* b" {. l; [3 @: J. }7 S  crt 5 * num_of_building
4 J2 O( L% }6 A( U$ @  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
) }$ _  U$ E+ M# O0 J* f8 Z- q& l  scatter     ;;keep center-turtle random positions
7 h% N7 |7 I; t* S  unit_plan   ;;make up the building plan
/ K! `. |9 H7 A+ Tend: _0 m6 ?1 B0 a0 J( }3 K9 i% u
to scatter
6 O1 h" M" l  z( k8 K- w% v3 wask turtles with [remainder who 5 = 0]6 x: e; b' c% w) Y
[4 t4 t* f1 d; v* V; j3 q6 d
set xcor xcor - 6 + random-float 15
0 D8 |$ w1 n+ E, A' Bset ycor ycor - 6 + random-float 158 P) t/ s# o& w& W! U
]
" _% ^2 M; R% a8 C& N: O8 tend
2 D( b9 S% z$ fto unit_plan
8 R$ g/ [8 \0 k+ ]ask turtles [
! ?) d* r; O  R' O- wif (remainder who 5 = 1) [set a who & P- h9 [2 F, Y3 }* D$ C
                          set x ( 0 - Wid / 2 ) , f* y* G% O" ?( ~3 N* ^( {+ r; B  ?
                          set y  Dep / 2 ]
8 P: I3 J: k! q4 E. {" B           set b  int (a / 5) * 5
% g/ P. A8 m$ S+ E7 l8 K. H2 a+ J    setxy ( xcor-of turtle b + x )* h2 O& w0 O. v) D1 Z
          ( ycor-of turtle b + y )
0 _: g0 y# a; w( Kif (remainder who 5 = 2) [set c who
* R3 K' Y2 |' M; C" L/ X8 T3 C                          set x ( 0 - Wid / 2 ) 7 W5 I: R  ?! e. F
                          set y (0 - Dep / 2 )  ]( ?- Q$ M% L7 k
                          set d int (c / 5) * 5
' i% p! z; `4 I) T6 e: a' i( T   setxy   ( xcor-of turtle d + x )
+ f) U, ^& u! Q) f  [, A$ H: o           (ycor-of turtle d + y )
% n1 Z+ J# K* a2 ?          : B% R2 |) e/ v' {8 n! @
            7 a7 E7 Z; |( u1 T& a. t. k& D. O
if (remainder who 5 = 3) [set k who
+ S/ \$ i# |- ]# n1 t9 t2 {                          set x( Wid / 2)  
* V; a; d  y- H* f                          set y (0 - Dep / 2 ) ]
+ g3 P- B% a" ~- r1 J% q# K                          set f int (k / 5) * 5
( M6 A  G  K% U+ T2 c+ N  setxy   ( xcor-of turtle f + x )
9 s6 m' _' D1 C' M, ^) f" D) X" V           (ycor-of turtle f + y )
9 [6 T0 Y- j8 F. @4 T, X0 r           : g6 D& d" C# v: I0 e7 U
           
* \9 n; G% }: A. `4 Gif (remainder who 5 = 4) [set g who
: w$ j/ u& M4 O+ K                          set x Wid / 2 - q; z8 L" m: y6 {
                          set y  Dep / 2 ]
3 O- a1 w  [! m$ \: W; [7 n                          set h  int (g / 5) * 5
4 r' @: p: o& J  setxy   ( xcor-of turtle h + x )
3 ~3 _0 f- d7 x) l" N" q& B' ]           (ycor-of turtle h + y )
! \) J7 P2 W: v8 G1 S9 w9 O" O                          
* f% ~0 H! Q  ~0 j                          + X  J  b4 o; V% w* |0 P3 A- |# ^3 j; e
                          ]7 h7 I% K+ k; O) b
end
0 Y; c) e, p( s# C3 A8 ]. r3 x: R- L
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
; i, O) z* g. x4 r应该是3 K( o% C: \4 t; ^8 p# m8 j
ask turtles [
3 {" @/ U; H9 O8 B" U3 j  }if (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 9 @: s2 i" L% E2 w) D2 F5 E4 Y" m3 M
                          set y  Dep / 2
. K# \# [8 h7 y           set b  int (who / 5) * 5
  S' n1 g$ a* l# w0 L! S2 }( I    setxy ( xcor-of turtle b + x )& V' i( a* Q: ^' ?
          ( ycor-of turtle b + y )]]: F* W8 e5 H3 x# u/ `7 @
end  u2 V0 e$ A* u' ~! I3 I, y- P
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-8 01:53 , Processed in 0.018674 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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