допоможіть створити гру пінг понг pythonв бібліотеці pygame з розмірами 500 на 500 щоб могли гра ти 2 людини. швидшееееее будь ласкаа
Ответы
Ответ дал:
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()
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:
не робить
Вас заинтересует
3 месяца назад
3 месяца назад
3 месяца назад
1 год назад
7 лет назад
7 лет назад