Thema: Delphi Minesweeper

Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#118

AW: Minesweeper

  Alt 27. Mär 2015, 00:25
Ok. Thanx. Deine DeckMichAuf ist klasse. Damit sieht's in meinem Code auch gleich wesentlich entspannter aus. Stimmt das mit der Fahne?
Delphi-Quellcode:
procedure TMinesweeperForm.Play(X, Y: integer); // PanelsMouseUp, Button mbLeft;
var
  I, J: integer;
begin
  if InPanelGrid(X, Y) // Wenn im Raster;
    and FPanels[X, Y].Enabled // und noch nicht aufgedeckt;
    and (FPanels[X, Y].FlankingMinesCount >= 0) // und keine Mine; (Mine = -1)
    and (FPanels[X, Y].Caption <> cFlagSign) then // und keine Fahne;
  begin
    if FPanels[X, Y].FlankingMinesCount > 0 then // Wenn Zahl > Null;
      FPanels[X, Y].Caption := IntToStr(FPanels[X, Y].FlankingMinesCount)
    else
      FPanels[X, Y].Caption := ''; // Null;
    FPanels[X, Y].Color := clWindow; // farblich kennzeichnen und
    FPanels[X, Y].Enabled := false; // -> aufdecken;
    if GetFlankingMinesCount(X, Y) = 0 then // Wenn keine NachbarMine;
      for I := -1 to 1 do
        for J := -1 to 1 do
          if ((I <> 0) or (J <> 0)) then // Alle außer X / Y;
            Play(X + I, Y + J);
  end;
end;
  Mit Zitat antworten Zitat