Создайте гоночную машину на Python. Почему моя машина не участвует в гонках?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Создайте гоночную машину на Python. Почему моя машина не участвует в гонках?

Сообщение Anonymous »


Я работаю над домашним заданием для своего курса Python, который должен отображать машину (понял), а затем машина должна имитировать движение через окно, пока не достигнет конца, а затем перезапуститься с начала. У меня есть функция гонки, которая должна это делать, но она ничего не делает. Я ужасно провожу время с классами и tkinter. Я знаю, что мне нужно, чтобы значение x увеличивалось каждый раз, когда он зацикливается и обновляется, чтобы машина выглядела так, как будто она движется, я просто не знаю, как это реализовать. Мое логическое значение написано неправильно? Я пробовал несколько разных способов изменить эту функцию, но мне не удалось заставить ее что-либо делать, поэтому я, должно быть, что-то упускаю.

ОБНОВЛЕНИЕ: я переместил метод гонки в класс и вызвал его в конструкторе. Я помещаю оператор печати, чтобы получить значение x в методе гонки, и он показывает, что x увеличивается правильно, но когда я запускаю программу, моя машина исчезает. Таким образом, он обновляет значение x, как и должно, но не отображает графику. Код обновлен ниже

Любые предложения приветствуются!
# Импортируем tkinter из импорта tkinter * # Устанавливаем высоту и ширину окна ширина = 800 высота = 800 # Создаем класс гоночного автомобиля с холстом в качестве аргумента класс RacingCar(Canvas): # Конструктор def __init__(self, master, width, height): # Конструктор Canvas.__init__(self, master, ширина = ширина, высота = высота) # Создайте переменные x и y для начальной позиции self.x = 10 self.y = 40 # Показать машину self.display_car() self.race() # Функция отображения автомобиля защита display_car (сам): # Удалить исходную машину self.delete("автомобиль") # Создаём первое колесо self.create_oval(self.x + 10, self.y - 10, self.x + 20,\ self.y, fill="black", tags="car") # Создаем второе колесо self.create_oval(self.x + 30, self.y - 10, self.x + 40,\ self.y, fill="black", tags="car") # Создаем тело self.create_rectangle(self.x, self.y - 20, self.x + 50,\ self.y - 10, fill="green", tags="car") # Создаем крышу self.create_polygon(self.x + 10, self.y - 20, self.x + 20,\ self.y - 30, self.x + 30, self.y - 30,\ self.x + 40, self.y - 20, fill = "зеленый",\ теги = "автомобиль") защита гонки(): пока правда: если self.x < ширина: self.x += 2 еще: self.x = 0 себя.после(88) self.update() окно = Тк() window.title("Гоночная машина") гоночный автомобиль = RacingCar(окно, ширина = 240, высота = 50) гоночный автомобиль.пакет() окно.mainloop()
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»