Если вы ищете веселое развлечение, беспорядок слов — хороший вариант как для игры, так и для программирования. Используя модуль Python Tkinter, вы можете создавать и играть в эту детскую игру в удобном приложении с графическим интерфейсом.
Программа отображает перемешанное слово, которое вам нужно преобразовать в исходную форму. Если вы застряли, вы можете нажать кнопку «Подсказка», чтобы открывать по одной букве за раз. Угадай слово правильно и выиграй по-крупному!
Модуль Random и Tkinter
Модуль Random — это встроенный модуль Python, используемый для генерации псевдослучайных чисел. При этом вы можете генерировать случайные числа, выбирать случайные элементы из списка, перемешивать содержимое списка и многое другое.
Этот модуль может помочь вам создать несколько типов приложений, включая симуляцию броска костей, перемешивание списков или
генератор случайных паролей. Вы также можете использовать его для создания таких игр, как ручной крикет и угадывание чисел.Tkinter позволяет создавать настольные приложения. Он предлагает множество виджетов, таких как кнопки, метки и текстовые поля, которые упрощают разработку приложений. Чтобы установить Tkinter, откройте терминал и выполните:
пип установить ткинтер
Как создать игру Word Jumble с помощью Python
Вы можете найти исходный код игры Word Jumble Game с использованием Python в этом Репозиторий GitHub.
Импортируйте модули Tkinter и Random. Инициализируйте экземпляр Tkinter и отобразите корневое окно. Задайте размеры в пикселях, заголовок и цвет фона окна.
от ткинтер Импортировать *
от случайный Импортировать выбор
от случайный Импортировать перемешивать
корень = Тк()
корень.заголовок(«Игра в слова»)
корень.геометрия("700x500")
root.configure (фон ='аква')
Определите виджет метки для отображения перемешанного слова. Укажите родительское окно, в которое вы хотите его поместить, текст, который он должен отображать, стиль шрифта и цвет фона. Организуйте виджет и добавьте к нему отступы.
Определите функцию, перетасовщик. Настройте метку подсказки, чтобы сначала отображалась пустая строка, и установите глобальную переменную подсказки на ноль. Удалите любой контент из-за более раннего выполнения программы и вместо этого отобразите строку ввода.
my_label = Метка (корень, текст ="", шрифт=("Ариал", 48), бг='аква')
my_label.pack (pady=20)
дефперетасовщик():
hint_label.config (текст='')
Глобальный hint_count
подсказка_счетчик = 0
entry_answer.delete(0, КОНЕЦ)
answer_label.config (текст='', бг='аква')
Определите список слов, которые будут служить набором данных для игры в слова. Выберите случайное слово из списка и составьте список его отдельных букв. Перетасуйте список и преобразуйте слово, перебирая его и сохраняя в строке. Отобразите перемешанное слово с помощью метки на экране.
фрукты = ['яблоко', 'банан', 'клубника', 'арбуз', 'киви']
Глобальный слово
слово = выбор (плоды)
break_apart_word = список (слово)
перемешать (break_apart_word)
Глобальный shuffled_word
перетасованное_слово = ''для письмо в break_apart_word:
shuffled_word += буква
my_label.config (текст=перетасованное_слово)
Попробуйте загрузить набор слов из файла в качестве расширения для этого проекта. Файл словаря — /usr/share/dict/words в Linux/macOS — отличный источник слов.
Определите функцию, отвечать. Если слово равно введенному пользователем, тогда отобразите выигрышное сообщение зеленым цветом. В противном случае отобразите красным цветом, что это был неправильный ответ.
дефотвечать():
если слово == entry_answer.get():
answer_label.config (текст="Правильный ответ!", бг='аква', фг='зеленый')
еще:
answer_label.config (текст=«Неверный ответ, попробуйте еще раз»., бг='аква', фг='красный')
Определите функцию, намекать, чтобы проверить глобальное значение hint_count. Если количество меньше длины слова, отобразите следующую букву правильного ответа. Увеличьте количество букв подсказки, чтобы при следующем запуске функции программа отображала следующую букву.
дефнамекать(считать):
Глобальный hint_count
hint_count = количество
длина_слова = длина (слово)
если количество < длина_слова:
hint_label.config (текст=ж'{hint_label["текст"]}{слово [число]}', бг='аква')
подсказка_счетчик += 1
Определите виджет Entry для получения ввода от пользователя. Укажите родительское окно, в которое вы хотите поместить этот виджет, а также его стиль шрифта, и упорядочите его, предоставив отступы для достаточного пространства.
Определите рамку для кнопок. Фрейм действует как контейнер, направляющий размещение других виджетов. Он упорядочивает макет и обеспечивает заполнение с помощью прямоугольных секций на экране. Установите родительское окно, в которое вы хотите поместить рамку, а также цвет фона.
entry_answer = Запись (корень, шрифт=("Ариал", 24))
entry_answer.pack (pady=20)
button_frame = Фрейм (корень, bg='аква')
button_frame.pack (pady=20)
Объявите три кнопки: одну для отображения правильного ответа, одну для выбора другого слова и другую для отображения подсказок. Укажите фрейм, в который вы хотите поместить каждую кнопку, и текст, который она должна отображать. Также передайте функцию для запуска, когда пользователь щелкает ее, цвет фона, ширину и размер шрифта.
Использовать сетка() менеджер, чтобы разместить эти кнопки в одной строке и трех разных столбцах. Вы можете указать отступы, чтобы добавить пространство между кнопками.
answer_button = Кнопка (button_frame, text="Отвечать", команда=ответ, бг='апельсин', ширина =8, шрифт =10)
answer_button.grid (строка =0, столбец =0, padx=10)my_button = Кнопка (button_frame, text="Выбери другое слово", команда = перетасовка, bg ='апельсин', ширина =15, шрифт =10)
my_button.grid (строка =0, столбец =1, padx=10)
hint_button = Кнопка (button_frame, text="Намекать", команда =лямбда: подсказка (количество подсказок), bg='апельсин', ширина =5, шрифт =10)
hint_button.grid (строка =0, столбец =2, padx=10)
Создайте ярлыки для ответа и подсказки. Укажите родительское окно, в которое вы хотите поместить метки, текст, который он должен отображать, и стиль шрифта, и организуйте его с помощью пакет(). Передайте значение заполнения, рис, для лучшего размещения меток.
answer_label = Метка (корень, текст ='', шрифт=("Ариал", 22))
answer_label.pack (pady=20)
hint_label = Метка (корень, текст ='', шрифт=("Ариал", 22), бг='аква')
hint_label.pack (pady=10)
Вызовите функцию shuffler(), чтобы настроить игру. Тогда позвони основной цикл () для запуска цикла событий Tkinter и прослушивания событий (например, нажатия кнопок), пока вы не закроете окно.
перетасовка()
корень.mainloop()
Соберите весь код и играйте в Word Jumble Game в любое время и в любом месте.
Пример вывода игры Word Jumble
При запуске программы она отображает перемешанное слово вместе с кнопками «Ответить», «Выбрать другое слово» и «Подсказка». При нажатии на Намекать кнопка, программа выводит буквы правильного ответа одну за другой. Если вы введете правильный ответ, программа отобразит выигрышное сообщение зеленым цветом.
Если вы угадали неправильный ответ, программа попросит повторить попытку красным цветом.
Игры в слова с использованием Python
Используя Python, вы можете разрабатывать широкий спектр увлекательных словесных игр. Примеры включают Scrabble, Hangman, кроссворды, Mad Libs и анаграммы. Эти словесные игры могут быть основаны на терминале или на основе графического интерфейса, как вы видели здесь.
С Tkinter вы можете очень легко создавать игры с графическим интерфейсом. Все, что вам нужно сделать, это импортировать модуль, создать окно, добавить виджеты и запустить цикл обработки событий. Для более продвинутых игр вы можете изучить модули Pygame, Kivy и Panda 3D.