Создать игру "Больше/меньше" на Tkinter. В программе будут присутствовать: Label, Button, Enrty.
При нажатии на кнопку "Проверить" будут загораться подсказки Больше или меньше(Нужно устанавливать цвет заднего фона для подсказок. Зеленый для необходимой подсказки, красный для ненужной)
В конце игры необходимо спрятать подсказки при помощи белого заднего фона и цвета текста. Должен появиться текст, в котором укажут "Поздравляем. Вы угадали число. Это было число n".
Необходимо добавить счетчик попыток и отобразить его.
Язык: Python
Надеюсь на вас, 100 баллов даю
Ответы
Ответ:
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, а пользователь должен угадать его за наименьшее количество попыток. При нажатии на кнопку "Проверить" программа выдает подсказки "Больше" или "Меньше", а также отображает количество попыток. После того, как пользователь угадает число, программа выводит сообщение о победе и скрывает подсказки.