设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8511|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。" b, @+ p% ?1 L$ S3 J% v* ]

0 u2 V3 K# y5 |8 J( K但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。  f, K0 U( j, C2 W2 H# I, H5 I8 B

9 O; Q6 `6 C" }  F7 O, Z3 d" [5 Mturtles-own [a b c d k f g h
2 \5 G" Z* Z/ f! T, c( m  o6 f0 {  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
" j- ^3 c9 z  t8 G1 ~]" R0 m% M$ h0 x9 K" t5 P
to new
0 F" E' v& Z; ]1 y' M8 C) v  ca1 U* \/ \7 E6 {6 {) {( `9 N* a
  crt 5 * num_of_building
. S7 F2 V( r3 x$ T/ |. `" L  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
6 o9 k0 S+ {7 Y: ]! U  scatter     ;;keep center-turtle random positions 4 Q4 Q- s3 o, H' n( U- A* x% b
  unit_plan   ;;make up the building plan4 w4 [* Y- Y! q: J
end8 }3 ~$ |) X, Q* ]/ u5 ~
to scatter! |; K9 r6 Q* E. a* h" V
ask turtles with [remainder who 5 = 0]+ l3 Z0 F2 ?3 T/ b5 L; ^2 z. ^
[- j: O8 V6 z) j$ N  S# b  J
set xcor xcor - 6 + random-float 15. H9 b& Y5 \8 T- ~' N3 o& w2 q: F
set ycor ycor - 6 + random-float 15
% K4 ?9 P# ]& A  d2 L1 M( L]
: n* I& `* D) M6 |end
5 L9 Y( O1 z8 F6 U$ X, _to unit_plan
1 m3 {; @. e# }: M' }( gask turtles [
+ @# T( H: t4 E& ?! Iif (remainder who 5 = 1) [set a who
/ \. F" y/ c4 i# g; P  O+ \                          set x ( 0 - Wid / 2 ) 3 |" t, u' ~3 \" g7 z2 [1 Z
                          set y  Dep / 2 ]; j: a3 `  `6 |2 c8 @# e! \. x( L
           set b  int (a / 5) * 5
; i+ j$ @1 q) m5 q6 i  F! A    setxy ( xcor-of turtle b + x )
/ i/ Q, m) ?+ m% r3 N- D4 l2 d          ( ycor-of turtle b + y ). I! l  s6 ~9 G4 D
if (remainder who 5 = 2) [set c who  }& M1 Z2 K; k3 G4 ?& J
                          set x ( 0 - Wid / 2 ) " V5 R+ e$ m3 P
                          set y (0 - Dep / 2 )  ]; h: E  f: l% Z7 n8 t/ h: R' p$ ?
                          set d int (c / 5) * 5
  z4 G, e  ]0 j, Q- u   setxy   ( xcor-of turtle d + x )
/ o6 E& [' C* J; K0 V           (ycor-of turtle d + y ) , m! c1 W# k" Q& E
         
! ~$ ^# M6 Y' F) `: n            
$ {" D; t3 F+ a6 R9 F* ?if (remainder who 5 = 3) [set k who; t" I) n7 K1 ?1 j! ~* l. t
                          set x( Wid / 2)  ! m# {; g3 A( N7 X$ _
                          set y (0 - Dep / 2 ) ]3 d. k. b$ g6 ]( c( c  S
                          set f int (k / 5) * 52 q7 h/ o; ^0 ?
  setxy   ( xcor-of turtle f + x )
; F/ |( G7 F' V           (ycor-of turtle f + y ) ; w8 J$ B( k* s! u; V( ~3 [
           
+ X0 H6 D$ e& s' q% Q4 |9 d; \           
; d  t$ F2 Y( _- @+ ^) i0 w* v' m+ Aif (remainder who 5 = 4) [set g who6 {* [# L# D" g
                          set x Wid / 2
/ e1 t# k9 g8 E* V                          set y  Dep / 2 ]& C/ {) P$ t: z7 d
                          set h  int (g / 5) * 5  H, A/ |, m; J8 F/ f- k3 w' D
  setxy   ( xcor-of turtle h + x )
/ M: N' d- o- l1 @7 P; z           (ycor-of turtle h + y )
) P8 g+ Y0 D1 C* J                          
( r+ t# ^" ^# s* [! b$ l                          & U; E3 X: Y% K9 W7 q. A7 F, q
                          ]
$ ^$ J8 G( e" E& ^end: o: {7 X" D3 |; k- I$ L) ~
1 e9 q3 x! u7 ^' }# ?) x! _
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
- T2 e6 `# \' q应该是
$ y/ T- [& v5 zask turtles [
/ _) s" A# f" S# G* W% }if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
! K+ {5 R, V; @- v. C; l5 n. M                          set y  Dep / 2 ' Q1 O+ r9 [- z* M+ m7 g" ?
           set b  int (who / 5) * 5' Z  @- o* T2 T- c" h* g) b4 N
    setxy ( xcor-of turtle b + x )0 h: G* w+ C% s
          ( ycor-of turtle b + y )]]. w$ S# e3 |2 ~- R0 \
end
% [5 h; B: E4 ?4 y3 R, v之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-8 10:08 , Processed in 0.013831 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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