Игра Пинг Понг

AlexSendler

Новичок
Пользователь
Июл 21, 2020
10
1
3
попытался создать пинг понг на библиотеке turtle вот код написано в sublime text 3
разумеется это далеко не все но я не продолжал так как и этот код выдает ошибку запускаю в програме
IDLE Python 3.8 ошибка которую он мне выдает я указал в конце кто знает помогите исправить
суть проблемы в том что он открывает черное окно но в нем нет мячика ни ракеток.

Python:
import turtle

#Main_Game_Window
Window = turtle.Screen()
Window.title("Ping-Pong")
Window.setup(width=800, height=600)
Window.bgcolor("black")
Window.mainloop()

#Main_Game_Loop
while True:
    Window.update()


#Left_Border
l_border = turtle.Turtle()
l_border.speed(0)
l_border.shape("square")
l_border.color("white")
l_border.shapesize(5,1)
l_border.penup()
l_border.goto(-350,0)


#Right_Border
r_border = turtle.Turtle()
r_border.speed(0)
r_border.shape("square")
r_border.color("white")
r_border.shapesize(5,1)
r_border.penup()
r_border.goto(350,0)

#Ball
ball = turtle.Turtle()
ball.speed(0)
ball.shape("square")
ball.color("white")
ball.penup()
ball.goto(0, 0)




Traceback (most recent call last):
  File "C:/Users/rafes/AppData/Local/Programs/Python/Python38/Game.py", line 12, in <module>
    Window.update()
  File "C:\Users\rafes\AppData\Local\Programs\Python\Python38\lib\turtle.py", line 1306, in update
    self._update()
  File "C:\Users\rafes\AppData\Local\Programs\Python\Python38\lib\turtle.py", line 562, in _update
    self.cv.update()
  File "C:\Users\rafes\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1305, in update
    self.tk.call('update')
_tkinter.TclError: can't invoke "update" command: application has been destroyed
>>>
 
Последнее редактирование модератором:
  • Мне нравится
Реакции: Student

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Код вставляйте через кнопку ... -> код -> python. У вас в коде 2 главных цикла window.mainloop() и while True в этом проблема. Нужно оставить 1 или второй запускать в отдельном потоке. Вот пример с одним циклом:
Python:
import turtle

#Main_Game_Window
Window = turtle.Screen()
Window.title("Ping-Pong")
Window.setup(width=800, height=600)
Window.bgcolor("black")

#Left_Border
l_border = turtle.Turtle()
l_border.speed(0)
l_border.shape("square")
l_border.color("white")
l_border.shapesize(5,1)
l_border.penup()
l_border.goto(-350,0)


#Right_Border
r_border = turtle.Turtle()
r_border.speed(0)
r_border.shape("square")
r_border.color("white")
r_border.shapesize(5,1)
r_border.penup()
r_border.goto(350,0)

#Ball
ball = turtle.Turtle()
ball.speed(0)
ball.shape("square")
ball.color("white")
ball.penup()
ball.goto(0, 0)

x = 0
y = 1

#Main_Game_Loop
while True:   
    x += y
    if x == 340:
        y = -y
    elif x == -340:
        y = -y

    ball.goto(x, 0)
    Window.update()
 
  • Мне нравится
Реакции: Student

Форум IT Специалистов