Refactor Sudoku field and solver implementation
This commit is contained in:
@@ -15,8 +15,8 @@ func (hs *HiddenSingle) SearchProgressableCells() int {
|
||||
m := make(map[int]int)
|
||||
|
||||
part.ForEachCell(func(cell *field.Cell) {
|
||||
notes := cell.Notes.Get()
|
||||
for note := range notes {
|
||||
notes := cell.GetNotes().Get()
|
||||
for _, note := range notes {
|
||||
m[note]++
|
||||
}
|
||||
})
|
||||
@@ -28,9 +28,9 @@ func (hs *HiddenSingle) SearchProgressableCells() int {
|
||||
}
|
||||
}
|
||||
|
||||
for num := range hiddenSingles {
|
||||
for _, num := range hiddenSingles {
|
||||
part.ForEachCell(func(cell *field.Cell) {
|
||||
if cell.Notes.Has(num) {
|
||||
if cell.GetNumber() == 0 && cell.GetNotes().Has(num) {
|
||||
change := field.ExternalChange{
|
||||
Cell: cell,
|
||||
Action: field.ActionSetNumber,
|
||||
@@ -38,7 +38,7 @@ func (hs *HiddenSingle) SearchProgressableCells() int {
|
||||
From: cell.GetNumber(),
|
||||
TriggerdBy: hs.getName(),
|
||||
}
|
||||
hs.changes = append(hs.changes, change)
|
||||
hs.queue(change)
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -50,6 +50,10 @@ func (hs *HiddenSingle) getName() string {
|
||||
return "Hidden Single"
|
||||
}
|
||||
|
||||
func (hs *HiddenSingle) Name() string {
|
||||
return hs.getName()
|
||||
}
|
||||
|
||||
// ────────────────────────────────────────────────────────────────────────────── //
|
||||
// HIDDEN_PAIR STRUCTURE //
|
||||
// ────────────────────────────────────────────────────────────────────────────── //
|
||||
|
||||
Reference in New Issue
Block a user