设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6576|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。$ G( r* h! g& T0 o! v; f. y4 C: ?
' \2 u; {& S6 {( `- Z9 C
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
, l8 a: q! K2 Q1 I( f* j
8 z/ H' d- h! R9 \+ Sturtles-own [a b c d k f g h
* b/ ?3 {5 |8 i! l  x y     ;; these are the leaf-turtle's offsets relative to center-turtle * x- M+ p+ v) ~" u5 w
]
% g: \; _0 o& l3 oto new& ^( F& T; E+ u3 O2 B7 z4 E4 i. K
  ca
& r+ T6 h( [' ^5 V% X  crt 5 * num_of_building  ~. [" t, ~4 T6 `
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
; y# J7 o6 |. e; U) X& ?1 c: Z  scatter     ;;keep center-turtle random positions
. j8 J1 ~, R( v9 K  Y. z, `  unit_plan   ;;make up the building plan7 F& A( ], a6 v: e
end
/ t( v1 i$ x" H  Y7 sto scatter
0 I" R& w0 z7 U. E4 e' f* n6 b  Bask turtles with [remainder who 5 = 0]8 V6 u8 ?7 v8 b! e
[
$ S* O/ S7 v& O; ^. Eset xcor xcor - 6 + random-float 15' z5 @2 X9 H  x. y. u
set ycor ycor - 6 + random-float 15+ |  D7 G4 m9 f. h  N; ^; F
]
$ o. p+ D2 t6 }6 U9 N  Jend* \: g' f% z* D
to unit_plan + B5 f1 e) j8 m- _( Y
ask turtles [
: l$ |% U) t& n! s5 d# }if (remainder who 5 = 1) [set a who ) g& t% K  U8 X$ S. g$ u, A
                          set x ( 0 - Wid / 2 ) 4 g( a& B6 p3 p  m# V# l. T
                          set y  Dep / 2 ]
4 T; J! V  A; G           set b  int (a / 5) * 5! Y1 \" ~/ s7 S
    setxy ( xcor-of turtle b + x )
7 B4 r7 ]; V8 c          ( ycor-of turtle b + y )
& T5 {1 C: p% Q2 }- ?1 b% mif (remainder who 5 = 2) [set c who
' Z2 i& }# {& {. D3 G                          set x ( 0 - Wid / 2 ) ( k; w, L* i; o- T" D
                          set y (0 - Dep / 2 )  ]4 A, G, U* F8 E! F
                          set d int (c / 5) * 5
( t5 W% r4 R* R6 ]* N! [: M   setxy   ( xcor-of turtle d + x )7 N7 s) s, B( E$ U* M0 {2 j# i
           (ycor-of turtle d + y )
$ y5 {( e/ q; j" Y' w7 B. F          + g9 m. s2 ?' b; O" T, ?5 h  S  f
            
6 U) P; i4 i: c. n& P. Z. Lif (remainder who 5 = 3) [set k who, f/ o! V7 ^) d! _, }% B5 H
                          set x( Wid / 2)  . T& o) T1 q, L$ a0 n
                          set y (0 - Dep / 2 ) ]- B6 j4 t% E+ M; R2 x7 f$ {
                          set f int (k / 5) * 5; k/ `) W2 i, i2 }1 V
  setxy   ( xcor-of turtle f + x )
; o! Q5 h0 @. L: R; [           (ycor-of turtle f + y ) : Q  i' b# M# y  b% C& m
           
& H8 ?# M) h4 ]7 ^+ i: m9 y           ; R% y) D% J& K# j* [9 ?
if (remainder who 5 = 4) [set g who
, ]6 F: y0 r/ [                          set x Wid / 2 ! L2 E2 I  _3 Q8 W
                          set y  Dep / 2 ]
! P0 [1 I" ^3 w/ Q: k                          set h  int (g / 5) * 5, h. o3 H5 f  |* ]8 n9 F4 w) K
  setxy   ( xcor-of turtle h + x )4 w; o/ l0 x' J" F& u( [# }
           (ycor-of turtle h + y ) ; }: D( r5 f" p3 C' _0 }
                          $ G3 k" @) ~0 x/ o4 @. Z+ T5 x& _
                          
0 [9 ?; e/ q" u, d                          ]. ~$ [; S, d, O' Q# W# e% H
end5 a8 V% p" G6 q" M( `
3 p4 z8 j4 P  ~/ y7 K1 Z
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
5 Z2 t1 `% I& I' ?, i应该是
8 |0 L2 H: s, q) yask turtles [
' F4 I4 i; j. R  Y0 b/ |% m* lif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) * r; }, E( y' @9 G
                          set y  Dep / 2
: t) ?( A( h6 B, R: u. j           set b  int (who / 5) * 5
% M5 J' E  d* d    setxy ( xcor-of turtle b + x )
0 u9 j% W) y  w          ( ycor-of turtle b + y )]]3 a. d, i* u4 [+ A
end5 L( L% T& k4 G# R
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-10-30 11:06 , Processed in 0.014768 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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