Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions Pong Arcade Game/Pong Game.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from turtle import Screen,Turtle
from paddle import Paddle
from ball import Ball
from scoreboard import Scoreboard
import time
screen = Screen()
screen.bgcolor("black")
screen.setup(width=800, height=600)
screen.title('Pong Game')
screen.tracer(0)
r_paddle=Paddle((350,0))
l_paddle=Paddle((-350,0))
ball=Ball()
scoreboard=Scoreboard()

screen.listen()
screen.onkey(r_paddle.go_up, "Up")
screen.onkey(r_paddle.go_down, "Down")
screen.onkey(l_paddle.go_up, "w")
screen.onkey(l_paddle.go_down, "s")
game_is_on = True
while game_is_on:
screen.update()
time.sleep(ball.move_speed)
ball.move()
#detect collision with wall
if ball.ycor() > 280 or ball.ycor() < -280:
#bounce
ball.bounce_y()
#detect collision with paddle
if ball.distance(r_paddle) < 50 and ball.xcor() > 320 or ball.distance(l_paddle) < 50 and ball.xcor() < -320:
ball.bounce_x()
#detect if r_paddle misses
if ball.xcor() > 380:
ball.reset_position()
scoreboard.l_point()
if ball.xcor() < -380:
ball.reset_position()
scoreboard.r_point()
screen.exitonclick()
26 changes: 26 additions & 0 deletions Pong Arcade Game/ball.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from turtle import Turtle
class Ball(Turtle):
def __init__(self):
super().__init__()
self.shape("circle")
self.color("white")
self.penup()
self.x_move = 10
self.y_move = 10
self.move_speed = 0.1

def move(self):
new_x = self.xcor() + self.x_move
new_y = self.ycor() + self.y_move
self.goto(new_x, new_y)

def bounce_y(self):
self.y_move *= -1
self.move_speed *= 0.9
def bounce_x(self):
self.x_move *= -1
self.move_speed *= 0.9
def reset_position(self):
self.goto(0,0)
self.bounce_x()
self.move_speed = 0.1
16 changes: 16 additions & 0 deletions Pong Arcade Game/paddle.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from turtle import Turtle

class Paddle(Turtle):
def __init__(self, position):
super().__init__()
self.shape("square")
self.shapesize(stretch_wid=5, stretch_len=1)
self.color("white")
self.penup()
self.goto(position)
def go_up(self):
new_y = self.ycor() + 20
self.goto(self.xcor(), new_y)
def go_down(self):
new_y = self.ycor() - 20
self.goto(self.xcor(), new_y)
23 changes: 23 additions & 0 deletions Pong Arcade Game/scoreboard.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from turtle import Turtle

class Scoreboard(Turtle):
def __init__(self):
super().__init__()
self.color("white")
self.penup()
self.hideturtle()
self.l_score = 0
self.r_score = 0
self.update_scoreboard()
def update_scoreboard(self):
self.clear()
self.goto(-100, 200)
self.write(self.l_score, align="center", font=("Courier", 80, "normal"))
self.goto(100, 200)
self.write(self.r_score, align="center", font=("Courier", 80, "normal"))
def l_point(self):
self.l_score += 1
self.update_scoreboard()
def r_point(self):
self.r_score += 1
self.update_scoreboard()