- Python Tkinter Games Series
- Создайте игру по угадыванию чисел
- Создайте игру с беспорядочными словами с нуля
- Создайте игру камень-ножницы-бумага
- Создайте игру-калькулятор процента любви
- Создайте ОГОНЬ игра с нуля
- Камень-ножницы-бумага прохождение игры
- Правила и как играть
- Пошаговое руководство по программе
- Окончательный результат
- Реализация на Python (10 шагов)
- 1 . Импортировать необходимые библиотеки
- 2. Создать главное окно tkinter
- 3. Импорт звуковых файлов
- 4. Загрузка изображений для нашего приложения
- 5. Добавить виджеты Tkinter
- 6. Play () function
- 7. Очередь компьютера
- 8. Основная функция: youPick ()
- 9 . Играть снова
- 10. Вызов функции
- Собираем все вместе
- Заключение и ресурсы
- Продолжить обучение
Python Tkinter Games Series
-
Создайте игру по угадыванию чисел
-
Создайте игру с беспорядочными словами с нуля
-
Создайте игру камень-ножницы-бумага
-
Создайте игру-калькулятор процента любви
-
Создайте ОГОНЬ игра с нуля
Эта статья является частью серии статей о Python Tkinter, написанной Pratik Shukla. Посетите его аккаунт на Medium, чтобы прочитать другие его статьи. И следите за новостями, чтобы увидеть больше статей о Tkinker от Pratik!
Цель этой серии — познакомить вас с Tkinter, стандартным интерфейсом Python для набора инструментов Tk GUI, и помочь вам создавать интерактивные игры, которые вы можете добавить к вашему резюме. Чтобы быстрее освоить Tkinter, прочтите нашу первую статью из этой серии Учебное пособие по Python Tkinter: создайте игру по угадыванию чисел . Когда вы освоите основы, вернитесь сюда, чтобы создать игру камень-ножницы-бумага с нуля!
Сегодня мы рассмотрим :
- Прохождение игры Камень-ножницы-бумага
- Реализация игры Камень-ножницы-бумага
- Собираем все вместе
- Подведение итогов и ресурсы
Камень-ножницы-бумага прохождение игры
В этой статье мы разработаем модифицированную версию известной детской игры «Камень-ножницы-бумага». Если вы смотрели Теорию большого мешка (сезон 2, эпизод 8), Шелдон Купер расширяет игру «Камень-ножницы-бумага», добавляя еще два объекта: Ящерицу и Спока.
Давайте разработаем ту же игру, используя Python 3 и Tkinter. Мы можем назвать нашу игру Камень-Ножницы-Бумага-Ящерица-Спок .
Правила и как играть
-
Камень сокрушает Ножницы
-
Камень давит Ящерицу
-
Бумажные обложки Камень
-
Бумага опровергает Спока
-
Ножницы режут бумагу
-
Ножницы обезглавливают ящерицу
-
Ящерица отравляет Спока
-
Ящерица ест бумагу
-
Спок разбивает ножницы
-
Спок испаряет камень
-
Два одинаковых объекты — это ничья
Пошаговое руководство по программе
Когда пользователь запускает программу, он должен щелкнуть один из пяти доступных объектов:
- Камень
- Бумага
- Ножницы
- Ящерица
- Спок
Когда пользователь выбирает один из объектов, наша программа случайным образом выбирает один объект. Затем она проходит через набор правил, чтобы объявить, выиграл ли пользователь игру, проиграл или сыграл вничью. Результатом будет отображается во второй строке нашего приложения.
Когда пользователь нажимает любую кнопку, игра перезапускается. Если пользователь хочет закрыть игру, он нажимает кнопку закрытия. В начале в игре у нас есть символы рук для конкретных объектов. Теперь, когда пользователь выбирает объект, он преобразуется в графическое изображение. Наша программа также выбирает объект и отображает графическое изображение. для выбранного объекта.

Окончательный результат
1 из 4
Реализация на Python (10 шагов)
Теперь, когда у нас есть представление о том, что повлечет за собой игра «камень-ножницы-бумага», давайте шаг за шагом пройдемся по процессу. s в Python. Если вы еще не знаете, как настроить Tkinter, ознакомьтесь с нашей первой статьей в этой серии, чтобы получить краткое руководство.
1 . Импортировать необходимые библиотеки
# Импортируйте необходимые библиотеки: from tkinter import * import randomimport simpleaudio as sa
-
tkinter
: для добавления виджетов в наше приложение. -
random
: для генерации случайного числа -
simpleaudio
: для воспроизведения звуковых файлов
2. Создать главное окно tkinter
root = Tk () root.configure (bg = "# 000000") root.geometry ('+ 0 + 0') root.iconbitmap ("Game.ico") root.title ("Камень-ножницы-бумага -Lizard-Spock ") root.resizable (width = False, height = False)
-
root = Tk ()
: используется для инициализации нашего модуля tkinter. -
root.configure ()
: мы используем это чтобы указать цвет фона для нашего приложения. В нашем случае цвет фона будет черным. -
root.geometry ()
: мы используем это, чтобы указать, в каком месте будет открываться окно нашего приложения. Он откроется в верхнем левом углу. -
root.iconbitmap ()
: мы используем его, чтобы установить значок в строке заголовка для окна нашего приложения. Эта функция принимает только файлы.ico
. -
root.title ()
: мы используем его, чтобы установить заголовок для нашего application. -
root.resizable ()
: здесь мы используем его, чтобы пользователи не могли изменять размер нашего главного окна.
3. Импорт звуковых файлов
# Для воспроизведения звуковых файлов: start = sa.WaveObject.from_wave_file ("Start.wav") Win = sa.WaveObject.from_wave_file ("Win.wav") Lose = sa.WaveObject.from_wave_file ("Lose.wav") Draw = sa.WaveObject.from_wave_file ("Draw.wav") start.play ()
Теперь мы будем использовать звуковые файлы, которые будут воспроизводиться при различных мероприятиях. Когда наша программа запускается, она воспроизводит стартовый файл. Мы будем воспроизводить другие три файла, когда пользователь выиграет игру, проиграет или получит игру соответственно.
Следует отметить, что он принимает только .wav
файлы. Прежде всего нам нужно загрузить звуковой файл в объект. Затем при необходимости мы можем воспроизвести его, используя метод .play ()
.
4. Загрузка изображений для нашего приложения
Мы будем использовать различные изображения в нашем приложении. Чтобы сначала использовать эти изображения, нам нужно загрузить эти изображения. Здесь мы собираемся использовать класс PhotoImage
для загрузки наших изображений.
#Hand images: rockHandPhoto = PhotoImage (file = "Rock_1.png") paperHandPhoto = PhotoImage (file = "Paper_1.png") scissorHandPhoto = PhotoImage (file = "Scissor_1.png") lizardHandPhoto = PhotoImage (file = "Lizard_1. png ") spockHandPhoto = PhotoImage (file =" Spock_1.png ") # Графические изображения: rockPhoto = PhotoImage (file =" Rock_P.png ") paperPhoto = PhotoImage (file =" Paper_P.png ") scissorPhoto = PhotoImage (file =" Scissor_P.png ") lizardPhoto = PhotoImage (file =" Lizard_P.png ") spockPhoto = PhotoImage (file =" Spock_P.png ") # Изображение решения: solutionPhoto = PhotoImage (file =" Decision_Final.png ") # Изображения результатов: winPhoto = PhotoImage (file = "G_WIN.png") lostPhoto = PhotoImage (file = "G_LOST.png") tiePhoto = PhotoImage (file = "G_DRAW.png")
Во-первых, у нас есть изображения рук для наших объектов. Все пять изображений будут показаны пользователю в начале игры. Пользователь должен выбрать один объект из этих изображений.
После того, как пользователь щелкнет изображение, наша программа покажет нам графическое изображение для этого объекта. Он должен выбрать один объект, и наша программа также будет o выделить один объект. Наша программа покажет только эти два графических изображения, а затем остальные исчезнут.
Теперь мы отображаем простое изображение решения, которое изменит свое изображение, когда станут доступны результаты. У нас есть разные изображения для наших результатов.
- Если пользователь выигрывает
- Если пользователь проигрывает
- Если есть связать
5. Добавить виджеты Tkinter
# Инициализировать переменные кнопки: rockHandButton = "" paperHandButton = "" scissorHandButton = "" lizardHandButton = "" spockHandButton = "" # Создать кнопку результата: resultButton = Button (root, image = solutionPhoto) # Установить значение переменной Trueclick = Истина
- Инициализировать переменную для пяти кнопок.
- Здесь , мы создаем кнопку результата, которая покажет нам окончательный результат.
- Мы устанавливаем для переменной click значение
True
, чтобы наша программа продолжала работать, пока не будет установлено значениеЛожь
. Мы увидим больше об этом в следующих пунктах.
6. Play ()
function
def play (): global rockHandButton, paperHandButton, scissorHandButton, lizardHandButton, spockHandButton # Установить изображения и команды для кнопок: rockHandButton = Button (root, image = rockHandPhoto, command = lambda: youPick ("Камень")) paperHandButton = Button (root, image = paperHandPhoto, command = lambda: youPick ("Paper")) scissorHandButton = Button (root, image = scissorHandPhoto, command = lambda: youPick ("Scissor")) lizardHandButton = Button (root, image = lizardHandPhoto, command = lambda: youPick ("Lizard")) spockHandButton = Button (root, image = spockHandPhoto, command = lambda: youPick ("Spock")) # Поместите кнопки в окно: rockHandButton.grid (строка = 0, столбец = 0) paperHandButton.grid (строка = 0, столбец = 1) scissorHandButton.grid (строка = 0, столбец = 2) lizardHandButton.grid (строка = 0, столбец = 3) spockHandButton.grid (строка = 0, column = 4) # Добавить пробел: root.grid_ rowconfigure (1, minsize = 50) # Поместить кнопку результата в окно: resultButton.grid (row = 2, column = 0, columnspan = 5)
Здесь мы создаем кнопки для наших объектов. Мы собираемся установить изображения для кнопок, и когда они будут нажаты, они перейдут к функции youPick ()
со строковым именем объекта, на который был выполнен щелчок.
Затем мы размещаем кнопки в главном окне с помощью метода .grid ()
. Здесь мы добавляем пустое пространство в первую строку с помощью .grid_rowconfigure ()
. Затем мы помещаем нашу кнопку результата во вторую строку. Мы используем columnspan
для центрирования кнопки результата.
7. Очередь компьютера
Наш компьютер случайным образом выберет один из пяти доступных объектов и вернет для него строковое значение.
def computerPick (): choice = random.choice (["Камень", "Бумага", " Ножницы "," Ящерица "," Спок "]) выбор возврата
8. Основная функция: youPick ()
В этой функции наша программа будет отображать графические изображения для выбранных объектов. Он удалит остальные объекты. Он также будет применять набор правил для генерации результата..
def youPick (yourChoice): global click compPick = computerPick () if click == True:
Мы сохраняем выбор компьютера в переменной compPick
. Мы будем использовать его для определения результата.
Пользователь выбирает камень:
Этот блок кода используется, если пользователь выбирает Рок. Команда в функции play ()
отправляет строку, которая представляет объект, выбранный пользователем. Мы сохраняем его в переменной yourChoice
. Теперь у компьютера есть пять возможностей.
Теперь нам нужно разработать правила для каждой из них. Теперь обратите внимание, что когда пользователь и компьютер выбрали объект, они не могут его изменить. Вот почему мы меняем переменную click на False
.
Теперь, поскольку пользователь выбрал Rock
, мы хотим, чтобы наш первый изображение превратить в графическое изображение для рока. Теперь, если компьютер выбирает Rock
, то мы хотим, чтобы наше второе изображение превратилось в графическое изображение. Чтобы изменить изображение кнопки, мы используем метод .configure ()
.
Мы хотим, чтобы остальные три изображения исчезли. Чтобы они исчезли, мы используем .grid_forget ()
. Он также будет воспроизводить звук отрисовки. Теперь мы разрабатываем аналогичное правило для остальных объектов.
if compPick == "Rock": paperHandButton.configure (image = rockPhoto) resultButton.configure (image = tiePhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget ( ) Draw.play () click = False elif compPick == "Бумага": paperHandButton.configure (image = paperPhoto) scissorHandButton.grid_forget () resultButton.configure (image = lossPhoto) lizardHandButton.grid_forget () spockHandButton.grid_forget () play () click = False elif compPick == "Scissor": paperHandButton.configure (image = scissorPhoto) scissorHandButton.grid_forget () resultButton.configure (image = winPhoto) lizardHandButton.grid_forget () spockHandButton.grid_forget () WinPlay_forget () click = False elif compPick == "Ящерица": paperHandButton.configure (image = lizardPhoto) scissorHandButton.grid_forget () resultButton.co nfigure (image = winPhoto) lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False else: paperHandButton.configure (image = spockPhoto) scissorHandButton.grid_forget () resultButton.configure (lizard_ lossPhoto) () spockHandButton.grid_forget () Проиграть. play () click = False
Пользователь, выбирающий бумагу:
См. правила сверху, чтобы понять правила, когда пользователь выбирает Paper. Посмотрите на приведенный ниже код, который следует тем же правилам, что и Rock.
elif yourChoice == "Paper": rockHandButton.configure (image = paperPhoto) if compPick == "Rock": paperHandButton.configure (image = rockPhoto) resultButton.configure (image = lostPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False elif compPick == "Paper": paperHandButton.configure (image = paperPhoto) resultButton.configure) (image = paperPhoto) resultButton.configure) (image scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Draw.play () click = False elif compPick == "Scissor": paperHandButton.configure (image = scissorPhoto) resultButton.grid_configure) (image = lossButton.configure) (image = lostorPhoto_ () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False elif compPick == "Ящерица": paperHandButton .configure (image = lizardPhoto) resultButton.configure (image = lostPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False else: paperHandButton.configure) (image = spocktonPhoto) configure (image = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False
Пользователь выбирает ножницы:
См. правила сверху, чтобы понять правила, когда пользователь выбирает ножницы. Посмотрите на приведенный ниже код, который следует тем же правилам, что и Rock and Paper.
elif yourChoice == "Scissor": rockHandButton.configure (image = scissorPhoto) if compPick == "Rock": paperHandButton.configure (image = rockPhoto) resultButton.configure (image = lossPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False elif compPick == "Paper": paperHandButton.configure (image = paperPhoto) resultButton.configure (image =configure (image =configure) winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False elif compPick == "Scissor": paperHandButton.configure (image = scissorPhoto) resultButton. configure (image = tiePhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Draw.play () click = False elif compPick == "Lizard": paperHandButton.configure (image = lizardPhoto) resultButton.configure (image = lizardPhoto) resultButton.configure (image = lizardPhoto) resultButton. = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False else: paperHandButton.configure (image = spockPhoto) resultButton.configure (image = lossPhoto) .grid_forget () spockHandButton.grid_forget () Lose.play () click = False
Выбор пользователя ящерица
См. правила сверху, чтобы понять правила, когда пользователь выбирает Ящерицу. Посмотрите на приведенный ниже код, который следует тем же правилам, что и другие.
elif yourChoice == "Ящерица": rockHandButton.configure (image = lizardPhoto) if compPick == "Rock": paperHandButton.configure (image = rockPhoto) resultButton.configure ( image = lossPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False elif compPick == "Paper": paperHandButton.configure (image = paperPhoto) resultButton = ) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False elif compPick == "Scissor": paperHandButton.configure (image = scissorPhoto) resultButton.configure) (image = scissorPhoto) resultButton.configure) (image = grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False elif compPick == "Ящерица": paperHandB utton.configure (image = lizardPhoto) resultButton.configure (image = tiePhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Draw.play () click = False else: paperHandButton.configure (image = sputton.configure) (image = sputton.configure) .configure (image = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False
Пользователь выбирает Спока:
См. правила сверху, чтобы понять правила, когда пользователь выбирает Спока. Посмотрите на приведенный ниже код, который следует тем же правилам, что и другие.
elif yourChoice == "Spock": rockHandButton.configure (image = spockPhoto) if compPick == "Rock": paperHandButton. configure (image = rockPhoto) resultButton.configure (image = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False elif compPick == "Paper": paperHandButton.configure = paperPhoto) resultButton.configure (image = lostPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False elif compPick == "Scissor": paperHandButton image = scfigure (scissor) resultButton.configure (image = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False elif compPick == "Lizard": paperHandButton.configure (image = lizardPhoto) (image = lostPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False else: paperHandButton.configure (image = spockPhoto) resultButton.configure (image = tieHandBoto) scissutton.configure (image = tie_Photo) scissut ) ящерица HandButton.grid_forget () spockHandButton.grid_forget () Draw.play () click = False
9 . Играть снова
После получения результатов, если мы хотим играть снова, нам просто нужно нажать на любую из кнопок. Он превратит его в оригинальные изображения рук. Теперь нам нужно вернуть те исчезнувшие изображения. Мы установим для переменной click значение True
. Затем мы воспроизведем начальный звуковой файл, чтобы, когда пользователь входит в новую игру, воспроизводился звук.
else: # Для сброса игры: if yourChoice == "Rock" или yourChoice == "Paper" или yourChoice == " Scissor "или yourChoice ==" Lizard "или yourChoice ==" Spock ": rockHandButton.configure (image = rockHandPhoto) paperHandButton.configure (image = paperHandPhoto) scissorHandButton.configure (image = scissorHandPhoto) lizardHandButton.sputton .configure (image = spockHandPhoto) resultButton.configure (image = solutionPhoto) # Вернуть удаленные кнопки: scissorHandButton.grid (row = 0, column = 2) lizardHandButton.grid (row = 0, column = 3) spockHandButton.grid ( row = 0, column = 4) #Set click = True: click = True # Воспроизвести звуковой файл: start.play ()
iv>
10. Вызов функции
Теперь мы вызываем функцию воспроизведения, и она позаботится обо всех остальных функциях внутри. Чтобы закрыть приложение, нажимаем кнопку закрытия в строке заголовка.
# Вызов функции воспроизведения: play () # Войдите в основной цикл: root.mainloop ()
Собираем все вместе
Взгляните на полный код этой игры Python Tkinter.
Хотите загрузить код и изображения? Вы можете скачать все необходимые изображения и код здесь.
# Импортируйте необходимые библиотеки: from tkinter import * import randomimport simpleaudio as saroot = Tk () root .configure (bg = "# 000000") root.geometry ('+ 0 + 0') root.iconbitmap ("Game.ico") root.title ("Rock-Paper-Sci ssor-Lizard-Spock ") root.resizable (width = False, height = False) # Для воспроизведения звуковых файлов: start = sa.WaveObject.from_wave_file (" Start.wav ") Win = sa.WaveObject.from_wave_file (" Win. wav ") Lose = sa.WaveObject.from_wave_file (" Lose.wav ") Draw = sa.WaveObject.from_wave_file (" Draw.wav ") start.play () # Изображения рук: rockHandPhoto = PhotoImage (file =" Rock_1.png ") paperHandPhoto = PhotoImage (file =" Paper_1.png ") scissorHandPhoto = PhotoImage (file =" Scissor_1.png ") lizardHandPhoto = PhotoImage (file =" Lizard_1.png ") spockHandPhoto = PhotoImage (file =" Spock_1.png ") #Graphical images: rockPhoto = PhotoImage (file = "Rock_P.png") paperPhoto = PhotoImage (file = "Paper_P.png") scissorPhoto = PhotoImage (file = "Scissor_P.png") lizardPhoto = PhotoImage (file = "Lizard_P.png ") spockPhoto = PhotoImage (file =" Spock_P.png ") # Изображение решения: solutionPhoto = PhotoImage (file =" Decision_Final.png ") # Изображения результатов: winPhoto = PhotoImage (file =" G_WIN.png ") lostPhoto = PhotoImage ( file = "G_LOST.png") tiePhoto = PhotoImage (file = "G_DRAW. png ") # Инициализируйте переменные кнопки: rockHandButton =" "paperHandButton =" "scissorHandButton =" "lizardHandButton =" "spockHandButton =" "# Создайте кнопку результата: resultButton = Button (root, image = solutionPhoto) # Установите для переменной значение Trueclick = Truedef play (): global rockHandButton, paperHandButton, scissorHandButton, lizardHandButton, spockHandButton # Установить изображения и команды для кнопок: rockHandButton = Button (root, image = rockHandPhoto, command = lambda: youPick Button ("Rock") = paperHand root, image = paperHandPhoto, command = lambda: youPick ("Paper")) scissorHandButton = Button (root, image = scissorHandPhoto, command = lambda: youPick ("Scissor")) lizardHandButton = Button (root, image = lizardHandPhoto, command = lambda: youPick ("Lizard")) spockHandButton = Button (root, image = spockHandPhoto, command = lambda: youPick ("Spock")) # Поместите кнопки в окно: rockHandButton.grid (row = 0, column = 0) paperHandButton .grid (строка = 0, столбец = 1) scissorHandButton.grid (строка = 0, столбец = 2) lizardHandButton.g rid (row = 0, column = 3) spockHandButton.grid (row = 0, column = 4) # Добавить пробел: root.grid_rowconfigure (1, minsize = 50) # Поместить кнопку результата в окно: resultButton.grid (row = 2 , column = 0, columnspan = 5) def computerPick (): choice = random.choice ([«Камень», «Бумага», «Ножницы», «Ящерица», «Спок»]) return choicedef youPick (yourChoice): global щелкните compPick = computerPick (), если щелкните == True: if yourChoice == "Rock": rockHandButton.configure (image = rockPhoto) if compPick == "Rock": paperHandButton.configure (image = rockPhoto) resultButton.configure (image = tiePhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Draw.play () click = False elif compPick == «Бумага»: paperHandButton.configure (image = paperPhoto) scissorHandButton () resultfrid_ image = lostPhoto) lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False elif compPick == "Scissor": paperHandButton.configure (image = scissorPhoto) scissorHandButton.grid_forget ( ) resultButton.configure (image = winPhoto) lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False elif compPick == "Ящерица": paperHandButton.configure (image = lizardPhoto) scissorHandButton) result_forget. configure (image = winPhoto) lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False else: paperHandButton.configure (image = spockPhoto) scissorHandButton.grid_forget () resultButton.configure.grid_forget) lizard () spockHandButton.grid_forget () Lose.play () click = False elif yourChoice == "Paper": rockHandButton.configure (image = paperPhoto) if compPick == "Rock": paperHandButton.configure (image = rockPhoto) resultButton.configure (image = lostPhoto) scissorHandButton.grid_forget () lizardHandButton. grid_forget () spockHandButton.grid_forget () Lose.play () click = False elif compPick == "Бумага": paperHandButton.configure (image = paperPhoto) resultButton.configure (image = tiePhoto) scissorHandButton.grid_forget () lizardHandButton () lizardHandButton () lizardHandButton () spockHandButton.grid_forget () Draw.play () click = False elif compPick == "Scissor": paperHandButton.configure (image = scissorPhoto) resultButton.configure (image = lossPhoto) scissorHandButton.grid_forget () lizardockHandButton () () Lose.play () click = False elif compPick == "Ящерица": paperHandButton.configure (image = lizardPhoto) resultButton.configure (image = lossPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton) Lizard_ .play () click = False else: paperHandButton.configure (image = spockPhoto) resultButton.configure (image = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = Falice el знак равно = "Ножницы": rockHandButton.configure (image = scissorPhoto) if compPick == "Rock": paperHandButton.configure (image = rockPhoto) resultButton.configure (image = lostPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () sprid_forget () lizardHandButton.grid_forget () () Lose.play () click = False elif compPick == "Бумага": paperHandButton.configure (image = paperPhoto) resultButton.configure (image = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton) Win_forget () .play () click = False elif compPick == "Scissor": paperHandButton.configure (image = scissorPhoto) resultButton.configure (image = tiePhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton) Draw.forget ( ) click = False elif compPick == "Ящерица": paperHandButton.configure (image = lizardPhoto) resultButton.configure (image = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget) (= Win. Ложь иначе: paperHandButton.configure ( image = spockPhoto) resultButton.configure (image = lossPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False elif yourChoice == "Lizard": rockfandButton.conf ) if compPick == "Rock": paperHandButton.configure (image = rockPhoto) resultButton.configure (image = lostPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.play () click = False == "Бумага": paperHandButton.configure (image = paperPhoto) resultButton.configure (image = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False= elif compPick = Scissor ": paperHandButton.configure (image = scissorPhoto) resultButton.configure (image = lostPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton. grid_forget () Lose.play () click = False elif compPick == "Ящерица": paperHandButton.configure (image = lizardPhoto) resultButton.configure (image = tiePhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton () spockHandButton Draw.play () click = False else: paperHandButton.configure (image = spockPhoto) resultButton.configure (image = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.play () click = False yourChoice == "Spock": rockHandButton.configure (image = spockPhoto) if compPick == "Rock": paperHandButton.configure (image = rockPhoto) resultButton.configure (image = winPhoto) scissorHandButton.grid_forget () lizardockHandButton () spockHandButton) sprid_forget () .grid_forget () Win.play () click = False elif compPick == "Paper": paperHandButton.configure (image = paperPhoto) resultButton.configure (image = lossPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton ) Lose.play () click = Ложь el if compPick == "Scissor": paperHandButton.configure (image = scissorPhoto) resultButton.configure (image = winPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Win.seplay elif () click = = "Ящерица": paperHandButton.configure (image = lizardPhoto) resultButton.configure (image = lostPhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Lose.playton () click = False else: paperHandButton image = spockPhoto) resultButton.configure (image = tiePhoto) scissorHandButton.grid_forget () lizardHandButton.grid_forget () spockHandButton.grid_forget () Draw.play () click = False else: # Для сброса игры: if yourChoice == "Rock" или yourChoice == "Paper" или yourChoice == "Scissor" или yourChoice == "Lizard" или yourChoice == "Spock": rockHandButton.configure (image = rockHandPhoto) paperHandButton.configure (image = paperHandPhoto) scissorHandButton.configure (image = scissorHandPhoto) lizardHandButton.configure (image = liz ardHandPhoto) spockHandButton.configure (image = spockHandPhoto) resultButton.configure (image = solutionPhoto) # Вернуть удаленные кнопки: scissorHandButton.grid (row = 0, column = 2) lizardHandButton.grid (row = 0, column = 3) spockHandButton .grid (row = 0, column = 4) # Установить click = True: click = True # Воспроизвести звуковой файл: start.play () # Вызов функции воспроизведения: play () # Войдите в основной цикл: root.mainloop ( )
Заключение и ресурсы
Поздравляю! Вы дошли до конца и создали успешную игру на Python Tkinter. Отличная работа с применением ваших знаний Python. Надеюсь, вам понравилась эта статья и вы узнали из нее что-то новое.
Python — настолько интуитивно понятный язык программирования, что самый простой способ овладеть им — это на практике, подобной этой. Продолжайте работу и продолжайте создавать!
В этой серии статей о Tkinter мы будем разрабатывать в общей сложности пять игр с использованием Tkinter. Итак, держитесь! Если у вас есть какие-либо сомнения, вопросы или мысли относительно этой статьи, не стесняйтесь обращаться ко мне по адресу shuklapratik22@gmail.com
Продолжить обучение
- Повысьте свои навыки Python с помощью этих 6 задач.
- Как выучить Python за 5 простых шагов (для начинающих)
- Учебник по динамическому программированию: создание эффективных программ на Python