¿Cómo hacer una clase paleta en Python?

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

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Has escuchado hablar de uno de los primeros videojuegos que se hizo basado en ping-pong? ¿Sabes qué es Pong o cómo hacer una clase paleta en Python? Los ejercicios prácticos son fundamentales para tu aprendizaje en programación, pues es una forma de poner a prueba tus habilidades y seguir mejorando. Por eso, creemos que es indispensable que sepas cómo hacer una clase paleta en Python para que sigas practicando la escritura de códigos.

Particularidades de Pong

Pong es uno de los primeros videojuegos que salieron al mercado para una videoconsola por la compañía Atari. En términos generales, para jugar a Pong se necesitaban dos personas que tenían dos palas, como las de ping-pong. Se simulaba con dos rectángulos en vertical y dos teclas, una desplazada hacia arriba y otra desplazada hacia abajo.

A su vez, el juego estaba acompañado de una pelota que rebotaba en función del ángulo con el que entraba y, por otro lado, rebotaba de la misma manera, en el mismo ángulo, cuando salía. Por otra parte, hay una línea vertical que separa las dos mitades del campo como si fuera la red de una mesa de ping-pong real. En la parte superior se encuentra la puntuación.

El objetivo de Pong es que cada jugador debe intentar darle siempre a la pelota para que el segundo jugador falle.

¿Cómo hacer una clase paleta en Python?
Videojuego Pong

¿Cómo hacer una clase paleta en Python?

Ahora que ya tienes claro de qué va Pong y algunas de sus particularidades, estás listo para entender cómo hacer una clase paleta en Python, con colaboración de la librería Pygame. Es importante aclarar que la clase paleta es uno de los elementos necesarios para crear el juego. Sin embargo, en conjunto, deberás crear la pelota, la clase Pong y los jugadores, para así conformar un videojuego Pong completo. Cada uno de estos elementos los podrás ver en otros artículos de KeepCoding.

Entonces, esta clase se constituye para guardar los datos y atributos de la paleta. Para construirla, debes seguir los pasos expuestos a continuación:

  1. En primer lugar, deberás estar seguro de que tienes la librería Pygame importada en tu programa de código.
  2. Después, podrás definir la clase paleta con el nombre que desees. Recuerda que entendemos nuestra paleta como un rectángulo en el juego, por eso deberás buscar la forma de construirla desde los módulos de la librería Pygame. Esto quiere decir que debemos hacer que paleta sea un tipo específico de un rectángulo, por lo que utilizarás una herencia. Es decir, estarás instanciando paleta con todos los métodos de pygame.React y otros objetos que programes.
  3. Ahora, deberás realizar un rectángulo con el constructor del rectángulo dentro de la clase paleta. Esto lo haces llamando a una clase por encima de este para poder definirlo con la función supper, a la que se le pasarán dos parámetros: una de ellas es nuestra propia clase.
    Es importante saber que, cuando pintamos cosas en una pantalla, la coordenada 0,0 está en la esquina superior izquierda, hacia abajo y hacia el lado derecho es positivo.
  4. A continuación, podrás integrarle los demás atributos que desees a cada una de tus paletas. En términos del juego de Pong, deberás instanciar en la pantalla del programa dos paletas, pues tan solo tener la clase es tener un objeto abstracto. Llegado a este punto, deberás pintar la paleta en la class de Pong y, después, dibujar en el bucle del programa.
  5. De igual forma, deberás integrar las dimensiones de la paleta en la misma clase Pong.

import Pygame

🔴 ¿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

class Paleta (pygame.React)

def __init__ (self, *args, **kwargs) cualquier argumento que vanga después de self, irá directamente al bloque de args

#llamar al padre de paleta, llamar al constructor

#aquí puedes utilizar el formato (*args, **kwargs) para que sea Pong quien decida donde pintar la paleta. Se pueden pasar parámetros sin nombre pero con un orden, los nombres se identifican con key.

supper (Paleta, self).__init__ (0, 0, 10, 50)

self.color = color

#en la clase Pong, donde está creada la pantalla, deberás crear e instanciar las dos paletas del juego. Esto lo haces debajo de donde has creado la pantalla.

self.pantalla = pygame.display.set_mode ((self._ANCHO, self._ALTO)).

self.jugador1 = Paleta(0, self._ALTO / 2- self._PALETA_ALTO / 2

self._PALETA_ANCHO
self._PALETA_ALTO)

self.jugador2 = Paleta(self._ANCHO-self._PALETA_ANCHO,
self._ALTO / 2- self._PALETA_ALTO / 2

self._PALETA_ANCHO
self._PALETA_ALTO)

#en el bucle del programa deberás pintar la paleta

pygame.draw.rect (self.pantalla (255, 255, 255), self.jugador1)

pygame.draw.rect (self.pantalla (255, 255, 255), self.jugador2)

#dimensiones de la paleta en clase Pong

_PALETA_ANCHO = 10

_PALETA_ALTO = 40

Una vez sigas estos pasos, ya sabrás cómo hacer una clase paleta en Python.

Sigue escribiendo en Python

Los ejercicios prácticos, como te has podido dar cuenta después de haber terminado la explicación sobre cómo hacer una clase paleta en Python, son fundamentales para poder convertirte en un experto en la programación. Esto es más interesante cuando practicas con ejercicios que te interesen o diviertan, como es el caso de un juego en Python.

Si quieres seguir practicando con ejercicios guiados por programadores profesionales, te recomendamos echarle un vistazo al programa de nuestro Bootcamp Aprende a Programar desde Cero. Si te interesa conocer más sobre Python y sobre el pensamiento computacional en general, no dudes en apuntarte. ¡Te esperamos para seguir programando!

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python, Java y Spring Boot en solo 6 meses.