Refactor Sudoku field and solver implementation

This commit is contained in:
2026-09-16 22:52:44 +02:00
parent 8a5ae8c640
commit f7f9c16184
24 changed files with 1574 additions and 603 deletions
+10 -11
View File
@@ -1,11 +1,10 @@
- Feld immer wieder auf Validität checken (keine doppelten Zahlen in einem Part) damit keine Fehler bei den Strategien auftauchen können
- Validator in Logic oder Field?
- kommt in field
- field sollte flag haben ob vor einem change geprüft wird, ob das Feld danach noch valid ist
- Für die solver ein Interface implementieren, damit die folgenden Solver benutzt werden können:
- backtracking Solver
- dlx solver
- notes (menschlicher solver)
- Was passiert wenn zum Beispiel bei hiddenSingle ein Treffer zwei Changes auslöst? Muss ein Überprüfung her, ob die betreffende Zelle schon in einem vorheringen Change bearbeitet wird? Ich denka ja
- Debugging verbesser, Loglevel etc, überall sinnvolle Logs einbauen
- Flag oder so für sich selbst überprüfende Sachen, nur im debug modus nach jedem bisschen das Feld auf validität prüfen
# Offene Punkte
Der priorisierte und aktuelle Stand befindet sich in [ROADMAP.md](ROADMAP.md).
- gemeinsames Interface für menschlichen Solver, Backtracking und DLX
implementieren
- strukturiertes, optionales Logging an den Anwendungsgrenzen ergänzen
- optionalen Diagnosemodus für zusätzliche Invariantenprüfungen entwickeln
- Lösungsweg, Gruppierung von Änderungen und Undo/Redo implementieren
- weitere menschliche Lösungsstrategien in der Reihenfolge der Roadmap ergänzen