is( p0 b! j: @( j+ C: Z6 v0 }
local links,rechts : integer;
4 k, k p) A, o' }$ O% p+ bdo
% w, Q/ ^* Q4 d6 U H8 Y if @.standort.nf(1).nf(1).voll
" v2 f2 _1 O7 ~$ ~) q+ k and @.standort.nf(2).nf(1).voll
2 T8 j4 k% l5 \' q+ D; B4 W- O4 L and @.standort.nf(3).nf(1).voll
, x4 T$ a4 P9 K- [3 T% Z then1 d/ V/ O9 E& K4 f" g3 f6 e6 x; T( y2 F
blockier_merker := TRUE;& Z9 }$ A& {- Y' ^- G1 V
else/ W' S( r. L2 J B; K P
if @.standort.nf(1).nf(1).leer- n! a/ M2 U9 D' q! L) o
then
$ E! `6 ^/ f5 b! Y* V( ? @.ziel := "ap4_C";
/ l% E) F' X$ S/ W3 r @.umlagern(@.standort.nf(1));
2 x; D- w6 ~+ t- n1 { p Q else5 M, `( ` @; C% C. ?1 S; D: L/ m
links := current.standort.stichE.AnzahlBEs + current.standort.stichD.AnzahlBEs
& m9 q) g9 K& s- m0 f2 R + current.standort.zuf_E.AnzahlBEs + current.standort.zuf_D.AnzahlBEs
% A/ W$ m8 s- U3 z! M) y8 i2 y; _ + current.standort.ap4_E.AnzahlBEs + current.standort.ap4_D.AnzahlBEs;
4 \2 m3 C1 Z* S0 X% P7 r5 [6 ^ rechts := current.standort.stichB.AnzahlBEs + current.standort.stichA.AnzahlBEs
$ ?- `& A8 Q2 t8 I/ K' U, c + current.standort.zuf_B.AnzahlBEs + current.standort.zuf_A.AnzahlBEs
7 A N% Q) f# p% p1 n + current.standort.ap4_B.AnzahlBEs + current.standort.ap4_A.AnzahlBEs;8 p- v5 ?& k& x: Y5 o) W
if links > rechts 5 C$ r: n9 T- C0 V: a
then5 ?( v `% {1 r( l% }2 t
if @.standort.nf(3).nf(1).leer7 @. W8 F/ j+ q* ^" @- S- |
then6 b" R* N& G6 p! Z+ N K# ?
@.umlagern(@.standort.nf(3)); 3 C' U1 b, a; k0 o
else* J4 K- i. j; G
if @.standort.nf(2).nf(1).leer
. n* `; |, W, K! P then1 C8 Y$ D6 c# r u
@.umlagern(@.standort.nf(2));
' k, r% n ?# ]' q else
) S" G: J$ w% p+ k+ Y @.umlagern(@.standort.nf(1));
H* v- y2 P. R end;
3 @$ L% q6 @" M* d end;1 M6 P6 R3 V+ z+ M4 C
else
) V, Q9 [, @% `3 } if @.standort.nf(2).nf(1).leer) w/ g, y. l" g9 P" z. b% |
then; J6 s3 w1 P8 ~, {8 ?
@.umlagern(@.standort.nf(2));
# t" e' Y. R0 _ else
# L8 W+ F9 A- ~, O" g, C( X if @.standort.nf(3).nf(1).leer8 _( e/ d0 k9 s f1 H1 _4 I, v
then
$ c+ z3 e4 E: C! h5 P8 Q8 B# z @.umlagern(@.standort.nf(3));
1 O7 W5 J3 ]. d$ S- d else5 \" T. O* D' b
@.umlagern(@.standort.nf(1));
6 A2 j3 |0 S7 z s! h/ V end;: V( u2 I0 L# g' A, ?, ^7 L, W
end;% m( @, v* \. ], V0 g
end;
3 T0 i8 J% i0 e, P8 s/ Y' |3 v& a& { end;: @ T$ r- b6 H$ P
end;' A/ Z' h+ W& i- p( F. Y( w! i1 p
if ?.leer/ c; B5 ^# v0 L! Y
then
+ B- f A, h; t8 |2 o7 E blockier_merker := false;
8 n4 j) W, U5 }3 L: S7 Xend;2 k9 [. m& g* L) r& M4 Q# p
end;3 b5 o- @% Y4 r9 T
大家帮忙看看上面的程序是怎样实现分配的,好像用了一个遗传算法的。 |