How to make a Ping Pong Game in Python

Programer Pulastya
How to make complex games in python.
3 min readOct 17, 2020

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

--

--