From ac3bf7d594a515dcd238c8e369960b89720f26c1 Mon Sep 17 00:00:00 2001 From: Nat Lasseter Date: Tue, 16 Jul 2019 11:14:38 +0100 Subject: Initial commit --- rubiks.go | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 rubiks.go (limited to 'rubiks.go') diff --git a/rubiks.go b/rubiks.go new file mode 100644 index 0000000..3ecf605 --- /dev/null +++ b/rubiks.go @@ -0,0 +1,61 @@ +package main + +import ( + "bufio" + "fmt" + "os" + "rubiks/cube" + "strconv" + "strings" +) + +func handle(c *cube.Cube, cmd string) { + cmd = strings.ToLower(strings.TrimSpace(cmd)) + switch cmd { + case "q": + os.Exit(0) + case "u": + c.U() + case "u'": + c.U_() + case "d": + c.D() + case "d'": + c.D_() + case "r": + c.R() + case "r'": + c.R_() + case "l": + c.L() + case "l'": + c.L_() + case "f": + c.F() + case "f'": + c.F_() + case "b": + c.B() + case "b'": + c.B_() + } +} + +func main() { + s := 3 + if len(os.Args) > 1 { + s, _ = strconv.Atoi(os.Args[1]) + } + + c, _ := cube.New(s) + scanner := bufio.NewScanner(os.Stdin) + + fmt.Print(c) + fmt.Print(">: ") + for scanner.Scan() { + handle(c, scanner.Text()) + fmt.Println() + fmt.Print(c) + fmt.Print(">: ") + } +} -- cgit v1.2.1