Refactor Sudoku solver architecture
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
package strategies
|
||||
|
||||
import (
|
||||
"git.kleiax.de/homepage/board"
|
||||
"git.kleiax.de/homepage/field"
|
||||
)
|
||||
|
||||
// ────────────────────────────────────────────────────────────────────────────── //
|
||||
@@ -13,20 +13,20 @@ type LastDigit struct {
|
||||
}
|
||||
|
||||
func (ld *LastDigit) SearchProgressableCells() int {
|
||||
ld.field.ForEachPart(func(part board.Part) {
|
||||
ld.field.ForEachPart(func(part field.Part) {
|
||||
missingNumbers := part.GetMissingNumbers()
|
||||
if len(missingNumbers) == 1 {
|
||||
var emptyCell *board.Cell
|
||||
part.ForEachCell(func(cell *board.Cell) {
|
||||
var emptyCell *field.Cell
|
||||
part.ForEachCell(func(cell *field.Cell) {
|
||||
if cell.GetNumber() == 0 {
|
||||
emptyCell = cell
|
||||
}
|
||||
})
|
||||
// fmt.Println(part)
|
||||
// fmt.Printf("Gefundene Zelle: %d/%d - %d, missungNumber: %v, Typ: %T\n", emptyCell.Pos.GetRow(), emptyCell.Pos.GetColumn(), emptyCell.GetNumber(), missingNumbers, part)
|
||||
change := board.ExternalChange{
|
||||
change := field.ExternalChange{
|
||||
Cell: emptyCell,
|
||||
Action: board.ActionSetNumber,
|
||||
Action: field.ActionSetNumber,
|
||||
Value: missingNumbers[0],
|
||||
From: emptyCell.GetNumber(),
|
||||
TriggerdBy: ld.getName(),
|
||||
|
||||
Reference in New Issue
Block a user