Cómo hacer un juego en Python

como hacer un juego en python

Python es conocido como uno de los lenguajes de programación más flexibles y fáciles de usar para principiantes. Pero si bien Python tiene una experiencia de incorporación fantástica incluso para programadores novatos, en realidad lo es Más confuso tratar de otras formas. Python es tan flexible que no es inmediatamente obvio lo que puede hacer con él.

Puedes leer muchos tutoriales, por ejemplo, y aún no entiendes cómo hacer un juego en Python o cómo hacer una aplicación web. En esta publicación, discutiremos cómo crear un juego muy simple en Python usando Pygame, la popular selección de módulos diseñados para facilitar la creación de juegos simples.

¿Qué es Pygame?

Algo que puede ser difícil de entender para los nuevos desarrolladores es que los lenguajes de programación rara vez existen en el vacío. Cuando crea una aplicación de Android, por ejemplo, no solo necesitará usar Java o Kotlin (los dos lenguajes de programación principales admitidos por Google), sino también el SDK de Android. Este es el “kit de desarrollo de software” y contiene varias bibliotecas, clases y herramientas diferentes que hacen que el código Java funcione en Android y le dan acceso a características únicas de plataformas móviles.

Así es con Python. Aprender Python no es suficiente para comenzar a construir cosas en su mayor parte; necesita código adicional proporcionado por otros desarrolladores para que esos programas funcionen. En Python, estas herramientas externas generalmente toman la forma de “módulos”. Estos son pequeños programas de Python que realizan funciones útiles que pueden respaldar su producción.

logo de pygame

Pygame es una de esas colecciones de módulos. Y como sugiere su nombre, Pygame ofrece muchas funciones útiles para el desarrollo de juegos. Esto significa cosas como dibujar gráficos en la pantalla y reproducir sonidos. Al proporcionar funciones listas para usar como esta, Pygame puede ahorrarle a un desarrollador una gran cantidad de trabajo y simplificar el proceso. Entonces, cuando preguntes cómo hacer un juego en Python, ¡la mayoría de la gente te dirá que uses Pygame!

Dicho esto, aquellos acostumbrados a motores de juegos e IDE más completos como Unity pueden encontrar Pygame un poco simple. ¡No encontrarás física incorporada o una interfaz de arrastrar y soltar loca aquí! Pero si bien esto puede aumentar la cantidad de trabajo para ti como desarrollador, también te libera para usar tu imaginación y abordar tu proyecto de juego completamente desde cero.

(¡Esto es algo bueno, honesto!)

Pygame fue escrito por Pete Shinners y fue lanzado en 2000. Desde entonces ha sido un proyecto comunitario y actualmente se publica bajo la Licencia Pública General Reducida GNU de software libre de código abierto.

Cómo hacer un juego en Python: un primer proyecto simple

Voy a cambiar un poco mi enfoque para este tutorial. En lugar de contarte paso a paso sobre un juego, te daré el código y luego desglosaremos cómo funciona todo.

Primero, asegúrese de haber leído nuestra introducción básica al código Python:

Esto lo familiarizará con los conceptos básicos para que pueda seguir adelante.

También necesitará un editor de código IDE o Python, que puede conocer aquí:

A continuación, pasará por el siguiente código. Aquí hay uno que hice antes:

import pygame
pygame.init()
win = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("Squarey")
x = 100
y = 100
baddyX = 300
baddyY = 300
vel = 6
baddyVel = 4
run = True
def draw_game():
          win.fill((0, 0, 0))
          pygame.draw.rect(win, (0, 0, 255), (x, y, 20, 20))
          pygame.draw.rect(win, (255, 0, 0), (baddyX, baddyY, 40, 40))
          pygame.display.update()

while run:
      pygame.time.delay(100)

      if baddyX < x - 10: baddyX = baddyX + baddyVel drawGame() elif baddyX > x + 10:
          drawGame()
          baddyX = baddyX - baddyVel
      elif baddyY < y - 10: baddyY = baddyY + baddyVel elif baddyY > y + 10:
          baddyY = baddyY - baddyVel
      else:
          run = False
      
      for event in pygame.event.get():
            if event.type == pygame.QUIT:
                  run = False

      keys = pygame.key.get_pressed()

      if keys[pygame.K_LEFT]:
            x -= vel

      if keys[pygame.K_RIGHT]:
            x += vel
      
      if keys[pygame.K_UP]:
            y -= vel
      
      if keys[pygame.K_DOWN]:
            y += vel
      
      draw_game()
          
pygame.quit()   

(En un mundo perfecto, usaría el estuche de la serpiente para las coordenadas, pero honestamente lo encuentro mucho más rápido y claro. Y si eso no significa nada para ti, ¡no te preocupes!)

Presione play y debería ser recibido con un juego que le permite marcar un cuadrado verde alrededor de la pantalla tratando de evadir un cuadrado rojo. ¡Es algo emocionante!

¿Qué hace todo esto?

¡Felicidades! ¡Acabas de aprender a crear un juego en Python! Excepto que probablemente no sepa qué hace todo esto o por qué lo hicimos de la manera que lo hicimos. Así que examinémoslo, ¿de acuerdo?

Instalar Pip

Usando pip para instalar módulos

Primero, importemos el módulo Pygame con la fila importar pygame. Esto probablemente ya estará en su máquina y probablemente se envió por defecto con su instalación. Si no, puede instalarlo con pepita. También necesitamos inicializar Pygame con pygame.init (). A continuación, creemos una ventana para ver nuestro juego. “Set_caption” nos permite darle un título a nuestro juego, que se muestra en la parte superior de esa ventana.

import pygame
pygame.init()
win = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("Squarey")

