Для создания программы, демонстрирующей движение закрашенного прямоугольника по указанным траекториям, можно использовать один из популярных языков программирования с поддержкой графического интерфейса, например, Python с библиотекой Tkinter. Ниже представлена программа, которая реализует заданное движение:
import tkinter as tk
class MovingRectangle:
def __init__(self, canvas, width, height, rect_size, step, delay):
self.canvas = canvas
self.width = width
self.height = height
self.rect_size = rect_size
self.step = step
self.delay = delay
self.rect = canvas.create_rectangle(0, 0, rect_size, rect_size, fill="blue")
self.direction = "down_right"
def move(self):
x1, y1, x2, y2 = self.canvas.coords(self.rect)
if self.direction == "down_right":
if x2 < self.width and y2 < self.height:
self.canvas.move(self.rect, self.step, self.step)
else:
self.direction = "up_left"
elif self.direction == "up_left":
if x1 > 0 and y1 > 0:
self.canvas.move(self.rect, -self.step, -self.step)
else:
self.direction = "down_right"
self.canvas.after(self.delay, self.move)
def main():
root = tk.Tk()
root.title("Moving Rectangle")
width, height = 400, 400
rect_size = 50
step = 5
delay = 30
canvas = tk.Canvas(root, width=width, height=height)
canvas.pack()
moving_rect = MovingRectangle(canvas, width, height, rect_size, step, delay)
moving_rect.move()
root.mainloop()
if __name__ == "__main__":
main()
Объяснение кода:
Импорт библиотек: Используется стандартная библиотека Tkinter для создания графического интерфейса.
Класс MovingRectangle:
- Инициализирует параметры движения прямоугольника: размер, шаг и задержку между перемещениями.
- Метод
move
отвечает за перемещение прямоугольника. Он проверяет текущие координаты и меняет направление, когда прямоугольник достигает границы окна.
Функция main:
- Создает главное окно приложения и холст для рисования.
- Инициализирует объект
MovingRectangle
и запускает его движение.
Вызов main()
: Запускает приложение.
Как работает программа:
- Прямоугольник начинает движение из левого верхнего угла и перемещается вправо и вниз по диагонали.
- Когда он достигает правого нижнего угла, направление меняется, и прямоугольник движется влево и вверх.
- Цикл продолжается, обеспечивая непрерывное движение по заданной траектории.
Эта программа демонстрирует базовые принципы работы с графическим интерфейсом и анимацией в Python с использованием библиотеки Tkinter.