• Inicio
  • Noticias
  • Consolas y juegos
  • Telefonos moviles
  • Reseñas
  • Inicio
  • Sin categoría
  • » Cómo hacer un juego en Python: una introducción a Pygame

Cómo hacer un juego en Python: una introducción a Pygame

Actualizado al 23 febrero, 2021

how to make a game in Python
cómo hacer un juego en Python

Python es bien conocido como uno de los lenguajes de programación más flexibles y amigables para los principiantes. Pero si bien Python tiene una experiencia de incorporación fantástica incluso para los nuevos programadores menos experimentados, en realidad es más confuso manejarlo de otras maneras. Python es tan flexible que no es evidente de inmediato qué se puede hacer con él.

Puede leer un montón de tutoriales, por ejemplo, y aún no entender cómo hacer un juego en Python, o cómo crear una aplicación web. En esta publicación, vamos a discutir cómo hacer 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 resultar complicado de entender para los nuevos desarrolladores es que los lenguajes de programación rara vez existen en el vacío. Al crear una aplicación de Android, por ejemplo, no solo tendrá que 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 una gran cantidad de diferentes bibliotecas, clases y herramientas que hacen que el código Java funcione en Android y le dan acceso a las funciones que son exclusivas de las 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.

pygame logologo de pygame

Pygame es una de esas colecciones de módulos. Y como su nombre indica, Pygame proporciona muchas funciones que son útiles para el desarrollo de juegos. Eso 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 agilizar el proceso. Por lo tanto, cuando preguntes cómo hacer un juego en Python, ¡la mayoría de la gente te dirá que uses Pygame!

Dicho esto, aquellos que están acostumbrados a motores de juegos más completos e IDE como Unity pueden encontrar que Pygame es algo básico. ¡Aquí no encontrará física incorporada o una elegante interfaz de arrastrar y soltar! 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. Ha sido un proyecto comunitario desde entonces 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 explicarte paso a paso un juego, te daré el código y luego analizaremos cómo funciona todo.

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

  • ¿Qué es Python y cómo empezar?

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

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

  • Cómo instalar Python y comenzar a codificar en Windows, Mac o Linux

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

importar pygame
pygame.init ()
ganar = pygame.display.set_mode ((1280, 720))
pygame.display.set_caption ("Cuadrado")
x = 100
y = 100
baddyX = 300
baddyY = 300
vel = 6
baddyVel = 4
ejecutar = Verdadero
def draw_game ():
          win.fill ((0, 0, 0))
          pygame.draw.rect (ganar, (0, 0, 255), (x, y, 20, 20))
          pygame.draw.rect (ganar, (255, 0, 0), (baddyX, baddyY, 40, 40))
          pygame.display.update ()

mientras corre:
      pygame.time.delay (100)

      si baddyX <x - 10: baddyX = baddyX + baddyVel drawGame () elif baddyX> x + 10:
          juego de dibujo()
          baddyX = baddyX - baddyVel
      elif baddyY <y - 10: baddyY = baddyY + baddy Vel elif baddyY> y + 10:
          baddyY = baddyY - baddyVel
      demás:
          ejecutar = Falso
      
      para el evento en pygame.event.get ():
            si event.type == pygame.QUIT:
                  ejecutar = Falso

      claves = pygame.key.get_pressed ()

      si claves [pygame.K_LEFT]:
            x - = vel

      si claves [pygame.K_RIGHT]:
            x + = vel
      
      si claves [pygame.K_UP]:
            y - = vel
      
      si claves [pygame.K_DOWN]:
            y + = vel
      
      juego de dibujo()
          
pygame.quit ()   

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

Dale al play y deberías ser recibido con un juego que te permite controlar un pequeño 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 hemos hecho de la manera que lo hemos hecho. Así que vamos a repasarlo, ¿de acuerdo?

Pip InstallInstalar Pip

Usando pip para instalar módulos

Primero, importamos el módulo Pygame con la línea  import pygame . Es probable que esto ya esté en su máquina y probablemente venga como predeterminado con su instalación. Si no es así, puede instalarlo con pip. También necesitamos inicializar Pygame con pygame.init () . A continuación, creamos una ventana para que se muestre nuestro juego. “Set_caption” nos permite darle un título a nuestro juego, que se muestra en la parte superior de dicha ventana.

