Einzelnen Beitrag anzeigen

StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#7

Re: Sieger-Prüfung "Vier gewinnt"

  Alt 28. Jun 2004, 23:24
hi luckie!

ich bin jetzt mal ganz radikal:
mach das alles in EINE prozedur!
alles war du brauchst ist eine weitere information: der ZULETZT gesetzte spielstein!

dnhand diesen spielsteins kannst du dann prüfen ob
- auf einer seite 3 gleiche
- auf einer seite 2 gleiche auf der anderen seite 1 gleicher
("seite" stellvertretend für links/rechts/oben/unten/diagonal

--> fertig!

Delphi-Quellcode:
// Z: Zeile, S: Spalte
function Ist(Spalte, Zeile, Wer: Integer): TRUE;
begin
  // prüfen ob es das Feld gibt und ob es "Wer" (das gleiche) ist
end;

procedure NeuerSpielsteinGesetzt(S, Z, W);
begin
...
  if (Ist(S-3,Z,W) and Ist(S-2,Z,W) and Ist(S-1,Z,W)) or // nach links
     (Ist(S+3,Z,W) and Ist(S+2,Z,W) and Ist(S+1,Z,W)) or // nach rechts
     ... // nach oben/unten/linksoben/rechtsoben...
     (Ist(S-2,Z,W) and Ist(S-1,Z,W) and Ist(S+1,Z,W)) or // 2 links 1 rechts
     ... // 2 rechts 1 links, 2 oben 1 unten usw
     then
       ShowMessage('Gewonnen mit freundlicher Grüßen von Stefans zugroß geratener If Abfrage ;-)');
end;
ich hoff ihr versteht wie ich das mein
  Mit Zitat antworten Zitat