aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoop <Joop Kiefte>2022-03-17 02:00:54 +0000
committerjoop <Joop Kiefte>2022-03-17 02:00:54 +0000
commit8f8319716c50b0ab6722e545062f54f7d1029ec1 (patch)
treec6e2ce3241ce2ee77711b6e24fbf5a2eef3524f8
parent4425fa24325ced5f39377071348f96c62e6d964b (diff)
Add prompt for generic read function
-rw-r--r--go.mod3
-rw-r--r--main.go14
2 files changed, 9 insertions, 8 deletions
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