Cómo definir el método pintar texto para un marcador

| Última modificación: 10 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Alguna vez has querido programar un marcador para un videojuego? Para ello necesitas definir varios elementos y métodos, como la actualización del marcador. Uno de esos procesos es definir el método pintar texto para un marcador, que, como su nombre indica, te permitirá pintar el texto que integra los marcadores de cualquier videojuego.

En este caso, lo haremos con el ejemplo práctico de la realización de Pong. Por tanto, te explicaremos uno de los pasos fundamentales para la creación del marcador: el proceso para definir el método pintar texto para un marcador.

Método marcador para Pygame

El marcador o contador de un juego es el elemento que lleva la cuenta de la puntuación que obtienen los jugadores para llegar a la victoria. Los marcadores los encontramos en actividades como el baloncesto o el tenis, entre muchos otros deportes, y en otras actividades digitales, como en videojuegos.

El videojuego Pong, que realizó Atari la década de 1970, también posee un contador que presenta puntos cuando un jugador gana, porque la bola no la puede tomar el otro jugador con la paleta.

Ahora, los elementos que debe tener la clase marcador es un constructor, un método pintar texto y una forma para actualizar el marcador. Todos estos enlazados con la librería de Python, Pygame, para el desarrollo de videojuegos en formato 2D.

Definir el constructor de la clase marcador

Antes de continuar con el proceso para definir el método para pintar texto para un marcador, tendrás que construir el marcador del juego. Para ello, en un post pasado de KeepCoding ahondamos en cómo establecer el constructor de la clase marcador. Por tanto, aquí te traemos este apartado de la clase para que lo puedas incluir con el método que explicaremos ahora:

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

def __init__ (self, centro_h, color):

self.letra_marcador = pygame.font.SysFont (‘arial’, 100)

self.color = color

self.centro_h = pygame.display.get_surface( ).get_width( ) / 2

texto_uno = self.pintar_texto (1)

texto_dos = self.pintar_texto (2)

En este paso lo que hemos hecho ha sido definir la clase, instanciar los textos para el marcador con las características del color, tamaño y fuente y la posición donde se localizará sobre la pantalla. Hemos instanciado los elementos, pero aún no hemos definido un método para pintar el texto de la clase marcador.

Definir el método pintar texto para un marcador

Ya que has refrescado el proceso para establecer un constructor para la clase marcador dentro de la construcción del juego Pong, estás listo para definir el método, es decir, una acción que se va a realizar más de una vez dentro de la clase.

Este método estará encargado de pintar el texto cada vez que se reinice el juego. Allí le deberás pasar como argumento el propio objeto y al jugador. Supongamos, entonces, que cualquiera de los jugadores es jugador (1, 2)

Después, deberemos establecer cómo pintar la cadena (el número del marcador). Allí pondrás los jugadores que deberás pintar, restándole -1. Todo esto deberá construirse como una cadena.

Por otro lado, el texto a pintar será lo renderizado por la fuente con todos sus atributos. A su vez, deberás instanciar la posición de los textos para que puedan pintarse. Esto lo haces con métodos como texto.get.width para cada parte del marcador, según el jugador.

Aquí propondremos una condición en la que si (if) el jugador es el número 1, debe posicionarse en los atributos que se le integren; pero si no es (elif) 1, sino el número 2, se deberá calcular otra posición dados los atributos de las variables que acompañan las dimensiones de la pantalla y del marcador.

Ya sola queda hacer un return para la función que resulte en un texto y el marcador ya podrá pintarse en la ventana del programa.

Representación del método pintar – texto

A continuación, te presentamos una representación de los pasos, anteriormente establecidos, para definir el método pintar texto para un marcador:

#variables para tener en cuenta en el código de la clase

valor = (3, 7)

pos_uno = 0 #posición del jugador 1

pos_dos = 0 #posición del jugador 2

margen_h = 50

margen_sup = 10

#definición del método pintar texto

def pintar_texto (self, jugador):

#suponiendo que jugador 1, 2

cadena = str (self.valor [jugador – 1])

texto = pygame.font.Font.render (

self.letra_marcador, cadena, true, self.color)

#identificar la localización del marcador

if jugador == 1

ancho_texto = texto.get.width( )

self.pos_uno = (self.centro_h – ancho_texto – self.margen_h, self.margen_sup)

elif jugador == 2:

self.pos_dos = (self.centro_h + self.margen_h, self.margen_sup)

return texto

Sigue practicando con Python

Ya que sabes cómo definir el método pintar texto para un marcador y estás más cerca de finalizar el proceso para construir la clase marcador en tu videojuego, deberás seguir instaurando otros elementos fundamentales para el programa si buscas dominarlo.

Por eso, si necesitas ayuda para agregar todos estos elementos a tus programas y seguir enriqueciendo el código, te recomendamos visitar el programa de Aprende a Programar desde Cero Full Stack Jr. Bootcamp. Si te interesa y quieres convertirte en un programador experto, ¡no dudes en apuntarte!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.