设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7063|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
& M, C$ \* T$ v1 a6 w$ ?) C' D6 t$ N4 K
  f* ^' k6 c* f$ a但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。0 `, P7 {4 I% c; G$ A" t. k
, U5 L& c3 S: z  F& U
turtles-own [a b c d k f g h+ R5 n3 x) A" {0 E4 {
  x y     ;; these are the leaf-turtle's offsets relative to center-turtle
2 f4 O. B7 \+ A; Y8 l$ E]: t* w8 a% k9 l( ]
to new
7 ^8 D/ Q* |, _& U" w1 I- ^  ca/ r& j6 ~" a1 D4 Y; ^9 O
  crt 5 * num_of_building( E' @% K) }% q; l6 r
  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]& U( Q$ ]# L& i
  scatter     ;;keep center-turtle random positions
" n" u) V6 X; H  unit_plan   ;;make up the building plan7 n6 A2 V4 `( j1 Q
end
% P0 `# R: Y9 W( \0 _, T7 F  Oto scatter
2 b6 I' ]% A  M2 zask turtles with [remainder who 5 = 0]+ H5 Q) z3 L9 O) r9 G8 Y
[
5 O1 m& O3 F6 v+ m2 tset xcor xcor - 6 + random-float 15
! @5 }+ j: ?+ H) }* q  tset ycor ycor - 6 + random-float 158 J( B. Q8 e: d6 c8 C
], z9 h* C, P2 J& h3 p) A' h$ y
end' v" r! Q' W2 \! L
to unit_plan 0 C. I) |# I& B. z
ask turtles [
4 \+ g6 ~& Z5 d3 p5 Iif (remainder who 5 = 1) [set a who
* i/ P4 a6 r4 f                          set x ( 0 - Wid / 2 ) : V. L' \/ j' h5 c7 [; @, q5 i
                          set y  Dep / 2 ]# }; k7 @$ e* r
           set b  int (a / 5) * 5
- }/ b4 t& D# G9 S    setxy ( xcor-of turtle b + x )0 m( H. [. h+ w2 s. @
          ( ycor-of turtle b + y )* U5 `( b" H. v: c& }% k& [' C
if (remainder who 5 = 2) [set c who
) A, S  C" C7 Z# O# h! [                          set x ( 0 - Wid / 2 ) " X- D/ K  r+ {8 ]( M8 A
                          set y (0 - Dep / 2 )  ]
& U) d% ~1 Y' X6 b) M" q1 {$ U                          set d int (c / 5) * 5
5 ]  i  l, e1 ]. K   setxy   ( xcor-of turtle d + x )
0 i* W9 N% Z( ]           (ycor-of turtle d + y )
$ H& P3 Y+ o7 O: ^+ {, t$ e          / q! y+ R& A; J+ @: k
            
( B, f/ P7 F- }' r0 Tif (remainder who 5 = 3) [set k who
4 ]+ X  U4 V: @- k                          set x( Wid / 2)  
( A9 B! b3 s) q! c, l& s- A                          set y (0 - Dep / 2 ) ]. N) {8 S; X( D3 \, M: }+ X& V! H
                          set f int (k / 5) * 5  `3 L* A, }9 n& n- a, s
  setxy   ( xcor-of turtle f + x )
, V' Z- j# p8 {$ g" c( h" k2 o           (ycor-of turtle f + y ) " k) o5 T  [5 v9 {( P
           
% ?+ D' }. q% t8 ^* t           ! ~" k! I1 d7 y# P
if (remainder who 5 = 4) [set g who
* F1 ?9 Y. a! y3 h                          set x Wid / 2
# K% P# s9 r1 ^( B/ z6 c                          set y  Dep / 2 ]; G/ c* c- U2 ]9 r) M" K/ P
                          set h  int (g / 5) * 5
7 v  ]) W' _% T* w% N& S4 \  setxy   ( xcor-of turtle h + x )) p9 s4 X* K. G) N8 U0 I1 T4 i! q
           (ycor-of turtle h + y ) , q! o, `$ }! g; K5 [$ c# [
                          
  L0 {9 m9 _. B# ~% k4 V. i                          
/ m6 Q% R% J, a8 e/ Q                          ]# a' W: j( V9 u( B8 M
end8 q: [5 ~" V% w  Z! d3 w7 W; \

% V- _7 Q7 \5 n& z/ f0 B) v5 A( X' C[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
' f9 L9 S; F6 C$ E8 z7 l5 o应该是/ `  I5 X6 c% A5 r; Q, i
ask turtles [
7 D0 D- F$ n  c4 w/ x9 B2 m' Cif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) & w" U9 y+ t3 i
                          set y  Dep / 2 - a3 }6 J4 o) _5 t! h3 ~& W
           set b  int (who / 5) * 5
, D; l1 `4 p# F( k  T    setxy ( xcor-of turtle b + x )" g+ g0 v) U4 h1 {
          ( ycor-of turtle b + y )]]
8 C" V7 z+ C) w$ v+ Nend$ \+ C0 k+ ^8 \6 M
之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-24 10:15 , Processed in 0.018063 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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