import pygame
size = width, height = 301, 301
screen = pygame.display.set_mode(size)
running = True
x_pos = 0
y_pos = 0
# Скорость движения (можно менять числа, чтобы ускорить или замедлить)
x_speed = 2
y_speed = 2
square_size = 50 # Размер квадрата
while running:
events = pygame.event.get()
for event in events:
if event.type == pygame.QUIT:
running = False
# 1. Двигаем квадрат
x_pos += x_speed
y_pos += y_speed
# 2. Проверяем столкновение со стенами
# Если коснулся правой или левой стены
if x_pos >= width - square_size or x_pos <= 0:
x_speed = -x_speed # Меняем направление по X
# Если коснулся нижней или верхней стены
if y_pos >= height - square_size or y_pos <= 0:
y_speed = -y_speed # Меняем направление по Y
# 3. Рисуем
screen.fill((0, 0, 0))
pygame.draw.rect(screen, (255, 0, 0), (x_pos, y_pos, square_size, square_size))
pygame.display.flip()
pygame.quit()