Algorithmus zum Ausfüllen eines Bestimmten Kreuzworträtsel mit Hilfe der Wörtern ==> Ist kein BOT...

  • Zunächst einmal ist es um einiges praktischer das Spielfeld in einem 3D-Array und die Wörter ganz einfach in einem normalen Array zu speichern.
    Das Spielfeld-Array hat dann also eine Dimension für die X-Koordinate des Feldes, eine Dimension für die Y-Koordinate und dann noch eine dritte Dimension die nur einen Index von 2 hat, wobei die 0-Ebene verwendet wird um mit true/false zu kennzeichnen ob ein Feld benutzt werden darf oder nicht und die zweite Ebene ("1-Ebene") speichert die Buchstaben der Lösung. Außerdem sollten wir uns ein Array das alle auszufüllenden Lücken enthält generieren.
    Was wir als nächstes brauchen ist ein Algorithmus. Am besten wäre wohl ein rekursiver Algorithmus der mit einer Menge an Wörtern und den Informationen der Lücke aufgerufen wird. Er sucht sich nun in einer For-Schleife das erste "passende Wort" aus und ruft sich selbst wieder auf allerdings mit der nächsten Lücke und der Wörter-Menge minus dem eingesetzten wort. Nun werkelt die Rekursion bis entweder die Wörter-Menge leer ist und alle Lücken ausgestopft sind - was bedeutet das wir das Rätsel gelöst haben - oder eine Instanz findet kein "passendes Wort" mehr. Dann bricht diese ab und die Funktion ein Rekursionslevel darüber fährt mit ihrer For-Schleife zum Wörtersuche fort...
    Das Problem an der Sache ist nur, dass wir eben noch 2 Methoden benötigen: "Finde alle Lücken" und "passt dieses wort da rein?" Allerdings sollten diese keine Schwierigkeiten bereiten wenn die Daten wie anfangs beschrieben gespeichert werden...
    Ich hoffe ich konnte helfen ;) :D
    PS: Wenn du doch an der Uni bist, wieso kannst du so etwas dann nicht selbst? 8|

    LG
    Christoph :)