Ниже приведен пример игрового цикла для игры в понг на Python:
import pygame
import sys
# Initialize Pygame
pygame.init()
# Set up the game window
screen_width = 640
screen_height = 480
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("Pong Game")
# Set up the colors
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
# Set up the paddles
paddle_width = 10
paddle_height = 60
paddle_speed = 5
paddle1_x = 10
paddle1_y = screen_height / 2 - paddle_height / 2
paddle2_x = screen_width - paddle_width - 10
paddle2_y = screen_height / 2 - paddle_height / 2
# Set up the ball
ball_width = 10
ball_height = 10
ball_x = screen_width / 2 - ball_width / 2
ball_y = screen_height / 2 - ball_height / 2
ball_speed_x = 3
ball_speed_y = 3
# Game loop
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# Move the paddles
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 < screen_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 < screen_height - paddle_height:
paddle2_y += paddle_speed
# Move the ball
ball_x += ball_speed_x
ball_y += ball_speed_y
# Collisions with the paddles
if ball_x <= paddle1_x + paddle_width and paddle1_y <= ball_y + ball_height <= paddle1_y + paddle_height:
ball_speed_x *= -1
if ball_x >= paddle2_x - ball_width and paddle2_y <= ball_y + ball_height <= paddle2_y + paddle_height:
ball_speed_x *= -1
if ball_y <= 0 or ball_y >= screen_height - ball_height:
ball_speed_y *= -1
# Clear the screen
screen.fill(BLACK)
# Draw the paddles and the ball
pygame.draw.rect(screen, WHITE, pygame.Rect(paddle1_x, paddle1_y, paddle_width, paddle_height))
pygame.draw.rect(screen, WHITE, pygame.Rect(paddle2_x, paddle2_y, paddle_width, paddle_height))
pygame.draw.ellipse(screen, WHITE, pygame.Rect(ball_x, ball_y, ball_width, ball_height))
# Update the display
pygame.display.flip()
Этот код настраивает базовую игру в понг с использованием библиотеки Pygame. Он инициализирует игровое окно, настраивает ракетки и мяч и определяет игровой цикл. Цикл постоянно проверяет вводимые пользователем данные, перемещает ракетки и мяч, обрабатывает столкновения и обновляет изображение.