![]() |
4 Gewinnt Gewinnabfrage Erklärung
Hallo Zusammen,
ich sitze momentan an einem Tutorial zu 4 Gewinnt von Delphi-Treff.de. Ich arbeite das ganze durch und bin bis jetzt noch nirgends hängen geblieben, aber die function zur Gewinnabfrage kam und kommt einfach nicht in meinen Kopf rein. Könnte mir das jemand bitte erklären? Hier der Code:
Delphi-Quellcode:
function TForm1.GewinnerFeststellen(x: Integer; y: Integer; spieler: TFeldBesetzung): Boolean;
var richtung: array[0..7,0..1] of Integer; a,b,i,j,k: Integer; begin //Überprüfung, ob der Spieler gewonnen hat Result := false; a := 0; i := x-1; j := y-1; if i < 0 then Inc(i); if j < 0 then Inc(j); //Überprüfung ob der Spieler auf den umliegenden Feldern schon gesetzt hat while (j <= y+1) and (j <= FSpielfeldHoehe-1) do begin if (FSpielfeld[i,j] = spieler) and not((i=x) and (j=y)) then begin richtung[a,0] := i-x; richtung[a,1] := j-y; Inc(a); end; Inc(i); if (i > x+1) or (i > FSpielfeldBreite-1) then begin i := x-1; if i < 0 then Inc(i); Inc(j); end; end; //Weiterverfolgung in den jeweiligen Richtungen, ob mindestens 4 Steine in einer //Reihe sind for k := 0 to a - 1 do begin i := x; j := y; b := 0; while (i >= 0) and (j >= 0) and (i <= FSpielfeldBreite-1) and (j <= FSpielfeldHoehe-1) and (FSpielfeld[i,j] = spieler) do begin Inc(b); i := i+richtung[k,0]; j := j+richtung[k,1]; end; i := x-richtung[k,0]; j := y-richtung[k,1]; while (i >= 0) and (j >= 0) and (i < FSpielfeldBreite-1) and (j < FSpielfeldHoehe-1) and (FSpielfeld[i,j] = spieler) do begin Inc(b); i := i-richtung[k,0]; j := j-richtung[k,1]; end; if b > 3 then Result := true; end; end; Danke schon mal im Voraus! |
AW: 4 Gewinnt Gewinnabfrage Erklärung
Zitat:
Keiner guckt sich unformatierten Code an. |
AW: 4 Gewinnt Gewinnabfrage Erklärung
Besser?
Bin neu hier :) |
AW: 4 Gewinnt Gewinnabfrage Erklärung
zur Info: Scheint in der Entwickler-Ecke geklärt worden zu sein. (
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz