Files
Sudoku/main.go
T

54 lines
1009 B
Go

package main
import (
"fmt"
"io"
"os"
"git.kleiax.de/homepage/logic"
"git.kleiax.de/homepage/logic/strategies"
"git.kleiax.de/homepage/parser"
"git.kleiax.de/homepage/sudoku"
)
func main() {
solver := logic.Solver{}
solver.Add(&strategies.Notes{})
solver.Add(&strategies.LastDigit{})
solver.Add(&strategies.NakedSingle{})
solver.Add(&strategies.HiddenSingle{})
game, err := sudoku.New(&parser.PuzzleBank{}, solver, openFile(), 2)
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
}