diff --git a/cmd/main.go b/cmd/main.go index 38910fc..dd2c678 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -13,6 +13,7 @@ func print_field(field string) { } fmt.Println() } + func main() { storage := common.ReadDB() fmt.Println(storage) @@ -29,21 +30,37 @@ func main() { var inputString string - _, err := fmt.Scan(&inputString) + var count_fail int = 3 - if err != nil || len(inputString) != 1 { - fmt.Println("Ошибка ввода") - return - } + for strings.Contains(field, "_") { + _, err := fmt.Scan(&inputString) - char := inputString[0] - - // strings.Contains(word.Word, string(char)) - for i := 0; i < len(word.Word); i++ { - if word.Word[i] == char { - field = field[:i] + string(char) + field[i:] + if err != nil || len(inputString) != 1 { + fmt.Println("Ошибка ввода") + return } - } - print_field(field) + 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) + } }