Refactor Sudoku solver architecture
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
package parser
|
||||
|
||||
import "git.kleiax.de/homepage/field"
|
||||
|
||||
//TODO: const für klassik sudoku board.Props
|
||||
//TODO: funktion für [][]Cell generierung
|
||||
|
||||
type Parser interface {
|
||||
Parse(data []byte) error
|
||||
GetField(i int) *field.Field
|
||||
GetAllFields() []field.Field
|
||||
}
|
||||
|
||||
type ParserHelper struct {
|
||||
fields []field.Field
|
||||
}
|
||||
|
||||
func (ph *ParserHelper) GetField(i int) *field.Field {
|
||||
if i < 0 || i >= len(ph.fields) {
|
||||
return &field.Field{}
|
||||
}
|
||||
return &ph.fields[i]
|
||||
}
|
||||
|
||||
func (ph *ParserHelper) GetAllFields() []field.Field {
|
||||
if len(ph.fields) == 0 {
|
||||
return nil
|
||||
}
|
||||
return ph.fields
|
||||
}
|
||||
Reference in New Issue
Block a user