• Предмет: Информатика
  • Автор: andreybrovar62
  • Вопрос задан 3 месяца назад

допоможіть створити гру пінг понг pythonв бібліотеці pygame з розмірами 500 на 500 щоб могли гра ти 2 людини. швидшееееее будь ласкаа​

Ответы

Ответ дал: kakdelarebat
0
import pygame
import random

# Ініціалізація Pygame
pygame.init()

# Розміри вікна
WIDTH = 500
HEIGHT = 500

# Кольори
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)

# Ініціалізація вікна гри
window = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Гра пінг-понг")

clock = pygame.time.Clock()

# Розміри ракеток
PADDLE_WIDTH = 10
PADDLE_HEIGHT = 60
PADDLE_SPEED = 5

# Розміри м'яча
BALL_RADIUS = 5
BALL_SPEED_X = 3
BALL_SPEED_Y = 3

# Початкові координати ракеток
paddle1_x = 0
paddle1_y = HEIGHT // 2 - PADDLE_HEIGHT // 2
paddle2_x = WIDTH - PADDLE_WIDTH
paddle2_y = HEIGHT // 2 - PADDLE_HEIGHT // 2

# Початкові координати м'яча
ball_x = WIDTH // 2
ball_y = HEIGHT // 2

# Початкові напрямки руху м'яча
ball_dx = random.choice([-1, 1]) * BALL_SPEED_X
ball_dy = random.choice([-1, 1]) * BALL_SPEED_Y

# Функція для малювання ракеток і м'яча
def draw_objects():
window.fill(BLACK)
pygame.draw.rect(window, WHITE, (paddle1_x, paddle1_y, PADDLE_WIDTH, PADDLE_HEIGHT))
pygame.draw.rect(window, WHITE, (paddle2_x, paddle2_y, PADDLE_WIDTH, PADDLE_HEIGHT))
pygame.draw.circle(window, WHITE, (ball_x, ball_y), BALL_RADIUS)

# Головний цикл гри
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

keys = pygame.key.get_pressed()

# Рух ракеток
if keys[pygame.K_w] and paddle1_y > 0:
paddle1_y -= PADDLE_SPEED
if keys[pygame.K_s] and paddle1_y < HEIGHT - PADDLE_HEIGHT:
paddle1_y += PADDLE_SPEED
if keys[pygame.K_UP] and paddle2_y > 0:
paddle2_y -= PADDLE_SPEED
if keys[pygame.K_DOWN] and paddle2_y < HEIGHT - PADDLE_HEIGHT:
paddle2_y += PADDLE_SPEED

# Рух м'яча
ball_x += ball_dx
ball_y += ball_dy

# Відбивання м'яча від ракеток
if ball_x <= PADDLE_WIDTH and paddle1_y < ball_y < paddle1_y + PADDLE_HEIGHT:
ball_dx = BALL_SPEED_X
if ball_x >= WIDTH - PADDLE_WIDTH - BALL_RADIUS and paddle2_y < ball_y < paddle2_y + PADDLE_HEIGHT:
ball_dx = -BALL_SPEED_X
if ball_y <= 0 or ball_y >= HEIGHT - BALL_RADIUS:
ball_dy *= -1

# Малювання об'єктів
draw_objects()

# Оновлення вікна
pygame.display.flip()
clock.tick(60)

# Завершення гри
pygame.quit()

andreybrovar62: не робить
kakdelarebat: Сори тогда
andreybrovar62: уже все робить
andreybrovar62: Ти мене вибач
andreybrovar62: не правильно скопіював
Вас заинтересует