Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

17.03.2013, 11:23

Ketten finden in 2D Array

Hallo,

für ein Spiel im Stile von Puyo Puyo (http://www.youtube.com/watch?v=1yh8kgmFNs0) suche ich einen Algorithmus, welcher es mir erlaubt in einem 2D Array "Felder" gleichartiger Elemente zu finden. Ich brauche sowohl die Koordinaten dieser Felder als auch die Größe des Felds.

Beispiel:

0 0 0 0 0 0
1 0 1 0 0 1
1 1 1 0 0 2
2 2 2 0 0 2
2 0 1 0 1 2
0 0 0 0 0 0

Für dieses Spielfeld benötige ich folgende Elemente: (Ab einer Feldgröße von 4)

0 0 0 0 0 0
1 0 1 0 0 1
1 1 1 0 0 2
2 2 2 0 0 2
2 0 1 0 1 2
0 0 0 0 0 0

Und in einem Durchlauf für die "2er" Elemente dann:

0 0 0 0 0 0
1 0 1 0 0 1
1 1 1 0 0 2
2 2 2 0 0 2
2 0 1 0 1 2
0 0 0 0 0 0

Ich habe beim Googlen noch nichts brauchbares gefunden, bin mir aber bewusst, dass dies durch einfaches Durchlaufen aller Elemente gelöst werden kann. Ich dachte mir nur, dass ich evtl. einen schon erprobten Algorithmus für dieses Problem finden kann, welcher vor allem von der Performance her meinen dann zu erstellenden schlägt.

Ich hoffe, dass jemand mir eine Richtung oder einen Tipp geben kann.

Danke im Voraus :)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

17.03.2013, 12:09

Floodfill ist für sowas ein super Algorithmus. Dieser wird zum Beispiel auch für Füllwerkzeuge in Programmen wie Paint verwendet. Ich selbst benutze ihn, bzw Abwandlungen davon recht oft. Habe damit zum Beispiel die Wertberechnung der Felder bei Minesweeper umgesetzt. Guck danach einfach mal bei Google. Wenn es Probleme gibt kannst du ja weiter fragen:)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

3

17.03.2013, 20:34

Vielen Dank!
Genau das habe ich gesucht. Hab es auch schon hinbekommen damit. Perfekt dafür geeignet.

Werbeanzeige