Cómo definir la clase pelota para Arkanoid con Pygame

Autor: | Última modificación: 18 de julio de 2022 | Tiempo de Lectura: 4 minutos
Temas en este post: , ,

En muchos videojuegos hay un elemento que puede ser una pelota, una bola o un balón, ¿te has preguntado cómo puedes crearlas? En este post, te contamos cómo definir la clase pelota para Arkanoid con Pygame. La pelota es un objeto principal para Arkanoid, pues es el elemento que interactúa con el usuario y con los demás elementos del programa, es decir, la raqueta y el bloque de ladrillos. La pelota la lanza el jugador gracias a la raqueta para quebrar los ladrillos que se encuentran en el borde superior.

Por tanto, hoy te comentamos cómo definir la clase pelota para Arkanoid con Pygame.

Librerías de Python

Python es uno de los lenguajes de programación más utilizados actualmente, dada la cantidad de herramientas y extensiones que pueden integrarse en los programas de código que realizas con este lenguaje. Su simpleza y versatilidad hace que sea un lenguaje perfecto tanto para los programadores novatos como para programadores expertos en el código.

Una de las herramientas más apreciadas por los expertos cuando programan con Python es el uso de librerías externas para jugar con sus herramientas y poder desarrollar programas de cualquier código. Las librerías de Python permiten codificar aún más las características de cualquiera de los programas que estés construyendo ahora mismo.

Funcionamiento de las librerías

Las librerías de Pygame funcionan listando una serie de módulos que cumplen con diferentes procesos sobre una objeto de un programa de código de cualquier índole. A su vez, cada módulo tiene una serie de métodos donde se especifican los procesos sobre los objetos. Esta librería se puede emplear para el desarrollo de videojuegos en formato 2D, os.path y path.lib para recurrir a la definición de rutas y os para controlar las interfaces según el sistema operativo, entre otras librerías prácticas para los programas con Python.

¿Cómo definir la clase pelota para Arkanoid con Pygame?

Definición de la clase pelota

En un primer momento para definir la clase pelota para Arkanoid con Pygame, deberás definir dicha clase pelota en el módulo o fichero de entidades.py. Este es un módulo del que hemos hablado más en profundidad en el post acerca de los ficheros que se utilizan para construir un programa de código para reproducir un juego de Arkanoid con la librería Pygame.

En la definición de la clase pelota, deberás ingresar un argumento de tipo sprite, pues es a partir de la existencia de los sprite o rectángulos que la pelota puede ser creada y, por otro lado, puede interactuar con otros sprites o elementos del videojuego.

Definición del constructor

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Una vez hayas ingresado la función class Pelota, deberás establecer el constructor de la clase. Este, como cualquier otro constructor, debe ingresar en el mismo objeto como constructor y otros elementos si son necesarios. Aun así, este es un paso que veremos ahora, pues el argumento de tipo **kwargs para trabajar las keywords o nombres también debe aparecer.

Si bien ya tenemos el constructor de la clase y podemos interactuar con ella, no está interactuando con las distintas clases que existen en el juego. Por tanto, debes construir la clase como una herencia de una clase padre del mismo programa. Para ello debes utilizar la función super(), antes de inicializar el constructor.

Cargar imagen de la pelota

Ahora que tienes la herencia, puedes cargar la imagen que corresponderá a la visualización de la pelota. Este proceso lo cumples con la función del módulo de imágenes de Pygame, pg.image.load, después de haberlo definido con la variable self.image. A esta función le deberás ingresar la ruta de la imagen por medio de la librería os.path, con el método os.path.join.

Obtener la posición de la pelota

Por último, deberás definir la posición donde se dibujará la imagen de la pelota en el rectángulo. Este paso es importante, pues es una variable que podrás definir tú mismo, así pues, es necesario pasar como argumento a **kwargs en la función del módulo rect de Pygame, self.image.get_rect(). Además, debes definirlo como argumento en el constructor de la clase pelota.

Representación de los pasos para definir la clase pelota para Arkanoid con Pygame

A continuación te presentamos una representación de los pasos para definir la clase pelota para Arkanoid con Pygame:

#En el módulo o fichero de entidades.py

#definición de la clase pelota

class Pelota (Sprite)

def __init__ (self, **kwargs)

super ().__init__()

self.image = pg.image.load (

os.path.join (‘resources’, ‘images’, ‘nombre de la imagen .png’)

self.rect = self.image.get_rect (**kwargs)

De esta manera, ya tienes creada tu pelota para poder jugar en la escena de partida en Arkanoid.

Continúa programando con Python

Definir la clase pelota para Arkanoid con Pygame es un ejercicio práctico que puedes reproducir en el desarrollo de otros videojuegos. En este proceso observas cómo funcionan las librerías de Python y los componentes de una clase, pero todavía queda mucho por aprender.

Si quieres seguir realizando otros ejercicios prácticos para desarrollar en Python, tanto funcionales como de videojuegos, te recomendamos visitar el temario del Aprende a Programar desde Cero Full Stack Jr. Bootcamp. Esta es una gran oportunidad para seguir formándote y convertirte en un programador en pocos meses. ¡Inscríbete!

[email protected]

¿Sabías que hay más de 40.000 vacantes para desarrolladores web sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!