设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7513|回复: 1

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

[复制链接]
发表于 2008-4-10 16:36:43 | 显示全部楼层 |阅读模式
我的模型,原意是使得每五个turtle成一个矩形,这些矩形随机散布在一定范围内。
& q8 ^* A4 Q4 v" t7 u' h( a, s* P* ?4 X5 h5 U6 X
但是运行结果所有的矩形重叠在一起,只显示一个矩形。请大家帮忙看看。
6 `' w' p- \' b, f- G7 S( e. m. P7 L, f4 B
turtles-own [a b c d k f g h
8 y  v  S) }/ |: M2 `% n5 s" @  {! ^  x y     ;; these are the leaf-turtle's offsets relative to center-turtle 0 a# C! l% B+ |* G# J+ {* v( H
]) S+ D( ]; T) O2 `5 m. B
to new
5 p7 m5 F, `: v  ca6 B, G$ m% z8 z  m9 u% D# p2 n
  crt 5 * num_of_building
" Y( ^! C0 r2 l6 N# f# i  ask turtles [ifelse (remainder who 5 = 0) [set color red][set color blue]]
' k$ P! {/ L% T" q; S. y  scatter     ;;keep center-turtle random positions
/ B) w+ O# N  L# B" t  unit_plan   ;;make up the building plan
2 ^, O, z! V3 q9 Z7 @end: A; I+ n: j  t% V6 Q
to scatter' y% E3 Z0 T% r4 R% _) `8 q% x. y
ask turtles with [remainder who 5 = 0]. C( S- X" S+ y* ]
[7 [: L- v+ V) ?0 j* ^
set xcor xcor - 6 + random-float 15* C* @; _' z( K" n! c
set ycor ycor - 6 + random-float 15$ H/ L% r% z: e
]
5 P* W" x; R0 b! ^end
) B8 S) J. E7 Y7 c2 `; Kto unit_plan
! t$ ]( R5 Z2 }2 A4 Xask turtles [
! {' Z4 E6 |5 bif (remainder who 5 = 1) [set a who * j2 Y% @, B/ ]3 E) J
                          set x ( 0 - Wid / 2 )
  C' X( x. {2 p0 ~4 |% w9 p                          set y  Dep / 2 ]
- L9 I' e& i$ o" R! y           set b  int (a / 5) * 5
& V& Z7 n1 m) L1 y# Y! [2 P    setxy ( xcor-of turtle b + x )% O3 ?$ L5 o# X- I6 ?
          ( ycor-of turtle b + y )/ U5 x+ p8 `. l/ D2 y  p: m  _
if (remainder who 5 = 2) [set c who
+ o4 D0 @, G! z( w" Z" n1 n                          set x ( 0 - Wid / 2 ) 7 B( u, M0 M* G: Z
                          set y (0 - Dep / 2 )  ]7 C% p* T3 Y# \" Z  g- ]* B, T
                          set d int (c / 5) * 50 b" v8 O; J! \& M
   setxy   ( xcor-of turtle d + x )
* D: k+ J0 d, ?3 n4 y           (ycor-of turtle d + y )
' Z" P& b9 ?6 T+ F7 g          , ^# C& R* P( c) U+ ]) f! n/ K8 v" y9 w. V, [
            * \# j4 d0 E% N& x( D, ]# W! ?8 o: `
if (remainder who 5 = 3) [set k who/ L! L! Z; X& n6 F5 H/ N. V
                          set x( Wid / 2)  
* A# d, j! u% L' v                          set y (0 - Dep / 2 ) ], V3 ~$ t! t( V0 m
                          set f int (k / 5) * 5# C  W. e: v& |+ b/ k- w: k9 a
  setxy   ( xcor-of turtle f + x )
* e5 E9 G4 b8 ]  Z3 E, ]7 y( R3 G           (ycor-of turtle f + y )
6 |1 z6 l3 @5 l           + \" Q8 z. @. p
           
: a& ]8 I5 i9 T7 X0 N* eif (remainder who 5 = 4) [set g who
8 s; j' z: c7 j0 V. V                          set x Wid / 2 / N5 u8 i" ?% \% S& F
                          set y  Dep / 2 ]
; j9 c3 e. |8 s9 z                          set h  int (g / 5) * 5* B/ k. E* @1 o; h6 z
  setxy   ( xcor-of turtle h + x )
2 Y- P+ H: Z4 h) |, ~7 F4 ^5 ?           (ycor-of turtle h + y ) - ^' h1 m* Y' u9 W+ H, O. |
                          
& M2 |6 Z. q5 B& y9 d5 ~4 z                          + V' I, y9 h  e# i2 D' t* K
                          ]
% D2 Y9 i% |8 A% O  hend' b, m3 p# o) Y
6 D. p$ E6 O. @
[ 本帖最后由 etamina 于 2008-4-10 16:41 编辑 ]

本帖子中包含更多资源

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

x
 楼主| 发表于 2008-4-11 13:26:12 | 显示全部楼层
已经解决了,
+ _' C" |! o' x4 ]: L应该是
* K0 h* X% q. l  t! m( zask turtles [
3 u9 \  X9 F; k( c9 V$ ?+ |2 V( fif (remainder who 5 = 1) [set x ( 0 - Wid / 2 ) 0 j, e. j4 N- a2 N
                          set y  Dep / 2
/ b  z: ]6 _- x5 \/ ?, f' m           set b  int (who / 5) * 59 l$ f& t1 P: @/ t% h
    setxy ( xcor-of turtle b + x ), r( L0 c% g' h# g# f
          ( ycor-of turtle b + y )]]2 d6 a$ v8 P+ s
end
, t  V& h3 E+ C# H) j之前有个括号位置不对没发现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-20 14:56 , Processed in 0.018375 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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