Exponat-Ansichten — Generierte Platzhalter-Grafik — echte Screenshots ersetzen sie.
Überblick
Sudoku Online ist eine interaktive webbasierte Sudoku-Plattform, gebaut mit React, Tailwind CSS und reinem JavaScript. Rätseleingabe, Validierung, Lösungsmodul und Ausgabe sind in saubere Module getrennt; ein constraint-basierter Backtracking-Solver mit heuristischer Suche löst auch schwere Bretter schnell und zuverlässig.
Was es kann
- Saubere modulare Architektur: Eingabe/Validierung, Lösungsmodul und Ausgabe getrennt
- Constraint-basierter Backtracking-Solver für Korrektheit und Performance
- Deterministischer, testbarer Lösungsfluss — jedes Rätsel folgt demselben Ablauf
- Schlanker Build mit minimalen Abhängigkeiten, fokussiert auf Algorithmus-Qualität
Zentrale Entscheidungen
- Bewusste Entscheidung für eine klare, modulare Architektur: Rätseleingabe/Validierung, Lösungsmodul und Ausgabe sind getrennt.
- Umsetzung eines constraint-basierten Backtracking-Solvers für die Balance aus Korrektheit und Performance.
- Der Solver ist deterministisch und testbar — jedes Rätsel durchläuft denselben Lösungsfluss.
- Bewusst schlankes Projekt mit minimalen Abhängigkeiten, fokussiert auf Algorithmus-Qualität.
Schwierigstes Problem
Die größte Herausforderung war es, Brute-Force-Explosionen bei schweren Rätseln zu verhindern. Ein naiver Solver funktionierte bei leichten Brettern, wurde aber bei komplexen langsam. Gelöst durch die Kombination aus Constraint-Propagation und heuristischer Suche (das nächste Feld mit den wenigsten Kandidaten zuerst) — das reduzierte unnötige Verzweigungen und machte das Lösen deutlich schneller und zuverlässiger.
Gelernt
- Ein klares Datenmodell (Zeilen, Spalten, Blöcke, Kandidaten) macht komplexe Logik deutlich verständlicher.
- Die Performance verbesserte sich deutlich durch frühes Pruning und klügere Kandidaten-Sortierung.
- Randfälle zählen: ungültige Rätsel, Mehrdeutigkeiten und unlösbare Zustände brauchen explizite Behandlung.
- Auch kleine Projekte profitieren von sauberem Engineering: modulares Design, Tests und lesbare Logik.