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)