Необходимо заставить круг двигаться по линиям!

ttd2001

Новичок
Пользователь
Мар 17, 2022
12
1
3
Не понимаю как можно это реализовать. Пожалуйста помогите:cry:
Python:
# Контрольная работа студентки группы 20-ЗИЭ Трофимовой Т.Д.
# Дисциплина - Высокоуровневые технологии программирования
# Вариант № 2-26.
# Контрольная работа №2. Задача №5.

"""На канве фигура высотой 300 пикселей. В левой верхней точке фигуры находится центр окружности диаметром 40 пикселей.
При запуске окружность начинает двигаться так, чтобы ее центр находился все время на фигуре.
Скорость движения - 60 пикселей/сек.  При достижении нижней конечной точки окружность возвращается в начало и продолжает движение.
Запуск и остановка программы – главное меню формы."""

# Начальные координаты для построения интерфейса
from tkinter import *
from PIL import Image, ImageTk
import time

SX = 0
SY = 0

# Создает контейнер Canvas
def elementСanvas():
    global elСanvas
    SX = 5
    SY = 5
    elСanvas = Canvas(width=300, height=300, bg="white")
    elСanvas.place(x=SX, y=SY)
    oval = elСanvas.create_oval(SX+40, SY+10, SX+10, SY+40, width=3, )
    elСanvas.move(oval, SX+22, SY+11)
    line1 = elСanvas.create_line(SX+50, SY+40, SX+250, SY+40, width=3)
    line2 = elСanvas.create_line(SX+250, SY+40, SX+50, SY+140, width=3)
    line3 = elСanvas.create_line(SX+50, SY+142, SX+250, SY+142, width=3)
    line4 = elСanvas.create_line(SX+250, SY+142, SX+50, SY+242, width=3)

# Создает меню
def menuWindow():

    info_menu = Menu(mainMenu, tearoff=0)
    mainMenu.add_cascade(label='Меню', menu=info_menu)
    info_menu.add_command(label='Запустить',
                          compound='left')
    info_menu.add_command(label='Остановить',
                          compound='left')



# Создает интерфейс программы
def mainWindowProgram():

    menuWindow()
    elementСanvas()
  

# Задает параметры окна программы
def application():

    global root, mainMenu

    root = Tk()
    mainMenu = Menu(root)
    root.title("20-ЗИЭ КР №2. Задание №5. Вариант 2-10. Трофимова Татьяна Дмитриевна")
    root.geometry("300x300")
    root.resizable(0, 0)
    root.config(menu=mainMenu)
    mainWindowProgram()
    root.mainloop()


application()
 

Вложения

  • Задание 5.JPG
    Задание 5.JPG
    33,4 КБ · Просмотры: 3

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