Initial commit
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package logic
|
||||
|
||||
import "git.kleiax.de/homepage/libs/sudoku/board"
|
||||
|
||||
// ────────────────────────────────────────────────────────────────────────────── //
|
||||
// SOLVER STRUCTURE //
|
||||
// ────────────────────────────────────────────────────────────────────────────── //
|
||||
|
||||
type Solver struct {
|
||||
strategies []Strategy
|
||||
conf struct {
|
||||
all bool
|
||||
repeat bool
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Solver) Add(strategy Strategy) {
|
||||
s.strategies = append(s.strategies, strategy)
|
||||
}
|
||||
|
||||
func (s *Solver) initStragies(field *board.Field) {
|
||||
for _, strategy := range s.strategies {
|
||||
strategy.Init(field)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Solver) run(i int) bool {
|
||||
//TODO: clean und Fehlerauffangen
|
||||
s.strategies[i].SearchProgressableCells()
|
||||
numberOfChanges := s.strategies[i].ApplyAll()
|
||||
if numberOfChanges == 0 {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func (s *Solver) search() {
|
||||
|
||||
}
|
||||
|
||||
func (s *Solver) getSolutionPath() []board.Change {
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user