From b02348eda19eee86ea164d8960e9a834952b08af Mon Sep 17 00:00:00 2001 From: Ivan Titov Date: Tue, 18 Feb 2025 21:15:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=86=D0=B8=D0=BA=D0=BB=20=D0=B8=D0=B3=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/main.go | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) 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) + } }