67 lines
1.1 KiB
Go
67 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"math/rand"
|
|
"strings"
|
|
"wheel_of_fortune/internel/common"
|
|
)
|
|
|
|
func print_field(field string) {
|
|
for i := range field {
|
|
fmt.Print(string(field[i]), " ")
|
|
}
|
|
fmt.Println()
|
|
}
|
|
|
|
func main() {
|
|
storage := common.ReadDB()
|
|
fmt.Println(storage)
|
|
|
|
word := storage.Words[rand.Intn(len(storage.Words))]
|
|
|
|
fmt.Println(word)
|
|
|
|
var field string = strings.Repeat("_", len(word.Word))
|
|
|
|
print_field(field)
|
|
|
|
fmt.Println("Введите вашу букву: ")
|
|
|
|
var inputString string
|
|
|
|
var count_fail int = 3
|
|
|
|
for strings.Contains(field, "_") {
|
|
_, err := fmt.Scan(&inputString)
|
|
|
|
if err != nil || len(inputString) != 1 {
|
|
fmt.Println("Ошибка ввода")
|
|
return
|
|
}
|
|
|
|
char := inputString[0]
|
|
|
|
// strings.Contains(word.Word, string(char))
|
|
var isFound bool = false
|
|
for i := 0; i < len(word.Word); i++ {
|
|
if word.Word[i] == char {
|
|
field = field[:i] + string(char) + field[i+1:]
|
|
isFound = true
|
|
}
|
|
}
|
|
|
|
if !isFound {
|
|
count_fail--
|
|
fmt.Printf("Осталось %d попыток\n", count_fail)
|
|
}
|
|
|
|
if count_fail == 0 {
|
|
fmt.Println("Игра окончена")
|
|
return
|
|
}
|
|
|
|
print_field(field)
|
|
}
|
|
}
|