Ich erstelle ein Tetris-ähnliches Spiel mit zwei Hauptunterschieden: Der Bildschirm ist bereits mit Kacheln gefüllt (wie in Puzzle Quest für Nintendo DS und PC) und auf jeder einzelnen Kachel befindet sich ein Buchstabe. Ziel des Spielers ist es, Kacheln zu eliminieren, indem er mit ihnen gültige Wörter bildet. Wörter werden gebildet, indem Buchstaben in einer beliebigen Richtung, außer diagonal, nebeneinander platziert werden.
Der Spieler kann eine ganze Reihe von Plättchen nach links oder rechts oder eine ganze Spalte von Plättchen nach oben oder unten verschieben, und zwar für so viele Felder, wie er möchte (wenn die Bewegung einer Reihe / Spalte die Grenzen des Spielfelds überschreitet) Ein Buchstabe, der die Grenze überschreitet, wird "durchlaufen" (erscheint am anderen Ende der Zeile / Spalte). Nach der Aktion des Spielers sollte das Spiel das gesamte Spielfeld nach gültigen Wörtern durchsuchen und die Buchstaben, die diese Wörter bilden, vom Spielfeld entfernen. Die Buchstaben über denen, die entfernt wurden, fallen an die Stelle der Buchstaben, die entfernt wurden, und neue Buchstaben fallen von oben auf den Bildschirm, bis die Tafel wieder gefüllt ist.
Ich habe bereits einen linearen Algorithmus geschrieben, der anhand einer bestimmten Zeichenfolge feststellt, ob es sich um ein gültiges englisches Wort handelt. Das Problem, das ich habe, ist: Wie kann ich nach gültigen Wörtern an der Tafel suchen? Ist rohe Gewalt der einzige Weg? Das Testen aller möglichen Kombinationen von der Karte aus, um festzustellen, ob sie gültig sind, ist sehr langsam, selbst für eine kleine (5x5) Karte. Jede Hilfe wird sehr geschätzt, danke!