设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7994|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' F5 S6 H7 V6 {" T- H; k2 x0 W& q9 }* z# V8 G
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。' B: n; k9 V, Y; ?

# Q1 X  x" E- W- g, o8 R+ aturtles-own [a b c d k f g h
# a" u1 E: g1 c, x  N# H9 j; O% I. q  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
, @- F' Z- |" J1 o]$ E$ C, V4 S( [
to new9 j  ]& U( v  B( u
  ca
# g2 b) h  r0 [+ t  crt 5 * num_of_building
+ d% R% d' s) ^! I  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
9 v% f# }8 O9 ^  N! H; N  scatter     ;;keep center-turtle random positions
, P$ u. D4 q5 a" H3 `  P' O  unit_plan   ;;make up the building plan$ y+ }6 ^( x' w3 J+ K( {
end; o- c; l: Q# W/ n& v4 v
to scatter
3 J7 F" }& l- {, {& b) v4 i, gask turtles with [remainder who 5 = 0]
" Z7 o: ?( I& X3 l' Q$ ^- E: Q[$ h, a, B* K& q7 o3 j0 N
set xcor xcor - 6 + random-float 15
5 R: @, [* M% D# B. S+ r7 c9 Cset ycor ycor - 6 + random-float 15# e" K2 }2 x( \
]$ d/ m, F  h: z& D
end- `2 ]/ |* O" W7 r. s' E
to unit_plan
  T' S* h8 I+ f; F- rask turtles [
' n3 l$ P" C3 `/ n4 {if (remainder who 5 = 1) [set a who
7 @% K( }/ z- l3 X! M+ _                          set x ( 0 - Wid / 2 )
! Y) f$ J' A) E* z3 C                          set y  Dep / 2 ], a  \' f% o  |& Q, G1 J* l/ k7 u
           set b  int (a / 5) * 5; K/ J" ?4 A5 p- j
    setxy ( xcor-of turtle b + x )
  U" V# Q8 j! U" m* ?          ( ycor-of turtle b + y )
1 j4 g6 w3 Y" @3 ]) d" Z" sif (remainder who 5 = 2) [set c who
$ x# F% E& p& O* u1 D, L% I                          set x ( 0 - Wid / 2 ) . F) M) p" ^! D6 ^" t; R1 S
                          set y (0 - Dep / 2 )  ]* g* }1 U% O# A9 B0 l
                          set d int (c / 5) * 5- K  I3 ~: J% s, e7 O
   setxy   ( xcor-of turtle d + x )5 P2 I: B# u' B6 k/ Y, f) Y
           (ycor-of turtle d + y )
3 C. y  O7 p0 D8 Z: e. s* E9 J          * @# @8 E3 n0 {7 o
            9 n# V5 e8 Q! f- E$ U1 J
if (remainder who 5 = 3) [set k who
  A; g' p3 j, S( D7 b                          set x( Wid / 2)  
% S7 A1 F7 R/ @0 W                          set y (0 - Dep / 2 ) ]' W. B  B2 h. b4 l" R% j
                          set f int (k / 5) * 5
! u( h9 O+ J: E+ \9 g  setxy   ( xcor-of turtle f + x )% m+ M5 d3 A2 [/ x, V( ~
           (ycor-of turtle f + y ) # \7 X3 C/ `' Y& T; F' [
           
& i, F! U/ C2 w* F! x9 s1 Q           
# P2 y0 ?& d, R7 o( D, A+ F2 qif (remainder who 5 = 4) [set g who
& l( N  b  C0 V8 v, G( D6 H0 }                          set x Wid / 2 9 p; M+ }" O- g
                          set y  Dep / 2 ]+ b/ y) I" Z1 f: T% ^
                          set h  int (g / 5) * 5
" f3 G* \; g( b: n) S- i  setxy   ( xcor-of turtle h + x )
" [4 K1 {# b5 O           (ycor-of turtle h + y )
# Q: Z- ]" d! A$ v                          ) x3 X8 X5 ]( P. S
                          - O1 R2 S2 d' C4 e- w
                          ]
' ~! l; Q  k; I9 U' X8 gend+ n$ u% ]5 Q2 d' D2 y( _

. W. b' \* o* N6 [[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
) d  ~( \2 n8 y$ g5 e0 v, Y应该是
) [# n5 G% w% Kask turtles [3 K0 h4 w! G2 m5 A/ p! Q1 h
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
; {: B" M9 h  ~                          set y  Dep / 2 ! \% G: ~4 s9 o3 s' E6 {% J
           set b  int (who / 5) * 5
( W) f8 Z/ a# O) n) E2 x    setxy ( xcor-of turtle b + x )8 j# h7 J$ x* X" c+ n% }7 u
          ( ycor-of turtle b + y )]]/ X' s7 n: R% L7 u4 [2 A. W
end8 T$ l: p3 H9 O$ q
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-26 15:20 , Processed in 0.028384 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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