Ping Pong Game in Python
Hello Guys how are you ? Hope You all are in safe and sound condition
Welcome to my first blog on python programming on: How to make a simple Ping Pong game in python?
So lets start
Table tennis, also known as Ping-Pong and whiff-whaff, is a sport in which two players hit a lightweight ball, also known as the Ping-Pong ball, back and forth across a table using small rackets. ... A point is scored when a player fails to return the ball within the rules
Some Screen Shots of the game
This is the source code:
#Ping Pong Game By Pulastya
import turtle
import os
wn = turtle.Screen()
wn.title("Pong Game By Pulastya")
wn.bgcolor("black")
wn.setup(width=800, height=600)
wn.tracer(0)
# Score
score_a = 0
score_b = 0
# Paddle A
paddle_a = turtle.Turtle()
paddle_a.speed(0)
paddle_a.shape("square")
paddle_a.color("Green")
paddle_a.shapesize(stretch_wid=5,stretch_len=1)
paddle_a.penup()
paddle_a.goto(-350, 0)
# Paddle B
paddle_b = turtle.Turtle()
paddle_b.speed(0)
paddle_b.shape("square")
paddle_b.color("Red")
paddle_b.shapesize(stretch_wid=5,stretch_len=1)
paddle_b.penup()
paddle_b.goto(350, 0)
# Ball
ball = turtle.Turtle()
ball.speed(0)
ball.shape("circle")
ball.color("yellow")
ball.penup()
ball.goto(0, 0)
ball.dx = 0.1
ball.dy = 0.1
# Pen
pen = turtle.Turtle()
pen.speed(0)
pen.shape("square")
pen.color("white")
pen.penup()
pen.hideturtle()
pen.goto(0, 260)
pen.write("Player A: 0 Player B: 0", align="center", font=("Courier", 24, "normal"))
# Functions
def paddle_a_up():
y = paddle_a.ycor()
y += 20
paddle_a.sety(y)
def paddle_a_down():
y = paddle_a.ycor()
y -= 20
paddle_a.sety(y)
def paddle_b_up():
y = paddle_b.ycor()
y += 20
paddle_b.sety(y)
def paddle_b_down():
y = paddle_b.ycor()
y -= 20
paddle_b.sety(y)
# Keyboard bindings
wn.listen()
wn.onkeypress(paddle_a_up, "w")
wn.onkeypress(paddle_a_down, "s")
wn.onkeypress(paddle_b_up, "Up")
wn.onkeypress(paddle_b_down, "Down")
# Main game loop
while True:
wn.update()
# Move the ball
ball.setx(ball.xcor() + ball.dx)
ball.sety(ball.ycor() + ball.dy)
# Border checking
# Top and bottom
if ball.ycor() > 290:
ball.sety(290)
ball.dy *= -1
elif ball.ycor() < -290:
ball.sety(-290)
ball.dy *= -1
# Left and right
if ball.xcor() > 350:
score_a += 1
pen.clear()
pen.write("Player A: {} Player B: {}".format(score_a, score_b), align="center", font=("Courier", 24, "normal"))
ball.goto(0, 0)
ball.dx *= -1
elif ball.xcor() < -350:
score_b += 1
pen.clear()
pen.write("Player A: {} Player B: {}".format(score_a, score_b), align="center", font=("Courier", 24, "normal"))
ball.goto(0, 0)
ball.dx *= -1
# Paddle and ball collisions
if ball.xcor() < -340 and ball.ycor() < paddle_a.ycor() + 50 and ball.ycor() > paddle_a.ycor() - 50:
ball.dx *= -1
elif ball.xcor() > 340 and ball.ycor() < paddle_b.ycor() + 50 and ball.ycor() > paddle_b.ycor() - 50:
ball.dx *= -1
CONTROLS: Paddle A (Left) : 'W' and 'S'
Paddle B(Right) :'Up arrow key' and 'Down arrow key'
Tip: To change the Speed of the ball. Just enter the speed in the highlighted portion of the code for some computers 2 is ok but for some 0.1 works well (For my PC 0.1 works well).
You can adjust it according to your need.
I am using the python IDE Thonny
Link for Thonny Editor Download: https://thonny.org/
Hope you Enjoyed it ! In the future blogs I with help you with complex games like Space Invaders, Super Mario, Donkey Kong, Contra , Battle City Tanks, Space Arena and many more...
Please Like, Share and Subscribe
This comment has been removed by the author.
ReplyDeleteCan you make a algorithm for playing ping pong tables with paddles.
ReplyDeleteKèo nhà cái Macau là địa chỉ cá cược uy tín hàng đầu giữa thị trường nhà cái đầy sôi động. Truy cập ngay vào trang tỷ lệ kèo nhà cái Macau, người chơi thỏa sức đam mê với nhiều hình thức chơi khác nhau. Cùng tìm hiểu xem vì sao nhà cái Macao lại giàu sức hút như vậy.
ReplyDeleteTy le ma cau
Keonhacai K8
Ty le ca cuoc
Bet69
Keonhacai hom nay
Keo Malaysia
W88 club