Quantcast
Channel: Active questions tagged python - Stack Overflow
Viewing all articles
Browse latest Browse all 23276

Turtle Pong game error after closing window

$
0
0

so im following this tutorial and the game works just fine but when i close the window, it returns an error. it doesnt break the code, it just happens and i dont understand what the error is.

game.py:

from turtle import Screen, Turtlefrom paddle import Paddlefrom ball import Ballfrom scoreboard import Scoreboardimport timescreen = Screen()screen.setup(width=800, height=600)screen.bgcolor("black")screen.title("Pong")screen.tracer(0)r_paddle = Paddle((350, 0))l_paddle = Paddle((-350, 0))ball = Ball()scoreboard = Scoreboard()screen.listen()screen.onkeypress(fun=r_paddle.up, key="Up")screen.onkeypress(fun=r_paddle.down, key="Down")screen.onkeypress(fun=l_paddle.up, key="w")screen.onkeypress(fun=l_paddle.down, key="s")run = Truewhile run:    time.sleep(ball.move_speed)    ball.move()    screen.update()    if ball.ycor() > 290 or ball.ycor() < -290:        ball.bounce_wall()    if ball.distance(r_paddle) < 55 and ball.xcor() > 320 and ball.x_move > 0:        ball.bounce_paddle()    if ball.distance(l_paddle) < 55 and ball.xcor() < -330 and ball.x_move < 0:        ball.bounce_paddle()    if ball.xcor() > 380:        ball.home()        ball.move_speed = 0.04        scoreboard.l_score += 1        ball.x_move *= -1        scoreboard.update()    if ball.xcor() < -380:        ball.home()        ball.move_speed = 0.04        scoreboard.r_score += 1        ball.x_move *= -1        scoreboard.update()screen.exitonclick()

ball.py:

from turtle import Turtleclass Ball(Turtle):    def __init__(self):        super().__init__()        self.shape("circle")        self.penup()        self.color("white")        self.shapesize(stretch_wid=1.2)        self.x_move = 10        self.y_move = 10        self.move_speed = .04    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_wall(self):        self.y_move *= -1    def bounce_paddle(self):        self.x_move *= -1        self.move_speed *= .9

paddle.py:

from turtle import Turtle, Screenscreen = Screen()class Paddle(Turtle):    def __init__(self, cor):        super().__init__()        self.shape("square")        self.color("white")        self.penup()        self.speed("fastest")        self.shapesize(stretch_wid=5, stretch_len=1)        self.goto(cor)    def up(self):        new_y = self.ycor() + 20        self.goto(x=self.xcor(), y=new_y)    def down(self):        new_y = self.ycor() - 20        self.goto(x=self.xcor(), y=new_y)

scoreboard.py:

from turtle import Turtleclass Scoreboard(Turtle):    def __init__(self):        super().__init__()        self.color("white")        self.penup()        self.hideturtle()        self.r_score = 0        self.l_score = 0        self.update()    def update(self):        self.clear()        self.goto(-100, 150)        self.write(self.l_score, align="center", font=("Courier", 80, "bold"))        self.goto(100, 150)        self.write(self.r_score, align="center", font=("Courier", 80, "bold"))

this error did not occur before i made some edits to the code so i tried changing whatever didnt matter to the original code but it didnt work.


Viewing all articles
Browse latest Browse all 23276

Trending Articles