Thema: Delphi Minesweeper

Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#89

AW: Minesweeper

  Alt 26. Mär 2015, 14:11
Um nochmal zu den Aufdeck-Regeln zu kommen:

Wenn ein Feld aufgedeckt wird, dass keine Mine im Nachbarfeld hat, dann werden auch alle Nachbarfelder aufgedeckt.
Delphi-Quellcode:
procedure TSpiel.DeckMichAuf( Feld : TFeld );
var
  LNachbar : TFeld;
begin
  if Feld.Aufgedeckt then
    Exit;

  Feld.Aufgedeckt := True;
  
  if Feld.HatMine then
    Exit;

  if Feld.AnzahlNachbarMinen = 0 then
  begin
    for LNachbar in NachbarnVon( Feld ) do
      DeckMichAuf( LNachbar );
  end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (26. Mär 2015 um 14:19 Uhr)
  Mit Zitat antworten Zitat