package main import ( "fmt" "io" "os" "git.kleiax.de/homepage/board" "git.kleiax.de/homepage/logic" "git.kleiax.de/homepage/logic/strategies" "git.kleiax.de/homepage/sudoku" ) func main() { solver := logic.Solver{} solver.Add(&strategies.LastDigit{}) solver.Add(&strategies.NakedSingle{}) game, err := sudoku.New(&board.PuzzleBank{}, solver, openFile()) if err != nil { fmt.Println(err.Error()) os.Exit(1) } field := game.GetField() fmt.Println(field.String()) err = game.Solve() if err != nil { fmt.Println(err.Error()) } field = game.GetField() fmt.Println(field.String()) } func openFile() []byte { file, err := os.Open("data/sudoku-exchange-puzzle-bank/easy3.txt") if err != nil { fmt.Println("Kann datei nicht öffnen") os.Exit(3) } defer file.Close() content, err := io.ReadAll(file) if err != nil { fmt.Println("Kann Daten nicht extrahieren") os.Exit(4) } return content }