Der Quellcode ließe sich extrem verkürzen:
Delphi-Quellcode:
Spalten = array[1..7] of Integer;
[...]
procedure brettanalyse;
var x, y: Integer;
begin
if i = 0 then
for x := 1 to breite do
for y := 1 to hoehe do
AktuellesBrett[x, y] := 0
else
begin
if Spalte[Q] < 6 then
AktuellesBrett[Q,Spalte[Q]] := 3
else
WriteLn('Spalte ', Q, ' ist leider schon voll. Spielzug wird nicht angerechnet!');
Spalten[Q] := Spalten[Q] + 1;
end;
end;
In der procedure ki gibt es ebenfalls sehr viele Wiederholungen.
Überarbeite das mal etwas. Wähle sinnvollere Bezeichner für Q und P.