складіть проект переміщення виконавця від лівого краю полотна (де вона буде на початку виконання програми) до правого за натискання клавіші стрілка праворуч. у процесі переміщення, якщо абсциса його положення від'ємна, він зафарбований у червоний колір, якщо абсциса його положення стає додатною, він перефарбовується в синій колір. ПАЙТОН. ДАЮ 50 БАЛІВ
Answers & Comments
Ответ:
import tkinter as tk
# Константи
WIDTH = 600
HEIGHT = 400
RADIUS = 20
MOVE_INCREMENT = 10
# Ініціалізація вікна та полотна
root = tk.Tk()
canvas = tk.Canvas(root, width=WIDTH, height=HEIGHT)
canvas.pack()
# Створення шару
ball = canvas.create_oval(
WIDTH / 2 - RADIUS, HEIGHT / 2 - RADIUS,
WIDTH / 2 + RADIUS, HEIGHT / 2 + RADIUS,
fill='blue'
)
# Фуркція для переміщення шару
def move_ball(event):
# Get current coordinates of ball
x1, y1, x2, y2 = canvas.coords(ball)
# Перевірка, чи досяг м'ял лівого краю вікна
if x1 < 0:
canvas.itemconfig(ball, fill='red')
# Рухати м'яч направо
canvas.move(ball, MOVE_INCREMENT, 0)
# Перевірка, чи досяг шар правого краю вікна
if x2 > WIDTH:
canvas.itemconfig(ball, fill='blue')
# Прив'язка клавіші до функції
canvas.bind('<Right>', move_ball)
# Запуск головного циклу
root.mainloop()
Объяснение: Цей код створює вікно з полотном, на якому з'являється круг (представляє виконавця), який можна переміщати вправо за допомогою клавіші стрілки праворуч. Якщо круг досягає лівого краю полотна, він змінює колір на червоний, а якщо досягає правого краю, він змінює колір на синій. Щоб запустити програму, достатньо скопіювати код та вставити його у IDE.