设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8461|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。. }4 S" ~/ d0 c5 v7 w/ z, Q: C7 z- N

3 D/ u. S& S* }4 U( x- K' X4 ?5 E9 W, g但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
/ t! _* v- t! {5 N
. h- m: T0 r% {3 a1 Mturtles-own [a b c d k f g h
5 m: }* S; a1 x  C  {: B/ k  x y     ;; these are the leaf-turtle's offsets relative to center-turtle , m' J; C+ j* C' n# _
]8 r$ U. q1 F% _
to new9 t# E* Q' v* u
  ca
4 X) h; v9 u! K  crt 5 * num_of_building" w4 |2 ~: j" J3 T* _& `( P  ^9 D* B
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]. N- f& V2 h; S* B
  scatter     ;;keep center-turtle random positions " a) e2 ^5 q& z  `7 d* g* |
  unit_plan   ;;make up the building plan
/ j( T5 V' B" b9 {5 @end) j7 z1 ?, i, o7 {; h
to scatter
! ]) h0 @; y$ ]8 ?1 Lask turtles with [remainder who 5 = 0]
% s' `! z( Z9 A" f9 F[
* ~) q6 @4 p4 _3 `% Uset xcor xcor - 6 + random-float 15( l& ]; x8 e% g$ P
set ycor ycor - 6 + random-float 15
1 {! l1 e0 {1 x]9 ^6 y, w( O5 ^8 k+ b% s+ o* B. ]
end+ h' |7 i, y0 ]  v9 d3 T- ?
to unit_plan
$ f$ H1 N/ @% A% l5 Zask turtles [
& v* A8 R8 k1 f' Aif (remainder who 5 = 1) [set a who
: D  m  \+ }* \, W. w# c                          set x ( 0 - Wid / 2 )
1 i, c, M2 g$ }" B                          set y  Dep / 2 ]
, x" S* n0 b% P           set b  int (a / 5) * 5* r4 z: \- |9 b
    setxy ( xcor-of turtle b + x ); W; D0 H$ b0 s2 d
          ( ycor-of turtle b + y )
( z) t  G+ g: l- I1 H, s3 E: }if (remainder who 5 = 2) [set c who
, [) l7 u6 c# h; k                          set x ( 0 - Wid / 2 ) " p% y# k  |; [; ^4 p
                          set y (0 - Dep / 2 )  ]
# f( o) u  r/ L- X' B                          set d int (c / 5) * 5
5 u0 B0 t* L" f   setxy   ( xcor-of turtle d + x )4 i3 Z2 q7 m2 I) {" A3 U2 @5 S+ J
           (ycor-of turtle d + y )
" m% H& r# e5 v  K. l         
7 f: c* Q3 V  p            
1 @$ w' A4 c0 |9 N  P# s2 lif (remainder who 5 = 3) [set k who
" i( c% u+ W/ S1 {+ D( S+ z5 n" w$ o                          set x( Wid / 2)  
; d" R# ], R  L" }                          set y (0 - Dep / 2 ) ]
0 Q' Q; Z) o- f5 e! Z6 t! G                          set f int (k / 5) * 5
# Z. O5 f7 R3 J  setxy   ( xcor-of turtle f + x )- n8 v2 w6 G5 F! m$ Q7 w
           (ycor-of turtle f + y ) + ^: I2 g5 l( I
           
# I+ \$ r3 w9 B( p: S8 B           
3 k/ f& n; B' b3 q  @% R5 b+ _" Pif (remainder who 5 = 4) [set g who
# I# f9 H9 }2 [0 }, q% m4 u' G                          set x Wid / 2 1 W  g# O6 b( p5 g/ Z; E% b; Z
                          set y  Dep / 2 ]
2 e4 f& [7 v* U8 R: W) T, N, |                          set h  int (g / 5) * 5
4 X, J' ~9 x. m& @. m  setxy   ( xcor-of turtle h + x )
9 J$ g& m4 j& T9 M) P, k           (ycor-of turtle h + y )   p! R& H2 A& r! k! D% ]- J- E/ H
                          
: b3 A3 `) Q9 C3 `# C2 y% @                          
( t2 K3 F& }7 H' c" b                          ]" ~. s9 ]1 G) p* m
end
0 l! {8 L* p5 ?- Y* g, Y& s+ @  ~6 I6 t1 g$ k. }; q" l
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,* c/ n2 {( @; a( G
应该是
+ a1 K/ b, A+ @- E! p% Wask turtles [
8 v% @6 Q; _2 G+ R. z* D& Qif (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
) s" t$ e& Q. B0 d/ G6 a% U' W7 W                          set y  Dep / 2
& `" {0 ^; K. m+ h           set b  int (who / 5) * 5
9 Z0 R: Y) [! B/ y+ G8 D    setxy ( xcor-of turtle b + x )# l) S4 w+ O* p$ t( Y
          ( ycor-of turtle b + y )]]
& ?% X0 m" O; P) Q3 ^" Q3 Wend5 u) I; ~4 z+ C3 i' M$ z, j
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-29 05:33 , Processed in 0.017406 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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