Refactor Sudoku solver architecture

This commit is contained in:
2026-09-10 23:11:34 +02:00
parent 7bf4a8d725
commit a5ec338277
21 changed files with 475 additions and 260 deletions
+5 -5
View File
@@ -1,6 +1,6 @@
package strategies
import "git.kleiax.de/homepage/board"
import "git.kleiax.de/homepage/field"
// ────────────────────────────────────────────────────────────────────────────── //
// NAKED_SINGLE STRUCTURE //
@@ -11,13 +11,13 @@ type NakedSingle struct {
}
func (ns *NakedSingle) SearchProgressableCells() int {
ns.field.ForEachPart(func(part board.Part) {
part.ForEachCell(func(cell *board.Cell) {
ns.field.ForEachPart(func(part field.Part) {
part.ForEachCell(func(cell *field.Cell) {
candidates := cell.Notes.Get()
if len(candidates) == 1 && cell.GetNumber() == 0 {
change := board.ExternalChange{
change := field.ExternalChange{
Cell: cell,
Action: board.ActionSetNumber,
Action: field.ActionSetNumber,
Value: candidates[0],
From: cell.GetNumber(),
TriggerdBy: ns.getName(),