Информатика, вопрос задал plazmaroma , 1 год назад

Создать игру "Больше/меньше" на Tkinter. В программе будут присутствовать: Label, Button, Enrty.
При нажатии на кнопку "Проверить" будут загораться подсказки Больше или меньше(Нужно устанавливать цвет заднего фона для подсказок. Зеленый для необходимой подсказки, красный для ненужной)
В конце игры необходимо спрятать подсказки при помощи белого заднего фона и цвета текста. Должен появиться текст, в котором укажут "Поздравляем. Вы угадали число. Это было число n".
Необходимо добавить счетчик попыток и отобразить его.

Язык: Python
Надеюсь на вас, 100 баллов даю

Ответы на вопрос

Ответил MagicSticks
1

Ответ:

import tkinter as tk

import random

class Game(tk.Frame):

   def __init__(self, master=None):

       super().__init__(master)

       self.master = master

       self.master.title("Больше/меньше")

       self.pack()

       self.create_widgets()

       self.number = random.randint(1, 100)

       self.count = 0

   def create_widgets(self):

       self.label1 = tk.Label(self, text="Угадайте число от 1 до 100")

       self.label1.pack(pady=10)

       self.entry1 = tk.Entry(self)

       self.entry1.pack(pady=10)

       self.button1 = tk.Button(self, text="Проверить", command=self.check_number)

       self.button1.pack()

       self.label2 = tk.Label(self, text="")

       self.label2.pack(pady=10)

       self.label3 = tk.Label(self, text="")

       self.label3.pack(pady=10)

       self.label4 = tk.Label(self, text="")

       self.label4.pack(pady=10)

   def check_number(self):

       self.count += 1

       guess = int(self.entry1.get())

       if guess == self.number:

           self.label2.config(text=f"Поздравляем! Вы угадали число {self.number} за {self.count} попыток", fg="black", bg="white")

           self.label3.config(text="", bg="white")

           self.label4.config(text="", bg="white")

       elif guess < self.number:

           self.label2.config(text="Загаданное число больше", fg="red", bg="white")

           self.label3.config(text="", bg="white")

           self.label4.config(text=f"Количество попыток: {self.count}", bg="white")

       else:

           self.label2.config(text="Загаданное число меньше", fg="red", bg="white")

           self.label3.config(text="", bg="white")

           self.label4.config(text=f"Количество попыток: {self.count}", bg="white")

       self.entry1.delete(0, tk.END)

root = tk.Tk()

game = Game(master=root)

game.mainloop()

Объяснение:

В данной игре программа генерирует случайное число от 1 до 100, а пользователь должен угадать его за наименьшее количество попыток. При нажатии на кнопку "Проверить" программа выдает подсказки "Больше" или "Меньше", а также отображает количество попыток. После того, как пользователь угадает число, программа выводит сообщение о победе и скрывает подсказки.

Новые вопросы