AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 03:02

Parameter dieser Suchanfrage:

Suche in Thema: Minesweeper
Suche alle Beiträge, die von "BadenPower" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 23 von insges. 23 Treffern
Suche benötigte 0.001s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 27. Mär 2015
    Passt!
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 27. Mär 2015
    Hab' ich jetzt auch schon gemerkt, dass Du gar nicht das gemeint hast, was ich in Deinen Satz fälschlicherweise hineininterpretiert habe. :angel:

    Auf deutsch:
    Ich habe etwas gelesen, was Du gar nicht geschrieben hast und mich dadurch danach gewundert, dass Du es trotzdem so machst, wie es meiner Meinung nach richtig und regelkonform ist.

    Manchmal hilft Brille aufziehen und noch 2 mal lesen.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 27. Mär 2015
    Ich hab ja nicht die Regel angezweifelt, sondern mich auf dieses bezogen:


    Ich hatte es so gelesen, dass auch wenn es ein Zahlenfeld ist, Du nicht nur die Regel auf dieses Zahlenfeld anwenden möchtest, sondern wiederum ringsherum alles prüfst und angrenzenden Zahlenfelder aufdecken möchtest.

    Und dieser Schritt wäre falsch aber Du machst ihn ja auch nicht.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 27. Mär 2015
    Reden wir hier aneinander vorbei?



    Du machst doch genau das was ich geschrieben habe.

    Wenn Dein Feld in der if-Bedingung ein Zahlfeld ist, dann werden die umliegenden Felder nicht geprüft.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 27. Mär 2015
    Ja ist es denn so schwer zu verstehen?

    Nimm Deine Regel und Du siehst, dass eben aus diesem Grund keine Überprüfung der umliegenden Felder eines Zahlfeldes NOTWENDIG ist.

    Und daher werden die umliegenden Felder eines ZAHLFELDES nach dem Aufdecken eben NICHT mehr geprüft.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 27. Mär 2015
    Ist das angrenzende Feld zu einem Leerfeld eine Zahl, dann wird das Zahlfeld aufgedeckt, aber die angrenzenden Felder des Zahlfeldes NICHT mehr überprüft.

    Siehe QuellCode in #75.



    Ist eine "Fahne" gesetzt, dann wird diese nicht automatisch aufgedeckt, auch nicht wenn sich darunter eine Zahl oder Leerfeld verbirgt. Ein gesetztes Fragezeichen hingegen wird automatisch behandelt, also wie...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 26. Mär 2015
    Wenn Du Deinen Code aus #32 benutzt



    procedure TForm1.CreatePanelMatrix(x1, y1: Integer);
    var
    x,y:integer;
    begin
    for x := 0 to 14 do
    for y := 0 to 14 do
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 26. Mär 2015
    Sogar gleich zweimal.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 26. Mär 2015
    Schau Dir das Bild nochmals genau an.

    Beim Klick auf das einzelne Feld auf das der roten Pfeil zeigt hat sich ALLES was rot umrandet ist geöffnet. Und dies ist nur 1 Abbild von zig Versuchen welche ich gemacht habe.

    Dort wirst Du auch feststellen können, dass dort ZWEI diagonale "Grenzen" enthalten sind, welche eben NICHT als Begrenzung gelten.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 26. Mär 2015
    Das ist doch schon wieder falsch.

    Zum 100. mal: Die Diagonale ist keine Grenze.

    In diesem Beispiel wird auf Feld(1,2) mit der Raute geklick.
    geöffnet werden:
    (0,2),(1,2),(0,3),(1,3) UND (2,1),(3,1),(2,0),(3,0)

    Beispiel siehe Bild in Post #82.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 26. Mär 2015
    Warum nicht?
    100 Minensucher, welche nahezu identisch aussehen, aber garantiert gleichzeitig 90 verschiedene Lösungsansätze in den Internas.

    Durch solch einen Vergleich stellt man erst einmal fest, wieviele Wege, welche man machmal gar nicht in Betracht gezogen hatte, nach Rom führen.

    Auch der Vergleich von kompletten Programmen kann durchaus lehrreich sein.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 26. Mär 2015
    Ganz sicher, habe es gerade nochmals getestet.

    Habe 2 Klicks gemacht:
    1. Blauer Pfeil auf geglicktes Feld => Blau aufgeangen
    2. Roter Pfeil auf geglicktes Feld => rot aufgeangen

    Im roten Bereich sind sogar 2 diagonale Angrenzungen in diesem Beipiel, welche alle sich nur durch den klick auf das mit dem roten Pfeil markierten Feld geöffnet haben.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 26. Mär 2015
    DOCH, auch dieses Feld wird aufgedeckt.

    So ist es beim MS-MineSweeper auf alle Fälle. Habe diese Konstellation mehrfach überprüft und immer wenn das Diagonalfeld auch leer war hat die MS-Version auch alles weitere aufgedeckt, was an das Diagonalfeld angrenzte.

    NOCHMALS:
    Die Diagonale ist KEINE Sperre im MS-MineSweeper.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 26. Mär 2015
    So könnte dann die Play aussehen:


    procedure TMinesweeperForm.Play(X, Y: Integer);
    begin
    if ((InPanelGrid(X, Y)) and (FPanels.Enabled)) then
    begin
    FPanels.Color := clWindow;
    FPanels.Enabled := false;
    if (FPanels.FlankingMinesCount > 0) then
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 26. Mär 2015
    Das 3er Feld wird auch aufgedeckt, da es auf keinen Fall eine Bombe sein kann. Und auch die dann weiter angrenzenden Felder werden wiederum geprüft.

    Die Diagonale ist keine Sperre.

    Und so macht es der MS-Minesweeper auch.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 25. Mär 2015
    Der FloodFill-Algorithmus in der 4-Neighbour-Variante ist doch genau der Ansatz den er braucht.

    Wenn in ein Feld geklickt wird, dass keine Zahl und keine Bombe enthält, dann alles Aufdecken, was leer ist und was angrenzend eine Zahl hat.

    Also, wenn leer, dann aufdecken und rekursiv oben unten links und rechts weiter prüfen. Wenn eine Zahl, dann nur aufdecken und diese Stelle nicht mehr...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 25. Mär 2015
    Ja klar, man kann auch die Symbole, welche man anzeigen lassen will immer selbst zeichnen anstatt ein Bild davon in eine ImageList zu laden um es wieder zu verwenden.

    Es ist doch wohl eher eine subjektive Frage ob man etwas bestehendes mit Funktionalität wie zum Beipiel ein Panel verwendet und nur Properties ändern braucht, als alles selbst zu Zeichnen und die gesamte Funktionalität und das...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 25. Mär 2015
    Schön, jetzt hast Du ein schönes Karofeld, welches Du anklicken kannst und Dir die gewünschten Werte gibt.

    Aber es ist nun keine Funktionalität sichtbar. Schaltflächendesign / Anzeigedesign usw.
    Das müsstest Du nun ja wiederum selbst implementieren um den Minesweeper-Look herzustellen.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 25. Mär 2015
    Auch für jede Zahl und das Freifeld ein Image?

    Gut, wären dann 13 Bildchen.
    Zahlen 1-8, Leerfeld, Markierung, Bombe eplodiert, Bombe, Fragezeichen.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 25. Mär 2015
    Das mit den Panels finde ich persönlich auch praktisch, denn mann kann sie einerseits als "Schalfläche" darstellen und ohne großen Aufwand nach dem Linksklick als reine Anzeige für Freifläche oder Zahlendarstellung benutzen.

    Einzig das Darstellen von Bildchen als Symbole (z.B Fähnchen) auf dem Panel ist umständlicher als bei der Verwendung von TSpeedButton oder TBitBtn.



    Was wäre denn...
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 25. Mär 2015
    procedure TForm1.PanelMatrixMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var
    S: string;
    C: char;
    Panel: TPanel;
    Pos: TPoint;
    begin
    if Sender is TPanel then
    begin
    Panel := TPanel(Sender);
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 24. Mär 2015
    Für was brauchst Du das A?

    Auf das auslösende Panel kannst Du in der Event-Prozedure mit DiesesPanel := TPanel(Sender); zugreifen.
  • Forum: Algorithmen, Datenstrukturen und Klassendesign

    AW: Minesweeper

      Delphi
      by BadenPower, 24. Mär 2015
    Die Zuweisung der Prozedur zum Ereignis erfolgt ohne Klammern und ohne Parameter, also nur der Prozedurname.

    Panel.OnMouseDown := PanelMatrixMouseDown;


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=BadenPower&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=184385
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz