Einzelnen Beitrag anzeigen

Benutzerbild von hanselmansel
hanselmansel

Registriert seit: 23. Feb 2005
Ort: Kaiserslautern
279 Beiträge
 
Delphi 2009 Enterprise
 
#3

Re: "Reihen" auf Spielfeld finden

  Alt 30. Jul 2005, 19:38
HiHo,

Du suchst zuerst nach vertikalen Reihen. Dazu gehst du spaltenweise
For ACol := 0 to StingGrid.ColCount -1 do vor. Anschließend prüfst du, ob Reihen existieren. À la:
Delphi-Quellcode:
var
  SchlangenV : Array of Integer;
  SchlangenIndex :Integer;
  Vergleich : String;

begin
SchlangenIndex := 0;
Vergleich := StringGrid.Cells[ACol,0];
For ARow := 1 to StingGrid.RowCount -1 do
  Begin
  If StingGrid.Cells[ACol, ARow] = Vergleich then
    Inc(SchlangenV[SchlangenIndex]);
  // Bei neuer Schlange SchlangenIndex erhöhen
  End;
Den "SchlangenIndex" müsstest du dann erhöhen, wenn das aktuelle Zeichen verschieden zur letzten Schlange ist. Irgendwie bekommst du dann in dem Array die Längen heraus. Wenn du natürlich noch Anfangspositionen der Schlangen suchst, solltest du mit strukturierten Datentypen
Delphi-Quellcode:
TSchlange = record
  Laenge :Integer;
  StartPosX :Integer;
  StartPosY :Integer:
end;
oder entsprechenden Klassen arbeiten. Letzteres ist natürlich viel mehr schikkimikki!

Was noch zu sagen wäre ist, dass der Code absolut nicht geprüft, unvollständig und dazu noch falsch formatiert ist, er soll aber eine grobe Überlegungsrichtung angeben.

Um deine Frage mit einem Wort zu beantworten: FOR-Schleifen

Hoffe, ich war mehr konstruktiv denn destruktiv.

MfG,

hanselmansel
Es gibt nur sehr wenige Probleme auf dieser Welt, die sich nicht mit einigen hundert Gramm Sprengstoff lösen ließen.
  Mit Zitat antworten Zitat