is& r y4 r5 U. U8 t6 v
local links,rechts : integer;6 b" U/ Q. }- }
do( n1 I1 H1 d! Q- k- }& B' m5 P' [7 s
if @.standort.nf(1).nf(1).voll
Z# K; }' x" |: t6 ^" z and @.standort.nf(2).nf(1).voll: [& N" \4 ~6 v' H& b9 |
and @.standort.nf(3).nf(1).voll
' Y+ ]: t1 E. ]5 Y9 s% C then* G7 T, O5 w3 Y
blockier_merker := TRUE;3 V. g1 d7 Y, Q" {% B
else, ~' \6 |1 Q2 S. ~6 G! d* Q( O
if @.standort.nf(1).nf(1).leer3 ` z3 ~9 b( i, k
then* V% y" x8 z8 Z- Q
@.ziel := "ap4_C";' `. o* {2 k: n4 T: y
@.umlagern(@.standort.nf(1));
: N# a( ~# d1 q6 H' y R- Z z* | else
4 c+ a) v% R. f3 | links := current.standort.stichE.AnzahlBEs + current.standort.stichD.AnzahlBEs
" P( H, C, \2 s0 b2 | + current.standort.zuf_E.AnzahlBEs + current.standort.zuf_D.AnzahlBEs . D u0 c' R0 q* W$ x
+ current.standort.ap4_E.AnzahlBEs + current.standort.ap4_D.AnzahlBEs;$ y, T$ {8 V; E \6 z7 q' b9 l+ [ G
rechts := current.standort.stichB.AnzahlBEs + current.standort.stichA.AnzahlBEs / U7 }! Z) \% d" l
+ current.standort.zuf_B.AnzahlBEs + current.standort.zuf_A.AnzahlBEs [$ h% I! {& |( S& Z1 [
+ current.standort.ap4_B.AnzahlBEs + current.standort.ap4_A.AnzahlBEs;* g, |- i8 [$ ^. E
if links > rechts
) g& G" p* j+ [/ d$ O! } then
6 j# N- W, E! n2 q6 t if @.standort.nf(3).nf(1).leer3 a! |% B4 X- F6 V5 k
then
9 ?6 G+ j- \9 x3 C0 W0 a @.umlagern(@.standort.nf(3)); % L. R+ u3 y% K6 }2 Y7 H% ~
else
( _5 f- |- l: A; G" F if @.standort.nf(2).nf(1).leer. d5 A+ k( m7 Z; e' [
then
, l! f9 Q; M+ g @.umlagern(@.standort.nf(2));
% F. K J* d# O) B F else
: A _+ A7 f* V0 O+ S- ^: }) `4 K @.umlagern(@.standort.nf(1));
6 `" ~( t$ \# }+ i: U/ h1 H end;
( s0 u0 G: m8 A# V" P7 e end;
' o X/ ?* x& L4 O1 E( V- m else ! g7 H. I" T: J# N' B9 z4 x# X$ X
if @.standort.nf(2).nf(1).leer! ^/ k# t- }3 W: E( d R
then
9 y: W" D; ]7 n( @ @.umlagern(@.standort.nf(2)); " \# o5 L% H0 K7 a1 R! a5 Y
else
+ m9 C9 W% S F- h, I8 E9 [3 m if @.standort.nf(3).nf(1).leer
" b4 T( f. W& T+ ~, y then0 I$ n0 x' \/ x) s
@.umlagern(@.standort.nf(3));6 U9 r) {/ ~, }* C$ h2 Y
else A9 M3 l% o' z, f% M
@.umlagern(@.standort.nf(1));& J( Q) v/ y/ ]& n* v: [
end;
5 \9 `/ _+ s) [3 }" i5 Y. |/ z end;6 V7 r9 d! G/ L' y" [
end;
# y8 M( L* Z9 t: [ end;
7 j) D" |$ j) p1 A, ]4 n2 n7 q end;
) S; F5 M2 _- m+ D* p! @7 }if ?.leer* L" }6 D9 u: G% @% ` \
then
! P! r% t- F6 l blockier_merker := false;
) U- q7 L2 v- t1 h6 ~end;$ I5 y' j4 l# i& A' @
end;# s! `0 r# V u f9 j
大家帮忙看看上面的程序是怎样实现分配的,好像用了一个遗传算法的。 |