Compare commits

..

No commits in common. "71fefd760e206e9b0dd941c0a93366f3c1db4ec1" and "b83d6bdde40ae6d110d49ba4f434db775f58d83f" have entirely different histories.

8 changed files with 55 additions and 64 deletions

View File

@ -1,12 +0,0 @@
package export
func (export *Export) Export() (render string) {
// Print the valid solutions
switch export.Controller.Output {
case "human":
render = export.RenderHumanReadableSolutions()
case "flat":
render = export.renderFlatSolutions()
}
return
}

View File

@ -0,0 +1,14 @@
package export
import (
"fmt"
"log"
)
// Print solutions into a human friendly format for in the console.
func (export *Export) PrintFlatSolutions() {
for solutionIndex, solution := range export.Controller.Solutions {
log.Printf("\nSolution #%d:", solutionIndex+1)
fmt.Println(solution)
}
}

View File

@ -0,0 +1,21 @@
package export
import (
"fmt"
"log"
)
// Print solutions into a human friendly format for in the console.
func (export *Export) PrintHumanReadableSolutions() {
for solutionIndex, solution := range export.Controller.Solutions {
log.Printf("\nSolution #%d:", solutionIndex+1)
fmt.Println("╔═══════════╗")
for rowIndex, row := range solution {
if rowIndex == 3 || rowIndex == 6 {
fmt.Println("╟───┼───┼───╢")
}
fmt.Println("║" + row[0:3] + "│" + row[3:6] + "│" + row[6:9] + "╢")
}
fmt.Println("╚═══════════╝")
}
}

View File

@ -1,15 +0,0 @@
package export
import (
"fmt"
"strconv"
)
// Print solutions into a human friendly format for in the console.
func (export *Export) renderFlatSolutions() (render string) {
for solutionIndex, solution := range export.Controller.Solutions {
render += fmt.Sprintln("\nSolution #" + strconv.Itoa(solutionIndex+1) + ":")
render += fmt.Sprintln(solution)
}
return
}

View File

@ -1,22 +0,0 @@
package export
import (
"fmt"
"strconv"
)
// Print solutions into a human friendly format for in the console.
func (export *Export) RenderHumanReadableSolutions() (render string) {
for solutionIndex, solution := range export.Controller.Solutions {
render += fmt.Sprintln("\nSolution #" + strconv.Itoa(solutionIndex+1) + ":")
render += fmt.Sprintln("╔═══════════╗")
for rowIndex, row := range solution {
if rowIndex == 3 || rowIndex == 6 {
render += fmt.Sprintln("╟───┼───┼───╢")
}
render += fmt.Sprintln("║" + row[0:3] + "│" + row[3:6] + "│" + row[6:9] + "╢")
}
render += fmt.Sprintln("╚═══════════╝")
}
return
}

View File

@ -6,6 +6,19 @@ import (
"os"
)
// Validate if the char provided is 0-9
func (flags *Flags) validChar(char rune) (valid bool) {
decvals := [10]int{48, 49, 50, 51, 52, 53, 54, 55, 56, 57}
for _, value := range decvals {
if char == rune(value) {
valid = true
}
}
return
}
// Print help information for the end-user
func (flags *Flags) printUsage() {
fmt.Fprintf(flag.CommandLine.Output(), "Usage of %s:\n", os.Args[0])

View File

@ -1,14 +0,0 @@
package flags
// Validate if the char provided is 0-9
func (flags *Flags) validChar(char rune) (valid bool) {
decvals := [10]int{48, 49, 50, 51, 52, 53, 54, 55, 56, 57}
for _, value := range decvals {
if char == rune(value) {
valid = true
}
}
return
}

View File

@ -45,6 +45,12 @@ func main() {
go solver.CheckCombinations()
solver.Tracker()
log.Println(export.Export())
// Print the valid solutions
switch controller.Output {
case "human":
export.PrintHumanReadableSolutions()
case "flat":
export.PrintFlatSolutions()
}
}