设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8468|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
% v3 J6 g2 V' p4 y- {% N. h* g* f- @
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。0 X+ u/ Q! {4 d" O7 u/ d# }- v

7 Z) M+ K% j4 Dturtles-own [a b c d k f g h
* }( i% N) z' n6 |8 D4 I* q  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ; y- ^' P( t/ U3 @9 g' t5 @5 _
]; _$ x! J! r0 h; c
to new+ n  `( b' P$ w+ P
  ca% h) j) v& ~0 V# ]
  crt 5 * num_of_building
2 ^2 S, m5 A7 ~  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]" |7 a3 I/ D& E1 Q( T( M. l
  scatter     ;;keep center-turtle random positions : p1 {& U# O; w! I
  unit_plan   ;;make up the building plan& [8 [) F4 E2 J- O- U# H2 j
end* i" b9 |: `) g" n
to scatter
3 M& d7 |" e; ?# G* w7 @, z& A6 pask turtles with [remainder who 5 = 0]
  R$ C7 g* u  J- A[. ?. K  ^5 ^1 j/ z; W* W
set xcor xcor - 6 + random-float 15
( K  E- I! Q+ Pset ycor ycor - 6 + random-float 15
1 O; a1 O7 W) P4 r' ?]7 G! V, f5 @  V! g$ H0 s
end
# A/ E! v( c; e& ?$ f) qto unit_plan
0 K) O2 c! p" }; t, n$ ~1 P- ]ask turtles [/ Q4 h& p) z; w( u7 u2 Y( A- t+ t
if (remainder who 5 = 1) [set a who
; b6 ]4 W2 C' X' [                          set x ( 0 - Wid / 2 ) 8 W, ]- l9 J* E9 j
                          set y  Dep / 2 ]
& P& G% S% ^/ d. W3 Z$ v; f. j6 N           set b  int (a / 5) * 5
6 z) d( o: ?# {  e: f    setxy ( xcor-of turtle b + x )1 a- E) l# O5 h9 ?: t) b! p
          ( ycor-of turtle b + y )
% R( z1 I* V% g9 ~if (remainder who 5 = 2) [set c who
) T# @$ k# N2 F# Q                          set x ( 0 - Wid / 2 )
. O! I% U# V& i5 k, ?# J3 V6 m- [                          set y (0 - Dep / 2 )  ]
6 o- c7 i$ j0 F- A4 d* W3 R                          set d int (c / 5) * 5
7 N/ h  `. R+ O/ f1 o2 f   setxy   ( xcor-of turtle d + x )- E4 S: _4 Y& h8 D
           (ycor-of turtle d + y )
4 G, ~  s1 r: Y0 Q0 ~. n          1 a  E$ h  V9 u! h
            
0 q& l0 P" Q: U# ]1 Z+ oif (remainder who 5 = 3) [set k who
: [; L  Q4 {7 c  p: P' O                          set x( Wid / 2)  
9 a8 K  W& A$ b8 v/ n  V  g                          set y (0 - Dep / 2 ) ]
/ j0 c6 x0 M1 a" l/ g8 ]" D                          set f int (k / 5) * 5
' q6 d5 r. F7 Q! d  setxy   ( xcor-of turtle f + x )* u2 j9 {4 f# t$ m5 T2 f
           (ycor-of turtle f + y ) ( P' ~0 `( Q) ~( u# n$ }) y
           # q+ Z- M, f9 y0 r: F) X
           % F# ?* C! |+ ?. y" y3 U# ?
if (remainder who 5 = 4) [set g who  o* _% W  @* s0 B. k
                          set x Wid / 2 $ ~9 F0 }5 \# U# ^. q
                          set y  Dep / 2 ]7 [7 m- I6 e: s: p/ A3 q- L% V, ~
                          set h  int (g / 5) * 5
. h/ O7 c0 a0 F# s+ e, b! H' o  setxy   ( xcor-of turtle h + x ): B+ c, N& t) n. ]) v
           (ycor-of turtle h + y )
4 w7 R% n' [8 r1 h# \) Q6 q, ^                          & G* b9 C: A# K8 \
                          / T4 D7 m3 Y( e& H
                          ]
5 h  ^6 N* A) ~end
! V# J+ o( t) k' B  _( |9 v$ m0 Z9 K4 ^) S7 k1 @; W( I& }
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,8 T7 `1 k/ q2 k$ W) R
应该是
& e8 J* {/ k6 b/ L1 bask turtles [
2 u0 H+ q1 X/ @if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
( J$ `, x' D' p* E                          set y  Dep / 2
  L' J9 S: J* e1 R2 d           set b  int (who / 5) * 5
1 _6 W; N- {3 |# Q) p2 g4 j4 m    setxy ( xcor-of turtle b + x )5 A8 ~( m( `1 @5 k; W* K
          ( ycor-of turtle b + y )]]. e( e! z) k  u
end
! x8 U1 I" {$ Y/ o1 t  \之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-30 23:48 , Processed in 0.019728 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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