is. v/ x. i! J1 k' J# G
local links,rechts : integer;. J6 S% I" o% w- v! x
do
0 l9 M3 ~# L2 n& {6 U if @.standort.nf(1).nf(1).voll
( }) T, r9 O3 J& [$ l9 C9 b and @.standort.nf(2).nf(1).voll
( S, ]5 m7 C; M% l* {& v and @.standort.nf(3).nf(1).voll
$ {. F9 m- `& E then
/ A) n8 p0 O' z# E blockier_merker := TRUE;
% }) e+ v8 L2 g. x+ u else/ t9 a8 A- N% e' p
if @.standort.nf(1).nf(1).leer, U/ s( k: u w9 e7 d6 W* K8 Q
then
, }8 c5 r8 o+ p, | @.ziel := "ap4_C";2 i, z! C0 C5 A8 G) q, B
@.umlagern(@.standort.nf(1));: z9 w% c! r5 r$ \$ @* c6 x4 {
else
+ J4 m# D G- [2 W* N links := current.standort.stichE.AnzahlBEs + current.standort.stichD.AnzahlBEs - ^$ u" K7 u! ~& V* f( a! q
+ current.standort.zuf_E.AnzahlBEs + current.standort.zuf_D.AnzahlBEs ! z. y( N% f* n% @! R& C( [
+ current.standort.ap4_E.AnzahlBEs + current.standort.ap4_D.AnzahlBEs;
4 K6 h" L- Q7 \4 V rechts := current.standort.stichB.AnzahlBEs + current.standort.stichA.AnzahlBEs " K/ h, H+ e% J2 [8 s/ `* a2 a/ [
+ current.standort.zuf_B.AnzahlBEs + current.standort.zuf_A.AnzahlBEs
' z. n+ f; W- D$ j* Z! B. k2 ? + current.standort.ap4_B.AnzahlBEs + current.standort.ap4_A.AnzahlBEs;
% x% U* j# h- C if links > rechts / P1 G& n8 Y# q4 @( Q' C# X
then& ]* Z. t+ y: Y6 f9 i
if @.standort.nf(3).nf(1).leer
! U* P: [- M5 ~- t: ` then
4 o$ G; t. F* _ @.umlagern(@.standort.nf(3));
) P4 {/ {) H8 J4 e' q; S& @ else
1 n1 g. [" _' x3 h1 U X if @.standort.nf(2).nf(1).leer4 S( A7 g: C$ S* ^, Y, ~% H
then
% r, b: V1 E; b, d: R @.umlagern(@.standort.nf(2));
! k" m) G# R5 V7 M% a else
( e7 u6 N" l# ?5 Q6 Y7 M @.umlagern(@.standort.nf(1));
; L1 S, @/ t. K end;
) R& n& ?" @& l+ s end;
, `! e) s# Z: h9 C! e% } p else
5 b* [! D3 c* z' I if @.standort.nf(2).nf(1).leer; G& a; z) i$ f. O, Y) o+ Q: v
then
1 Q) W! o" i# W @.umlagern(@.standort.nf(2));
( _* e$ \* L9 c7 Y7 Z, e% e else
3 w; ~4 O ^# |5 k4 X2 J$ B if @.standort.nf(3).nf(1).leer
$ ~4 E# ~' \8 w- G! A7 g& F" q then
$ n5 s9 u+ ]6 M: \% M( ]9 h# T @.umlagern(@.standort.nf(3));
- |; U( w7 M0 r0 w+ X# Q" Q else
5 g" G& u* I- \) B$ e% ] @.umlagern(@.standort.nf(1));0 b: Y% t; t( J0 P6 u# N
end;
/ H# S2 k1 Z! u2 h end;, [* {) r: o9 x
end; 0 d# N4 t6 f8 L' R0 `
end;1 ?7 R! U& U0 h9 [- z( l
end;) {+ F% x: j" b
if ?.leer ~, D+ O7 ~! `# n
then4 _4 L: s7 ^8 I( h d
blockier_merker := false;
" L( D! [$ c7 `end;9 ^6 V9 S1 U6 T* X* X
end;/ t# x* h: m5 z/ M" r/ E
大家帮忙看看上面的程序是怎样实现分配的,好像用了一个遗传算法的。 |