importar pygame
pygame.init ()
ganar = pygame.display.set_mode ((1280, 720))
pygame.display.set_caption ("Cuadrado")

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

x = 100
y = 100
baddyX = 300
baddyY = 300
vel = 6
baddyVel = 4
ejecutar = Verdadero

Hay una pequeña función a continuación llamada drawGame () . Aquí, primero estamos llenando la pantalla con un color en blanco (negro). Hacer esto significa que podemos mover la posición de nuestros personajes sin dejar rastro. Otra opción sería dibujar los personajes encima de ellos en negro.

A continuación, se dibujan 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: ¡a lo largo del pasillo y bajando las escaleras! ¡Pensé que tenía sentido hacer que nuestro chico malo fuera un poco más grande que el chico bueno, y hacerlo rojo aterrador!

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

def draw_game ():
          win.fill ((0, 0, 0))
          pygame.draw.rect (ganar, (0, 0, 255), (x, y, 20, 20))
          pygame.draw.rect (ganar, (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 llamar a una función en Python

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 creaciones de Pygame. Esencialmente, este es un bucle que se repetirá siempre que el valor de  ejecución  se establezca en Verdadero.

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

mientras corre:
      pygame.time.delay (100)

Básicamente, todo lo que queremos que suceda repetidamente entrará en un ciclo. Lo primero que ponemos aquí es un fragmento de código que define el comportamiento de nuestro malo. Esto usa  declaraciones if  y elif  (else, if) para controlar el flujo del código. Si el valor de las coordenadas del jugador es mayor que las coordenadas del malo, entonces el malo se moverá para cambiar esto: acercándose a nuestra posición. Debido a que nuestros personajes se mueven unos pocos píxeles a la vez (según lo definido por las variables vel  y  baddyVel ), he agregado un pequeño margen de error.

      si baddyX <x - 10: baddyX = baddyX + baddyVel drawGame () elif baddyX> x + 10:
          juego de dibujo()
          baddyX = baddyX - baddyVel
      elif baddyY <y - 10: baddyY = baddyY + baddy Vel elif baddyY> y + 10:
          baddyY = baddyY - baddyVel
      demás:
          ejecutar = Falso

Sin embargo, si las coordenadas caen dentro de los 10 píxeles de nuestro jugador, ¡se acabó el juego! run  se establece en False y el programa sale del bucle. La declaración final que sigue al bucle abandona el juego.

Sin embargo, sigue siendo 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, harías algunos cálculos para asegurarte de que el juego terminara si los personajes se tocaban.

Observe cómo cada vez que el malo cambia de posición, llamamos a  drawGame ()  y actualizamos el lienzo.

Finalmente, necesitamos obtener la entrada del jugador y mover el personaje del jugador de acuerdo con esto. Afortunadamente, Pygame lo hace muy fácil:

para el evento en pygame.event.get ():
            si event.type == pygame.QUIT:
                  ejecutar = Falso

claves = pygame.key.get_pressed ()

si claves [pygame.K_LEFT]:
x - = vel

si claves [pygame.K_RIGHT]:
x + = vel

si claves [pygame.K_UP]:
y - = vel

si claves [pygame.K_DOWN]:
y + = vel

juego de dibujo()

Como puede haber recopilado, la primera parte de este código también permite al jugador salir haciendo clic en el botón de cruz.

¡Finalmente, salimos del juego una vez que el ciclo ha terminado!

Esto es lo que nos queda:

How to make a game in PythonCómo hacer un juego en Python

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

A dónde ir desde aquí

¡Ahora sabes cómo hacer un juego en Python! Al menos sabes cómo hacer cuadrados móviles en una pantalla … Pero, con suerte, esto es suficiente para darte una idea de cómo Pygame puede extender las capacidades de vanilla Python. El resto es solo una cuestión de aprender las habilidades que necesita 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 aprender habilidades comerciales, ¿por qué no tomar un curso en línea? Esta es la forma más rápida de aprender Python correctamente, e incluso tenemos una guía práctica de los mejores cursos de Python en línea. Pruebe Codificar con Python: Capacitación para aspirantes a desarrolladores por solo $ 49.99. Sin embargo, date prisa, ya que el curso está valorado en alrededor de $ 700.

¡Puntúa este artículo!
comohacerjuegopython:

Artículos relacionados




©2011-2022.
  • Privacidad

Definition by Author

0
0
Expand