0% found this document useful (0 votes)
118 views

Python Pong Game

This document contains code to create a simple Pong game using the Turtle module in Python. It defines functions to create the game screen, two player paddles, a ball, and to handle ball movement and collisions with paddles. The code initializes scores to 0, displays them, and includes keyboard controls and logic to detect hits on paddles and boundaries to bounce the ball and update scores over the course of the game.

Uploaded by

Muhammad Saad
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
118 views

Python Pong Game

This document contains code to create a simple Pong game using the Turtle module in Python. It defines functions to create the game screen, two player paddles, a ball, and to handle ball movement and collisions with paddles. The code initializes scores to 0, displays them, and includes keyboard controls and logic to detect hits on paddles and boundaries to bounce the ball and update scores over the course of the game.

Uploaded by

Muhammad Saad
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

# Import required library

import turtle

# Create screen
sc = turtle.Screen()
sc.title("pong game by saad")
sc.bgcolor("black")
sc.setup(width=1000, height=600)

#paddlea
left_pad = turtle.Turtle()
left_pad.speed(0)
left_pad.shape("square")
left_pad.color("white")
left_pad.shapesize(stretch_wid=6, stretch_len=2)
left_pad.penup()
left_pad.goto(-400, 0)

#paddleb
right_pad = turtle.Turtle()
right_pad.speed(0)
right_pad.shape("square")
right_pad.color("white")
right_pad.shapesize(stretch_wid=6, stretch_len=2)
right_pad.penup()
right_pad.goto(400, 0)

# Ball of circle shape


hit_ball = turtle.Turtle()
hit_ball.speed(40)
hit_ball.shape("circle")
hit_ball.color("white")
hit_ball.penup()
hit_ball.goto(0, 0)
hit_ball.dx = 5
hit_ball.dy = -5

# Initialize the score


left_player = 0
right_player = 0

# Displays the score


sketch = turtle.Turtle()
sketch.speed(0)
sketch.color("white")
sketch.penup()
sketch.hideturtle()
sketch.goto(0, 260)
sketch.write("Left_player : 0 Right_player: 0",
align="center", font=("Courier", 24, "normal"))

# Functions to move paddle vertically


def paddleaup():
y = left_pad.ycor()
y += 20
left_pad.sety(y)

def paddleadown():
y = left_pad.ycor()
y -= 20
left_pad.sety(y)

def paddlebup():
y = right_pad.ycor()
y += 20
right_pad.sety(y)

def paddlebdown():
y = right_pad.ycor()
y -= 20
right_pad.sety(y)

# Keyboard bindings
sc.listen()
sc.onkeypress(paddleaup, "w")
sc.onkeypress(paddleadown, "s")
sc.onkeypress(paddlebup, "8")
sc.onkeypress(paddlebdown, "2")

while True:
sc.update()

hit_ball.setx(hit_ball.xcor()+hit_ball.dx)
hit_ball.sety(hit_ball.ycor()+hit_ball.dy)

# Checking borders
if hit_ball.ycor() > 280:
hit_ball.sety(280)
hit_ball.dy *= -1

if hit_ball.ycor() < -280:


hit_ball.sety(-280)
hit_ball.dy *= -1

if hit_ball.xcor() > 500:


hit_ball.goto(0, 0)
hit_ball.dy *= -1
left_player += 1
sketch.clear()
sketch.write("Left_player : {} Right_player: {}".format(
left_player, right_player), align="center",
font=("Courier", 24, "normal"))

if hit_ball.xcor() < -500:


hit_ball.goto(0, 0)
hit_ball.dy *= -1
right_player += 1
sketch.clear()
sketch.write("Left_player : {} Right_player: {}".format(
left_player, right_player), align="center",
font=("Courier", 24, "normal"))

# Paddle ball collision


if (hit_ball.xcor() > 360 and
hit_ball.xcor() < 370) and
(hit_ball.ycor() < right_pad.ycor()+40 and
hit_ball.ycor() > right_pad.ycor()-40):
hit_ball.setx(360)
hit_ball.dx*=-1

if (hit_ball.xcor()<-360 and
hit_ball.xcor()>-370) and
(hit_ball.ycor()<left_pad.ycor()+40 and
hit_ball.ycor()>left_pad.ycor()-40):
hit_ball.setx(-360)
hit_ball.dx*=-1

else (hit_ball.xcor()<-360 and


hit_ball.xcor()>-370) and
(hit_ball.ycor()<left_pad.ycor()+40 and
hit_ball.ycor()>left_pad.ycor()-40):
hit_ball.setx(-360)
hit_ball.dx*=-1)

You might also like