设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8020|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
' H/ l. s( R! T% K* z( Y8 B" Q. C2 M8 O& Z2 Y5 [+ l
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
3 a1 c8 K9 Y3 Y- `& r# M. g- @$ [2 {2 ^
9 M& j  j, g/ M2 d/ K! jturtles-own [a b c d k f g h
, X' L: n6 L& T# g  j) ^7 A+ D  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 3 P, n5 O  ?9 f2 F
]( |$ x1 C2 M5 @: Q3 I3 |8 z! V9 O
to new- |8 X1 E2 E! g: S
  ca
( U9 G$ v6 M' l: l& c  crt 5 * num_of_building" P$ a5 m; g' ]- s: r5 ^5 f3 \4 |
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
8 B6 M* J6 X" q4 Y6 k  scatter     ;;keep center-turtle random positions
/ }8 A$ M& O/ o% T0 S' s  unit_plan   ;;make up the building plan
. {, f; w' F) t  Zend
0 }+ K0 O# b7 V! E% ]) d, lto scatter1 t1 E: w+ S9 w
ask turtles with [remainder who 5 = 0], s" `5 K  G4 H$ B3 p
[
$ P" z1 D4 q# m4 O# \set xcor xcor - 6 + random-float 153 {6 _% f4 e7 ~& q, y0 j
set ycor ycor - 6 + random-float 15) C- T4 b6 Z3 {* [' ^) w
]5 U) c& w' _0 m6 A
end
( `, u! y5 W0 H$ W* P' _to unit_plan 6 e1 d' f  k+ e' c
ask turtles [
1 u( B  z4 H% f! t+ g! _0 mif (remainder who 5 = 1) [set a who
* R5 S6 K* i/ O+ r* _% G+ h+ N                          set x ( 0 - Wid / 2 ) , C6 h, c; B+ L) R: L! L$ \
                          set y  Dep / 2 ]+ f! @1 ?+ y1 i
           set b  int (a / 5) * 57 H( O7 G, U6 F: Y+ J; k
    setxy ( xcor-of turtle b + x )( x5 y" {% ]: C! a/ e% b9 R7 t) B6 L
          ( ycor-of turtle b + y )
$ G9 a$ Z% Y/ A. f  Mif (remainder who 5 = 2) [set c who
: S" r; A- V9 r( j                          set x ( 0 - Wid / 2 )
! s0 Z& g( X' Y8 Y3 N7 Z- f2 f( Z+ J                          set y (0 - Dep / 2 )  ]: i; I; R9 F5 A. t; X6 U7 o7 d* h
                          set d int (c / 5) * 5
: X% c) g7 ~; s! F   setxy   ( xcor-of turtle d + x )
) [/ d9 Y7 ~# i) I6 K5 r           (ycor-of turtle d + y )
6 f6 R& r: N% {# D7 G            m4 W+ c% @: B4 E
            
- f) U' O% l: n4 |if (remainder who 5 = 3) [set k who1 S3 F/ `. o/ n+ u: ]% t
                          set x( Wid / 2)  # n6 _; ?9 T, f5 h& O: \! }
                          set y (0 - Dep / 2 ) ], S6 ~1 O. S$ E# Y- \5 a6 Z6 T8 \
                          set f int (k / 5) * 5
/ t) w! C8 p4 X/ ~  Q! u  setxy   ( xcor-of turtle f + x )
7 N, x# z; I5 c8 j9 w5 x5 l! P           (ycor-of turtle f + y ) 8 u9 ~  r: t/ ~
           ) s! E7 C1 Y  x9 U# z' i# I
           : r& R7 e3 X5 a& R
if (remainder who 5 = 4) [set g who& W! ^( a$ I& b5 ^% i* P8 h
                          set x Wid / 2 $ B: s0 b4 L+ q! K- p7 o
                          set y  Dep / 2 ]
! u  P( P& ]4 _+ P6 c  x7 x                          set h  int (g / 5) * 52 b7 o; M" c( x7 J0 u
  setxy   ( xcor-of turtle h + x )
- N" _- F' N4 t           (ycor-of turtle h + y )
, N( d5 o  u; Y9 l                          
$ B# R2 H9 i( S4 j) m" I0 R$ y' Y                          
: K0 i3 }: D) i0 m5 a0 h                          ]
2 m4 X* D" K" |% G8 \end! C$ S; }" u9 R+ Q( j4 E6 |

* e0 `9 n5 d( x  ^7 ^4 t2 E: Z; D[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
3 r- Z+ s" I& @6 a6 w0 K# W应该是
- L; q3 y' f7 V$ r) L: Z( _! Task turtles [3 y$ F# x  W5 l2 E3 @( i" s
if (remainder who 5 = 1) [set x ( 0 - Wid / 2 )
3 J5 k& c0 Z# c& E+ K                          set y  Dep / 2 - Y1 v6 G; \2 u' u. X1 F
           set b  int (who / 5) * 59 p$ d, u  J' d8 Y* k
    setxy ( xcor-of turtle b + x )# p; G7 t, x3 I- [4 P& P! B
          ( ycor-of turtle b + y )]]* M4 q5 D2 S1 s: U$ Q) Z" ?0 a! o
end
) g$ I5 ^6 t6 A5 A4 S之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-29 07:59 , Processed in 0.017344 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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