Vamos a hacer un pequeño juego en pygame con python, donde vamos a crear un cadro azul y lo vamos a mover por la pantalla usando las flechas del teclado.
No todo en la vida es puro backend, servidores, etc… esta vez vamos a divertirnos y a entretenernos con este ejemplo, usando pygame, este ejemplo esta pensado para ser usado mas adelante en otros proyectos/ejemplos.
Pygame es un framework para crear juegos o aplicaciones multimedia en python.
Pygame nos permite manejar graficos, teclado, sonido y mouse, entre otras cosas.
En este ejemplo vamos a mover un cuadro con el teclado.
Instalacion
Para instalar Pygame tenemos que instalarlo con el instalador de paquetes de Python pip.
pip install pygameHecho esto ya podemos correr cualquier programa programado con pygame.
Codigo
El codigo le agregue comentarios para que le entiendan a cada seccion.
import pygame
import random
# la clase player tiene las caracteristicas de un jugador o elemento del juego
# se pueden crear varios
class Player(pygame.sprite.Sprite):
def __init__(self, x, y):
super().__init__()
self.image = pygame.Surface([50, 50])
self.image.fill( (0, 200, 200))
self.rect = self.image.get_rect()
self.rect.topleft = (x, y)
# iniciamos pygame
pygame.init()
# definimos lo ancho y alto de nuestra ventana de juego
WIDTH, HEIGHT = 540 , 960
myfont = pygame.font.SysFont('monospace', 20)
# obtenemos la instancia de la pantalla
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Pygame 2")
clock = pygame.time.Clock() # el reloj para pbtener los ticks o frames
player_sprite = Player( WIDTH/2 , HEIGHT/2) # posicionamos el jugador en el centro de la pantalla
all_sprites = pygame.sprite.Group() # creamos un grupo para los sprites
all_sprites.add(player_sprite) # agregamos el jugador al grupo
while True:
for event in pygame.event.get():
# si cerramos el juego se liberan los recursos
if event.type == pygame.QUIT:
pygame.quit()
exit()
# Verificamos si se presiono una tecla
if event.type == pygame.KEYDOWN:
# si se presiona la tecla fecha para la izquierda
if event.key == pygame.K_LEFT:
if player_sprite.rect.x > 0:
player_sprite.rect.x -= 10
# si se presiona la tecla fecha para la derecha
if event.key == pygame.K_RIGHT:
if player_sprite.rect.x < WIDTH - player_sprite.rect.width:
player_sprite.rect.x += 10
# si se presiona la tecla fecha para arriba
if event.key == pygame.K_UP:
if player_sprite.rect.y > 0:
player_sprite.rect.y -= 10
# si se presiona la tecla fecha para abajo
if event.key == pygame.K_DOWN:
if player_sprite.rect.y < HEIGHT - player_sprite.rect.height:
player_sprite.rect.y += 10
print("Player position:", player_sprite.rect.y)
# pintamos la pantalla de negro
screen.fill((0, 0, 0))
# dibujamos todos los sprites
all_sprites.draw(screen)
# actualizamos la pantalla
pygame.display.flip()
# esperamos
clock.tick(30)Y para ejecutar el codigo usamos el comando de python “py” o “python3” segun la instalacion de python que tengas, a mi archivo le puse pygame2.py asi que lo ejecuto.
py pygame2.pyY el resultado es el siguiente:

Tenemos la pantalla en negro y el cuadro azul que es nuestro jugador en azul, presionamos las flechas del teclado y lo podremos mover arriba, abajo, izquierda, derecha 😉