Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Sieger-Prüfung "Vier gewinnt"

  Alt 29. Jun 2004, 01:23
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
  Mit Zitat antworten Zitat