package main import ( "fmt" "math/rand" "strings" "wheel_of_fortune/internel/common" ) func init() { printMenu() fmt.Println("Введите цифру:") } func printMenu() { fmt.Println(` Выберете пункт меню: 1. Новая игра 2. Загрузить игру 3. Сохранить игру 4. Выход `) } func print_field(field string) { for i := range field { fmt.Print(string(field[i]), " ") } fmt.Println() } func gameEngine() { 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) } } func main() { var number int fmt.Scanln(&number) /*TODO: реализовать функции, добавить интрфейс сохранения, загрузки, структуру, возможность возврата в меню в процессе игры*/ switch number { case 1: gameEngine() case 2: fmt.Println("load") case 3: fmt.Println("save") case 4: fmt.Println("exit") default: fmt.Println("Вы ввели несуществующий пункт меню") } }