Вопрос задан 18.10.2023 в 01:32. Предмет Информатика. Спрашивает Кокунов Данила.

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

2 людини. швидшееееее будь ласкаа​
0 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()
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Звісно, я допоможу! Ось основний код для простої гри у пінг-понг на Python з використанням бібліотеки Pygame. Впевніться, що ви встановили Pygame перед тим, як запускати цей код.

python
import pygame import sys # Ініціалізація Pygame pygame.init() # Розміри вікна WIDTH, HEIGHT = 500, 500 # Колір WHITE = (255, 255, 255) BLACK = (0, 0, 0) # Розміри ракеток і м'яча PAD_WIDTH, PAD_HEIGHT = 15, 60 BALL_SIZE = 15 # Швидкість руху PAD_SPEED = 5 BALL_SPEED_X = 5 BALL_SPEED_Y = 5 # Створення вікна гри screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("Ping Pong") # Початкові координати ракеток і м'яча left_pad_pos = [0, HEIGHT // 2 - PAD_HEIGHT // 2] right_pad_pos = [WIDTH - PAD_WIDTH, HEIGHT // 2 - PAD_HEIGHT // 2] ball_pos = [WIDTH // 2 - BALL_SIZE // 2, HEIGHT // 2 - BALL_SIZE // 2] # Початкові швидкості руху ракеток і м'яча left_pad_speed = 0 right_pad_speed = 0 ball_speed = [BALL_SPEED_X, BALL_SPEED_Y] # Головний цикл гри while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() elif event.type == pygame.KEYDOWN: if event.key == pygame.K_w: left_pad_speed = -PAD_SPEED elif event.key == pygame.K_s: left_pad_speed = PAD_SPEED elif event.key == pygame.K_UP: right_pad_speed = -PAD_SPEED elif event.key == pygame.K_DOWN: right_pad_speed = PAD_SPEED elif event.type == pygame.KEYUP: if event.key == pygame.K_w or event.key == pygame.K_s: left_pad_speed = 0 elif event.key == pygame.K_UP or event.key == pygame.K_DOWN: right_pad_speed = 0 # Рух ракеток left_pad_pos[1] += left_pad_speed right_pad_pos[1] += right_pad_speed # Обмеження ракеток за межами екрану left_pad_pos[1] = max(0, min(HEIGHT - PAD_HEIGHT, left_pad_pos[1])) right_pad_pos[1] = max(0, min(HEIGHT - PAD_HEIGHT, right_pad_pos[1])) # Рух м'яча ball_pos[0] += ball_speed[0] ball_pos[1] += ball_speed[1] # Відбивання від верхньої та нижньої стін if ball_pos[1] <= 0 or ball_pos[1] >= HEIGHT - BALL_SIZE: ball_speed[1] = -ball_speed[1] # Відбивання від ракеток if ( left_pad_pos[0] <= ball_pos[0] <= left_pad_pos[0] + PAD_WIDTH and left_pad_pos[1] <= ball_pos[1] <= left_pad_pos[1] + PAD_HEIGHT ) or ( right_pad_pos[0] <= ball_pos[0] + BALL_SIZE <= right_pad_pos[0] + PAD_WIDTH and right_pad_pos[1] <= ball_pos[1] <= right_pad_pos[1] + PAD_HEIGHT ): ball_speed[0] = -ball_speed[0] # Відображення екрану screen.fill(BLACK) pygame.draw.rect(screen, WHITE, (left_pad_pos[0], left_pad_pos[1], PAD_WIDTH, PAD_HEIGHT)) pygame.draw.rect(screen, WHITE, (right_pad_pos[0], right_pad_pos[1], PAD_WIDTH, PAD_HEIGHT)) pygame.draw.ellipse(screen, WHITE, (ball_pos[0], ball_pos[1], BALL_SIZE, BALL_SIZE)) pygame.display.flip() # Затримка для обмеження кадрів на секунду pygame.time.Clock().tick(60)

Цей код створює вікно гри, дві ракетки та м'яч. Ви можете керувати лівою ракеткою за допомогою клавіш W та S, а правою - за допомогою стрілок вгору та вниз. Бажаю успіху з вашою грою у пінг-понг!

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос