Pong Python: Creación del Juego Pong en Python

Pong Python: Creación del Juego Pong en Python

En este tutorial, aprenderemos a crear el juego Pong en Python. Pong es un juego de arcade clásico en el que dos jugadores controlan paletas para golpear una pelota hacia la red del otro jugador. El primer jugador en anotar 11 puntos gana el juego.

Requisitos

Para seguir este tutorial, necesitarás los siguientes requisitos:

  • Python 3
  • El módulo Pygame

Instalación de Pygame

Para instalar Pygame, abre una terminal y ejecuta el siguiente comando:

pip install pygame

Creación de la ventana de juego

Lo primero que debemos hacer es crear la ventana de juego. Para ello, importaremos el módulo Pygame y crearemos una ventana con el método pygame.display.set_mode().

Python
import pygame

# Creamos la ventana de juego
pygame.init()
pantalla = pygame.display.set_mode((800, 600))

Creación de la pelota

La pelota es un objeto que se mueve por la pantalla y rebota en las paredes y las paletas. Para crear la pelota, importaremos el módulo pygame.rect y crearemos un objeto pygame.Rect.

Python
import pygame.rect

# Creamos la pelota
pelota = pygame.Rect(400, 300, 20, 20)

Creación de las paletas

Las paletas son objetos que se mueven por la pantalla y sirven para golpear la pelota. Para crear las paletas, importaremos el módulo pygame.rect y crearemos dos objetos pygame.Rect.

Python
import pygame.rect

# Creamos las paletas
paleta_1 = pygame.Rect(20, 200, 100, 20)
paleta_2 = pygame.Rect(780, 200, 100, 20)

Movimiento de la pelota

La pelota se mueve por la pantalla en dos direcciones: horizontal y vertical. Para controlar el movimiento de la pelota, actualizaremos su posición en cada bucle de juego.

Python
# Actualizamos la posición de la pelota
pelota.x += pelota.velx
pelota.y += pelota.vely

Colisiones

La pelota debe rebotar en las paredes y las paletas. Para detectar las colisiones, utilizaremos el método pygame.Rect.collidepoint().

Python
# Comprobamos si la pelota ha chocado con la pared superior
if pelota.y < 0:
    pelota.vely *= -1

# Comprobamos si la pelota ha chocado con la pared inferior
if pelota.y > 600:
    pelota.vely *= -1

# Comprobamos si la pelota ha chocado con la paleta 1
if pelota.colliderect(paleta_1):
    pelota.velx *= -1

# Comprobamos si la pelota ha chocado con la paleta 2
if pelota.colliderect(paleta_2):
    pelota.velx *= -1

Mostrar la puntuación

La puntuación se muestra en la parte superior de la pantalla. Para mostrar la puntuación, utilizaremos el método pygame.draw.rect().

Python
# Actualizamos la puntuación
if pelota.x < 0:
    jugador_2 += 1
elif pelota.x > 800:
    jugador_1 += 1

# Mostramos la puntuación
pygame.draw.rect(pantalla, (255, 0, 0), (10, 10, 100, 20))
pygame.draw.rect(pantalla, (0, 255, 0), (700, 10, 100, 20))

# Escribimos la puntuación
pygame.draw.rect(pantalla, (255, 255, 255), (20, 10, 100, 20), 2)
pygame.draw.rect(pantalla, (255, 255, 255), (700, 10, 10