From 881169b3db062c1977d846ed467f44e0b21a0323 Mon Sep 17 00:00:00 2001 From: Avantika Singh Parihar <44469248+avantikasparihar@users.noreply.github.com> Date: Thu, 1 Oct 2020 18:08:37 +0530 Subject: [PATCH] add pong game to Games folder --- Games/Pong, turtle/bounce.wav | Bin 0 -> 5806 bytes Games/Pong, turtle/pong.py | 126 ++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 Games/Pong, turtle/bounce.wav create mode 100644 Games/Pong, turtle/pong.py diff --git a/Games/Pong, turtle/bounce.wav b/Games/Pong, turtle/bounce.wav new file mode 100644 index 0000000000000000000000000000000000000000..3e4f51f3e31b3781066003d5ae55c24578cfc2de GIT binary patch literal 5806 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 literal 0 HcmV?d00001 diff --git a/Games/Pong, turtle/pong.py b/Games/Pong, turtle/pong.py new file mode 100644 index 0000000..5d1c7ea --- /dev/null +++ b/Games/Pong, turtle/pong.py @@ -0,0 +1,126 @@ +# Pong using turtle module + +# Only gravity will pull me down + +import turtle +import winsound + +wn = turtle.Screen() +wn.title("Pong") +wn.bgcolor("black") +wn.setup(width = 800, height = 600) +wn.tracer(0) + +# Score board +score_1 = 0 +score_2 = 0 + +# Paddle 1 +paddle_1 = turtle.Turtle() +paddle_1.speed(0) +paddle_1.shape("square") +paddle_1.color("red") +paddle_1.shapesize(stretch_wid = 5, stretch_len = 0.75) +paddle_1.penup() +paddle_1.goto(-350, 0) + +# Paddle 2 +paddle_2 = turtle.Turtle() +paddle_2.speed(0) +paddle_2.shape("square") +paddle_2.color("blue") +paddle_2.shapesize(stretch_wid = 5, stretch_len = 0.75) +paddle_2.penup() +paddle_2.goto(350, 0) + +# Ball +ball = turtle.Turtle() +ball.speed(0) +ball.shape("circle") +ball.color("white") +ball.penup() +ball.goto(0, 0) +ball.dx = 0.15 +ball.dy = -0.15 + +# Pen +pen = turtle.Turtle() +pen.speed(0) +pen.color("yellow") +pen.penup() +pen.hideturtle() +pen.goto(0, 260) +pen.write("Player 1: 0 Player 2: 0", align = "center", font = ("Courier", 24, "normal")) + +# Function +def paddle_1_up() : + y = paddle_1.ycor() + y += 20 + paddle_1.sety(y) + +def paddle_1_down() : + y = paddle_1.ycor() + y -= 20 + paddle_1.sety(y) + +def paddle_2_up() : + y = paddle_2.ycor() + y += 20 + paddle_2.sety(y) + +def paddle_2_down() : + y = paddle_2.ycor() + y -= 20 + paddle_2.sety(y) + +# Keyboard binding +wn.listen() +wn.onkeypress(paddle_1_up, "w"); +wn.onkeypress(paddle_1_down, "s"); +wn.onkeypress(paddle_2_up, "Up"); +wn.onkeypress(paddle_2_down, "Down"); + +# main loop +while True : + wn.update() + + # Move the ball + ball.setx(ball.xcor() + ball.dx) + ball.sety(ball.ycor() + ball.dy) + + # Border check + if ball.ycor() > 290 : + ball.sety(290) + ball.dy *= -1 + winsound.PlaySound("bounce.wav", winsound.SND_ASYNC) + + if ball.ycor() < -290 : + ball.sety(-290) + ball.dy *= -1 + winsound.PlaySound("bounce.wav", winsound.SND_ASYNC) + + if ball.xcor() > 390 : + score_1 += 1 + pen.clear() + pen.write("Player 1: {} Player 2: {}".format(score_1, score_2), align = "center", font = ("Courier", 24, "normal")) + ball.goto(0, 0) + ball.dx *= -1 + + if ball.xcor() < -390 : + score_2 += 1 + pen.clear() + pen.write("Player 1: {} Player 2: {}".format(score_1, score_2), align = "center", font = ("Courier", 24, "normal")) + ball.goto(0, 0) + ball.dx *= -1 + + # Paddle and ball collisions + if (ball.xcor() > 340 and ball.xcor() < 350) and (ball.ycor() < paddle_2.ycor() + 40 and ball.ycor() > paddle_2.ycor() -40) : + ball.setx(340) + ball.dx *= -1 + winsound.PlaySound("bounce.wav", winsound.SND_ASYNC) + + + if (ball.xcor() < -340 and ball.xcor() > -350) and (ball.ycor() < paddle_1.ycor() + 40 and ball.ycor() > paddle_1.ycor() -40) : + ball.setx(-340) + ball.dx *= -1 + winsound.PlaySound("bounce.wav", winsound.SND_ASYNC) \ No newline at end of file