设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7106|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
( g+ c7 Y. H3 t2 s& A. M
# f3 [7 N4 l5 g但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
# [0 `) g$ y# h) b. C$ l
$ H, N0 d1 v" t; ]turtles-own [a b c d k f g h
5 d9 Z0 B7 D' a- w: y% t7 }  x y     ;; these are the leaf-turtle's offsets relative to center-turtle ) Z) i2 A$ _; I# m) V
]+ X; g) ~6 A" V/ ]( v+ t3 [
to new
( _, M$ z: ]$ O5 w+ c, M  ca, ^8 E9 X6 Q. I' {3 B3 O; C( v* P" s
  crt 5 * num_of_building* m; c) N  C/ J% [4 l
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
; C4 I8 q9 S* P, g" D0 U8 ~  scatter     ;;keep center-turtle random positions 9 A3 i/ X) Y9 p; x+ I" B
  unit_plan   ;;make up the building plan, b0 |% R' I; ^: q8 I$ W* D
end, |2 W4 e! ?' x$ A$ Z
to scatter
  h& O, M3 M3 g5 \1 oask turtles with [remainder who 5 = 0]" P2 D# `% p6 D' C& n2 c; K
[
6 |9 l- P& x! v: Fset xcor xcor - 6 + random-float 15! o8 l; \' r4 ]4 B  S) H
set ycor ycor - 6 + random-float 15
/ m2 d) d4 v4 L' c# r  Q]
: S) C6 i& |1 p: z- {  a) Y% aend  g, p& N8 f) q. [6 {& K* q
to unit_plan ) G+ o  y; `0 }$ e! _/ J9 ?
ask turtles [
6 T1 D& v5 u+ ^6 y: w1 O0 V( Lif (remainder who 5 = 1) [set a who
# M7 |0 Z. v( h                          set x ( 0 - Wid / 2 )
( y6 K! R$ O5 }0 u% w# D                          set y  Dep / 2 ]
2 p  D) ]' w4 J! W+ ~           set b  int (a / 5) * 5
" V; v( l+ m$ F# H# @2 |  p0 V1 F    setxy ( xcor-of turtle b + x )9 S) F: r. A' Y( t% Y
          ( ycor-of turtle b + y ): f  T/ k+ {! L1 X+ k7 ^% ]" L
if (remainder who 5 = 2) [set c who% W6 s" a  k8 q
                          set x ( 0 - Wid / 2 ) . N5 J& H# r) s8 f# X
                          set y (0 - Dep / 2 )  ]2 N) O. x; t6 C* I
                          set d int (c / 5) * 5: W0 t8 I8 h* y2 W' R
   setxy   ( xcor-of turtle d + x )
2 P8 J8 {. P, Q8 Q; A) g           (ycor-of turtle d + y )
5 Z3 _+ H0 w) i( y          * p: i. }& r2 s8 J8 [
            1 a, @' r  ?$ r3 H8 z/ L' u- ?& E9 V
if (remainder who 5 = 3) [set k who4 N, V% e% Q  I$ `
                          set x( Wid / 2)  
2 M( W2 }; w# q5 S# V% v8 `                          set y (0 - Dep / 2 ) ]
7 I7 b  ?" V* x9 F                          set f int (k / 5) * 5+ ]/ l( I/ S% h! L6 f
  setxy   ( xcor-of turtle f + x )+ D/ Z0 [2 f1 J8 N
           (ycor-of turtle f + y )
9 X* N; M; M) l9 v+ ]( a) T           + l7 i+ T7 c) d
           . E* F) D; U# Y
if (remainder who 5 = 4) [set g who
' v, d0 `7 @2 ^                          set x Wid / 2
0 U6 f2 {: n1 c( A& z$ ~' V                          set y  Dep / 2 ]/ u, h8 p7 ~4 t. u/ V- {, _
                          set h  int (g / 5) * 53 g* E. d; [; }( y& U. U
  setxy   ( xcor-of turtle h + x )  c5 ~# _& V, P! D& w
           (ycor-of turtle h + y )
  ?. q. }/ D+ F                          % N& E5 r5 l4 a( w1 p9 J
                          ) q3 G$ G$ ~5 W( S
                          ]9 M+ H8 d" A+ c6 u
end
6 A8 f. ]! D) R; Q8 B# v/ H% R
: B/ {7 L. K+ f$ s: o5 ?* @[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
5 c+ R. g' v- L( J应该是) q/ ]4 `# K7 \  j
ask turtles [
. Y, F0 f0 {- V5 Y( v* I9 Qif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) , M, Y* m8 s" m2 A% j9 ~
                          set y  Dep / 2 1 M( h( S+ d9 h! S( D) Z  P$ y
           set b  int (who / 5) * 5% a3 @. o5 M& [( c" w" h) \* x) p
    setxy ( xcor-of turtle b + x )
6 |7 y% R9 q" e  D8 f% Q, H1 L          ( ycor-of turtle b + y )]]
9 @! z- K+ W8 I$ mend" u' k% {9 d7 O0 I: x9 Q+ D
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-31 04:32 , Processed in 0.020438 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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