En la siguiente sección, definiremos una serie de variables: coordenadas para nosotros y el villano, una velocidad para nosotros y el villano, y un valor booleano (valor verdadero o falso) que nos dice si el juego se está ejecutando o no.

Programador de Python y paquete de certificación de datos

Cómpralo ahora


Salvar

$ 1761
.00




$ 39
.00

x = 100
y = 100
baddyX = 300
baddyY = 300
vel = 6
baddyVel = 4
run = True

Hay una pequeña función siguiente llamada juego de dibujo ()Aquí, primero estamos llenando la pantalla con un color en blanco (negro). De esta forma podremos mover la posición de nuestros personajes sin dejar rastros. Otra opción sería dibujar los personajes sobre ellos en negro.

A esto le sigue el diseño de los dos cuadrados. Los colocamos dentro de la ventana, les damos códigos de color RGB y luego configuramos las coordenadas X e Y antes de agregar el ancho y el alto. Recuerda: ¡baja por el pasillo y baja las escaleras! ¡Pensé que tenía sentido hacer a nuestro villano un poco más grande que el chico bueno y hacerlo rojo aterrador!

Finalmente, llamamos pygame.display.update (), para que estos elementos se dibujen realmente en la pantalla.

def draw_game():
          win.fill((0, 0, 0))
          pygame.draw.rect(win, (0, 0, 255), (x, y, 20, 20))
          pygame.draw.rect(win, (255, 0, 0), (baddyX, baddyY, 40, 40))
          pygame.display.update()

Si no está seguro de qué es una función, consulte este pequeño tutorial ingenioso:

Cómo crear un bucle de juego en Python

La siguiente parte del código es donde ocurre la verdadera diversión. Este es el “texto estándar” que probablemente verá en muchas de las creaciones de Pygame. Esencialmente, este es un ciclo que seguirá repitiéndose mientras el valor de correr se establece en Verdadero.

La primera línea de este bucle agrega un breve retraso. De hecho, esto es lo que establecerá nuestra “velocidad de fotogramas” y evitará que todo suceda demasiado rápido para ser visto.

while run:
      pygame.time.delay(100)

Básicamente, todo lo que queremos que suceda repetidamente irá en un bucle. Lo primero que ponemos aquí es un código que define el comportamiento de nuestro villano. Esto usa Yo es elif (más, si) declaraciones para controlar el flujo de código. Si el valor de las coordenadas del jugador es mayor que las coordenadas del villano, entonces el villano se moverá para cambiar esto: acercándose a nuestra ubicación. Dado que nuestros personajes se mueven unos pocos píxeles a la vez (según lo definido por el velocidad es baddyVel variables), agregué un pequeño margen de error.

      if baddyX < x - 10: baddyX = baddyX + baddyVel drawGame() elif baddyX > x + 10:
          drawGame()
          baddyX = baddyX - baddyVel
      elif baddyY < y - 10: baddyY = baddyY + baddyVel elif baddyY > y + 10:
          baddyY = baddyY - baddyVel
      else:
          run = False

Sin embargo, si las coordenadas están dentro de los 10 píxeles de nuestro jugador, ¡el juego termina! correr se establece en False y el programa sale del bucle. La afirmación final que sigue al ciclo cierra el juego.

Todavía es un poco feo, ya que las coordenadas establecen la esquina superior izquierda del cuadrado, no el centro. Esto significa que la detección de colisiones es extremadamente inestable, y si realmente estuvieras haciendo un juego, deberías hacer algunos cálculos para asegurarte de que el juego terminara si los personajes se tocaban.

Observa cómo cada vez que el malo cambia de posición, llamamos juego de dibujo () y refresca el lienzo.

Finalmente, necesitamos obtener la entrada del jugador y mover el personaje del jugador en función de eso. Afortunadamente, Pygame lo hace muy simple:

for event in pygame.event.get():
            if event.type == pygame.QUIT:
                  run = False

keys = pygame.key.get_pressed()

if keys[pygame.K_LEFT]:
x -= vel

if keys[pygame.K_RIGHT]:
x += vel

if keys[pygame.K_UP]:
y -= vel

if keys[pygame.K_DOWN]:
y += vel

draw_game()

Como habrás comprendido, la primera parte de este código también permite al jugador salir haciendo clic en el botón con la cruz.

¡Finalmente, cierre el juego una vez que haya terminado!

Esto es lo que nos queda:

Cómo hacer un juego en Python

No es exactamente Cyberpunk 2077, pero bueno, ¡al menos está terminado! #quemar

A dónde ir desde aquí

¡Ahora sabes cómo hacer un juego en Python! Al menos sabes cómo crear cuadrados móviles en una pantalla … Pero, con suerte, eso es suficiente para darte una idea de cómo Pygame puede ampliar las capacidades de Vanilla Python. El resto es solo una cuestión de aprender las habilidades necesarias para agregar funciones adicionales, ¡hasta que tenga algo con lo que esté satisfecho! Consulta la documentación oficial aquí.

O, si desea acelerar su desarrollo y adquirir habilidades comerciales, ¿por qué no tomar un curso en línea? Esta es la forma más rápida de aprender Python correctamente, y también tenemos una guía práctica de los mejores cursos de Python en línea. Poner a prueba o probar Codificación con Python: capacitación para aspirantes a desarrolladores por solo $ 49,99. Sin embargo, date prisa, ya que el curso vale alrededor de $ 700.

Programador de Python y paquete de certificación de datos

Cómpralo ahora


Salvar

$ 1761
.00




$ 39
.00

Compruebe también

El arsenal de Android: historias de usuarios

Puedes leerlo en portugués (https://github.com/welbert6/MaterialStoryView/edit/master/ReadmePT.md) Capturas de pantalla Introducción MaterialStoryView es una biblioteca de Android …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *