Thema: Delphi Minesweeper

Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#91

AW: Minesweeper

  Alt 26. Mär 2015, 14:32
Wenn ein Feld aufgedeckt wird, dass keine Mine im Nachbarfeld hat, dann werden auch alle Nachbarfelder aufgedeckt.
Jajn. In der Regel schon, es gibt aber eine Ausnahme. Beispiel:
Code:
|*|1|_|_|
+-+-+-+-+
|1|1|_|_|
+-+-+-+-+
|_|#|1|1|
+-+-+-+-+
|_|_|1|*|
Nehmen wir an die Raute ist der Klick und das Feld ist auch leer. Nun werden alle Felder um das Feld (mit Raute) offen gelegt, bis auf das Feld oben rechts (wenn es frei ist, also weder eine Mine, noch eine Zahl enthällt).

Enthält das Feld oben rechts von dem Klick (Raute) eine Zahl
Code:
|*|1|1|*|
+-+-+-+-+
|1|1|1|1|
+-+-+-+-+
|_|#|1|1|
+-+-+-+-+
|_|_|1|*|
wird auch das Feld oben rechts offen gelegt.

Warum aber nicht das Erste? Weil dieses Feld bereits zum nächsten freien Fläche gehört. Berühren sich zwei freien Flächen über Ecke, werden sie nicht offen gelegt wenn eine der Flächen frei wird. Das würde sonst u. U. das ganze Minen-Feld offen legen und nur Minen verdecken.
  Mit Zitat antworten Zitat