Ein Problem sehe ich: Eine Zeile/Spalte der Form:
0 1 1 0 0 1 1 würde zu cnt=4 = true führen, obwohl das ja kein Sieg wäre. Es müssen ja nicht nur 4 Steine in einer Zeile/Spalte/Diag. sein, sondern die müssen auch noch
lückenlos sein.
Delphi-Quellcode:
function CheckRows: Boolean;
var
c, r: Integer;
begin
cnt := 0;
for c := 0 to COLUMNS-1 do
begin
for r := 0 to ROWS-1 do
begin
if (Field[c, r] = 0) and (cnt > 0) then // bei Unterbrechung durch '0' zurück setzen!
cnt := 0
else if Field[c, r] = 1 then
Inc(cnt);
end;
end;
result := cnt = 4;
end;
\\edit: *gnarf* 1.: zu langsam; 2.: nicht so elegant wie w3seek... naja
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel