Generalidades

Cómo hacer un juego en Python: guía paso a paso

como hacer un juego en python

Python es conocido como uno de los lenguajes de programación más flexibles y amigables para los principiantes. Si bien Python ofrece una experiencia de incorporación fantástica incluso para los programadores nuevos con menos experiencia, realmente lo es Más confuso para orientarse de otra manera. Python es tan flexible que no es evidente de inmediato qué se puede hacer con él.

Por ejemplo, puedes leer un montón de tutoriales y aún no entender cómo hacer un juego en Python o cómo hacer 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.

¿Qué es pygame?

Puede ser difícil para los nuevos desarrolladores entender que los lenguajes de programación rara vez existen en el vacío. Por ejemplo, al crear una aplicación de Android, además de usar Java o Kotlin (los dos lenguajes de programación principales admitidos por Google), también debe usar el SDK de Android. Este es el «Software Development Kit», que contiene una variedad de diferentes bibliotecas, clases y herramientas que hacen que el código Java funcione en Android y brindan acceso a funciones que solo están disponibles para plataformas móviles.

Lo mismo ocurre 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 estos 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 ayudar a su producción.

Logotipo de Pygame

Pygame es una de esas colecciones de módulos. Y como sugiere su nombre, Pygame tiene muchas características que son útiles para el desarrollo de juegos. Eso significa cosas como dibujar gráficos en la pantalla y reproducir sonidos. Al proporcionar funciones prediseñadas como esta, Pygame puede ahorrarle mucho trabajo al desarrollador y agilizar el proceso. Entonces, si preguntas 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 e IDE más completos como Unity pueden encontrar Pygame un poco básico. ¡Aquí no encontrará ninguna física incorporada o una elegante interfaz de arrastrar y soltar! Si bien esto puede aumentar la carga de trabajo para usted como desarrollador, también lo libera de usar su imaginación y comenzar su proyecto de juego desde cero.

(¡Eso es algo bueno, honestamente!)

Pygame fue escrito por Pete Shinners y publicado en 2000. Ha sido un proyecto comunitario desde entonces y actualmente se publica bajo el software de código abierto GNU Lesser General Public License.

Cómo hacer un juego en Python: un primer proyecto fácil

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

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 seguirlo.

También necesitará un IDE de Python o un editor de código como PyCharm o incluso Visual Studio.

Ver también: Aquí se explica cómo instalar Python y comenzar a codificar en Windows, Mac o Linux.

A continuación, pegue 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 caso de la serpiente para las coordenadas, pero con toda honestidad, lo encuentro mucho más rápido y claro. Y si eso no significa nada para ti, ¡no te preocupes!)

Cuando presionas «Jugar» deberías ser recibido con un juego que te permite controlar un pequeño cuadrado verde en la pantalla para esquivar un cuadrado rojo. ¡Es algo emocionante!

¿Qué hace todo esto?

¡Felicidades! ¡Acabas de aprender a crear un juego en Python! A menos que probablemente no sepa qué está haciendo todo esto o por qué lo hicimos de la manera que lo hicimos. Así que vamos a repasarlo, ¿de acuerdo?

Instalar Pip

Usando pip para instalar módulos

Primero importamos el módulo pygame con la línea Importar pygame. Es probable que ya esté presente en su computadora y se usó de manera predeterminada durante la instalación. Si no es así, puede instalarlo usando pip. También necesitamos inicializar pygame pygame.init (). A continuación, crearemos una ventana en la que se puede ver nuestro juego. Con “Set_caption” podemos darle a nuestro juego un título que se mostrará en la parte superior de esta ventana.

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

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

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

A continuación, se llama una pequeña función Juego de personajes ()Aquí primero llenamos la pantalla con un color en blanco (negro). De esta forma podemos cambiar la posición de nuestros personajes sin dejar rastro. Otra opción sería dibujar los personajes sobre ti en negro.

Luego se dibujan los dos cuadrados. Los colocamos en la ventana, les damos códigos de color RGB y luego establecemos 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 tendría sentido hacer a nuestros malos un poco más grandes que los buenos y ponerlos rojos de miedo!

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()

Ver también: 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 es probable que veas en muchas creaciones de pygame. Esencialmente, este es un ciclo que se repite 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 establece nuestra «velocidad de fotogramas» y evita que todo vaya demasiado rápido para que podamos verlo.

while run:
      pygame.time.delay(100)

Básicamente, cualquier cosa que intentemos hacer repetidamente entrará en un bucle. Lo primero que ponemos aquí es un fragmento de código que define el comportamiento de nuestro mal. Este usado Si y elif (si no, si) declaraciones para controlar el flujo de código. Si el valor de las coordenadas del jugador es mayor que las coordenadas del maligno, el maligno cambiará eso: se acerca a nuestra posición. Debido a que nuestros personajes se mueven unos pocos píxeles a la vez (como a través del vel y baddyVel Variables) He añadido un poco de margen para errores.

      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, ¡se acabó el juego! Correr se establece en False y el programa sale del bucle. La última declaración después del ciclo finaliza el juego.

Todavía es un poco feo ya que las coordenadas establecen la esquina superior izquierda del cuadrado en lugar del centro. Esto significa que la detección de colisiones es extremadamente inestable. Si realmente estuvieras haciendo un juego, harías algunos cálculos matemáticos para asegurarte de que si los personajes se tocan, el juego terminará.

Fíjate cómo llamamos cada vez que el malo cambia de posición. Juego de personajes () y refresca el lienzo.

Finalmente, necesitamos obtener información del jugador y mover el personaje del jugador en consecuencia. Afortunadamente, Pygame lo hace muy fácil:

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 ya habrá aprendido, el jugador también puede salir en la primera parte de este código haciendo clic en el botón de cruz.

Finalmente, una vez que termine el ciclo, ¡terminaremos el juego!

Eso nos queda:

¿Cómo creo un juego en Python?

No es exacto Cyberpunk 2077pero bueno, ¡al menos está hecho! #quemar

¿A donde vas 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 será 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 funcionalidad adicional hasta que tenga algo con lo que esté satisfecho. Lea la documentación oficial aquí.

O tome un curso en línea si desea acelerar su desarrollo y aprender habilidades comerciales. 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. Intentar Codificación con Python: formación para desarrolladores en ciernes por solo $ 49,99. Date prisa, el curso está valorado en alrededor de $ 700.

LEER  Adiós Kotlinx Synthetics, Hello View Binding | Via Delacroix Morgan | Sin fallos | Junio ​​de 2021

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba