Вопрос задан 08.06.2023 в 08:57. Предмет Информатика. Спрашивает Ивашко Алексей.

Создать игру "Больше/меньше" на Tkinter. В программе будут присутствовать: Label, Button, Enrty.

При нажатии на кнопку "Проверить" будут загораться подсказки Больше или меньше(Нужно устанавливать цвет заднего фона для подсказок. Зеленый для необходимой подсказки, красный для ненужной) В конце игры необходимо спрятать подсказки при помощи белого заднего фона и цвета текста. Должен появиться текст, в котором укажут "Поздравляем. Вы угадали число. Это было число n". Необходимо добавить счетчик попыток и отобразить его. Язык: Python Надеюсь на вас, 100 баллов даю
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Конджария Тамуна.

Ответ:

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, а пользователь должен угадать его за наименьшее количество попыток. При нажатии на кнопку "Проверить" программа выдает подсказки "Больше" или "Меньше", а также отображает количество попыток. После того, как пользователь угадает число, программа выводит сообщение о победе и скрывает подсказки.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам создать игру "Больше/меньше" на Tkinter. Вот пример кода, который реализует требуемую функциональность:

python
import tkinter as tk from random import randint # Глобальные переменные random_number = randint(1, 100) attempts = 0 def check_number(): global attempts guess = int(entry.get()) attempts += 1 if guess < random_number: label_hint.config(text="Меньше", bg="red") elif guess > random_number: label_hint.config(text="Больше", bg="red") else: label_hint.config(text="Поздравляем! Вы угадали число. Это было число {}.".format(random_number), bg="white", fg="black") button_check.config(state="disabled") label_attempts.config(text="Попытки: {}".format(attempts)) # Создание графического интерфейса window = tk.Tk() window.title("Игра: Больше/меньше") label_title = tk.Label(window, text="Угадай число от 1 до 100", font=("Arial", 14)) label_title.pack(pady=10) entry = tk.Entry(window, font=("Arial", 14)) entry.pack(pady=10) button_check = tk.Button(window, text="Проверить", font=("Arial", 14), command=check_number) button_check.pack(pady=10) label_hint = tk.Label(window, font=("Arial", 14)) label_hint.pack(pady=10) label_attempts = tk.Label(window, text="Попытки: 0", font=("Arial", 14)) label_attempts.pack(pady=10) window.mainloop()

В этом коде мы создаем главное окно приложения, содержащее Label для заголовка, Entry для ввода числа, Button для проверки числа, Label для отображения подсказок и Label для отображения количества попыток.

При нажатии на кнопку "Проверить" вызывается функция check_number(). Она сравнивает введенное число с загаданным числом random_number и обновляет подсказку в label_hint. Если число угадано, кнопка "Проверить" блокируется, чтобы игрок не мог делать новые попытки.

Надеюсь, этот код поможет вам создать игру "Больше/меньше" на Tkinter. Если у вас есть дополнительные вопросы, пожалуйста, дайте мне знать!

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос