Как сделать пинпонг на python
Введение в Python
Поиск
Новое на сайте
Пин-понг на Python
Продолжая наш цикл аркадных игр на Python, напишем свою реализацю игры Пин-Понг на Python с использованием библиотеки tkinter.
Создание игрового поля.
Начнем с установки игрового поля. Зададим родительское окно, область для отрисовки анимации и основные элементы игрового поля.
Обратите внимание на создание глобальных переменных в начале скрипта. Они нам пригодятся для того, чтобы нам было легче настраивать нашу игру. Если у нас ширина 900 пикселей, то проще создать переменную WIDTH, присвоить ей значение 900 и использовать ее имя в тексте программы, чем вручную каждый раз переписывать 900. Вы ощутите пользу от этого, когда захотите изменить ширину окна, и сможете сделать это просто изменив значение этой переменной:
Должно получиться примерно следующее:
Заставляем мячик двигаться.
Создадим функцию move_ball в которой пропишем код движения мяча. После этого создадим функцию main в которой будем вызывать move_ball и рекурсивно саму себя через root.after
Если вы все правильно добавили, то при запуске скрипта мяч летит в правую сторону. Вы можете изменить скорость и направление движения по горизонтали, изменяя значение BALL_X_CHANGE.
Задаем управление движением ракеток.
Теперь мы можем управлять обеими ракетками.
Отскок мячика от стенок и «ракеток».
Отскок реализуется достаточно просто: при соприкосновении со стенкой или «ракеткой» мы будем изменять значение переменных движения мяча на противоположные. Ради интереса при ударе о ракетку будет увеличиваться горизонтальная скорость мячика и случайным образом изменяться вертикальная.
Теперь наш мячек отскакивает от стенок и ракеток и зависает если попадает в вертикальную границу поля, но не попадает в ракетку.
Подсчет очков и респаун мячика.
Создадим глобальные переменные очков для каждого игрока и обнулим их.
Теперь добавим текстовые объекты в которых будем отображать счет.
Создадим функции изменения счета и респауна мяча
Осталось вставить вызов этих функций вместо pass в функцию move_ball. Замените
Теперь наш пин-понг можно считать завершенным.
Полный код игры пин-понг на Python на GitHub.