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

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

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

class Marcador

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

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!

[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!