Загрузка данных


import pygame
import random
import time
pygame.init()

# Окно программы
WIDTH = 1000
HEIGHT = 800
screen = pygame.display.set_mode((WIDTH, HEIGHT))

clock = pygame.time.Clock()
FPS = 30

# Переменные для ракеток
x_1 = 0
y_1 = 300
x_2 = WIDTH - 20
y_2 = 300
width = 20
height = 180
speed = 8
flag = 0
flag_2 = 0

my_font = pygame.font.SysFont(None,35)
text = my_font.render("правая сторона победила", False, (100, 100, 255))
text1 = my_font.render("левая сторона победила", False, (255, 100, 100))
# Переменные для мячика
flag_x = 1    # направление мяча по x
flag_y = 1    # направление мяча по y
speed_1 = 10  # скорость мяча
x = WIDTH // 2
y = HEIGHT // 2
R = 20
color_circle = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))

# Игровой цикл
game_run = True
while game_run:
    # Обработка событий
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            game_run = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_w:
                flag = -1
            if event.key == pygame.K_s:
                flag = 1
            if event.key == pygame.K_UP:
                flag_2 = -1
            if event.key == pygame.K_DOWN:
                flag_2 = 1
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_w or event.key == pygame.K_s:
                flag = 0
            if event.key == pygame.K_UP or event.key == pygame.K_DOWN:
                flag_2 = 0

    # Логика ракеток
    y_1 += speed * flag
    y_2 += speed * flag_2
    # Ограничения, чтобы ракетки не выходили за границы
    y_1 = max(0, min(HEIGHT - height, y_1))
    y_2 = max(0, min(HEIGHT - height, y_2))
    
    # Логика мяча
    x += speed_1 * flag_x
    y += speed_1 * flag_y

    # Отскок мяча от верхней и нижней границы
    if y - R <= 0:
        flag_y = 1
    if y + R >= HEIGHT:
        flag_y = -1

    # Отскок мяча от левой ракетки
    if (x - R < x_1 + width) and (y > y_1) and (y < y_1 + height) and (flag_x < 0):
        flag_x = 1
        color_circle = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) # случайный цвет мяча

    # Отскок мяча от правой ракетки
    if (x + R > x_2) and (y > y_2) and (y < y_2 + height) and (flag_x > 0):
        flag_x = -1
        color_circle = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) # случайный цвет мяча

    

    # Отрисовка
    screen.fill((0, 0, 0))

    if x - R <= 0:
        flag_x = 0
        flag_y = 0
        screen.blit(text,(350,350))
        speed = 0
    if x + R >= WIDTH:
        flag_x = 0
        flag_y = 0
        screen.blit(text1,(350,350))
        speed = 0
        

    pygame.draw.circle(screen, color_circle, (x, y), R)
    pygame.draw.rect(screen, (255, 0, 0), (x_1, y_1, width, height))
    pygame.draw.rect(screen, (0, 0, 255), (x_2, y_2, width, height))
    pygame.display.flip()
    clock.tick(FPS)

pygame.quit()