Takuzu Backtracking

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Takuzu Backtracking

    Hallo Leute,

    ich habe derzeit eine Aufgabe von der FH, und bin total am verzweifeln.
    Wir sollen das Spiel Takuzu bauen, und eine eventuelle Lösung anbieten.
    Ein Backtracking oder so haben wir nie gehabt, scheint mir aber die beste Lösung zu sein.

    Hier kurz die Spielregeln:
    - Ein Spielfeld (d.h. ein quadratisches Gitter z.B. der Größe 4 x 4) wird mit ein paar Nullen und Einsen vorbefüllt
    – Ziel ist es, dass der Benutzer alle Leerstellen so mit Nullen und Einsen ergänzt, dass jede Zeilen- und jede Spaltensumme eine gerade Summe ergibt.
    – Zudem dürfen nicht mehr als zwei gleiche Zahlen in einer Zeile benachbart sein

    Also das wäre eine gültige Lösung
    0 1 1 0
    1 0 0 1
    0 0 1 1
    1 1 0 0

    Dazu kommt noch eine Random Belegung des Spielfelds, ansonsten würde das ganze ja kein Sinn machen.
    Das habe ich auch alles schon, jedoch bekomme ich es nicht hin eine Lösung über Methoden o.ä. zu erstellen.
    Diese sind nie Valide.

    Das ganze ist in einem JButton Array[zeilen][spalten] (2d) abgelegt.
    Ich habe 3 Methoden, welche mir die Regeln prüfen (checkCell, checkColumn & checkRow) plus eine die alle vereint.

    Und meine Funktion checkSolution läuft einfach nur 2 schleifen durch und soll mir das irgendwie wenn nix gesetzt ist etwas setzen was valide ist. :)

    Ich hoffe ihr habt eine Idee dazu. Danke
    Gruß Tobias