From 8f8319716c50b0ab6722e545062f54f7d1029ec1 Mon Sep 17 00:00:00 2001 From: joop Date: Thu, 17 Mar 2022 02:00:54 +0000 Subject: Add prompt for generic read function --- go.mod | 3 +++ main.go | 14 ++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 go.mod diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..4604fb9 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module git.kiefte.eu/lapingvino/muskapti-cli + +go 1.18 diff --git a/main.go b/main.go index da0e843..2eabd73 100644 --- a/main.go +++ b/main.go @@ -5,6 +5,8 @@ import ( "math/rand" "os" "time" + + "git.kiefte.eu/lapingvino/prompt" ) func klariguLudon(min, max, skip int) { @@ -34,7 +36,7 @@ func skipDoes(skip int) string { func askPlayers() (n int) { fmt.Print("Kiom da ludantoj estas? ") - fmt.Scan(&n) + n = prompt.MustRead[int]() if n < 1 { return 2 } @@ -43,10 +45,8 @@ func askPlayers() (n int) { func askNames(n int) (names []string) { for i := 1; i <= n; i++ { - name := "" fmt.Printf("Ludanto %d, kiel mi nomu vin? ", i) - fmt.Scan(&name) - names = append(names, name) + names = append(names, prompt.MustRead[string]()) } return names } @@ -81,8 +81,7 @@ func getNumber(min, max, skip int, guessed chan bool) (nchan chan int) { func play(name string, number int) (won bool) { fmt.Printf("Estas la vico de %s: kiu numero estas? ", name) - var guess int - fmt.Scan(&guess) + guess := prompt.MustRead[int]() switch { case number == guess: fmt.Println("Prave, la numero estas", number) @@ -99,8 +98,7 @@ func play(name string, number int) (won bool) { func again() bool { for { fmt.Print("Ĉu ludi denove, jes aŭ ne? ") - answer := "" - fmt.Scan(&answer) + answer := prompt.MustRead[string]() switch answer { case "jes": return true -- cgit v1.2.3-70-g09d2