Dies hab ich nun innerhalb von ein paar Minuten hingeschmiert. Kann sein, dass ich an der Abbruchbedingung was übersehen habe.
In der Funktion IstTeilEinesWortes() werden alle Wörter im Wörterbuch mit dem Teilwort verglichen. Ein Wort im Wörterbuch muss dann mit dem Teilwort anfangen.
Wenn dies wahr ist, dann soll noch mal überprüft werden, ob wir uns noch in der Matrix befinden.
Wenn alle Bedingungen erfüllt sind, wird geschaut, ob das Teilwort ein komplettes Wort im Wörterbuch entspricht. Wenn ja, dann wird das Teilwort in die Wörterliste gespeichert.
Nun wird die Rekursion gestartet. Es wird ein neues Teilwort gebildet, und durchläuft nun alle Richtungen.
wörterliste ist ein Referenzparameter, je nach Sprache müsste es ein wenig anders implementiert werden.