tanques/clase_puntuaciones.py

43 lines
1.6 KiB
Python
Raw Normal View History

2023-06-01 00:39:26 +02:00
import pygame.font
class Puntuacion:
''' Clase par mostrar informacion de la puntuacion '''
def __init__(self, juego):
''' Inicializar puntuacion '''
self.screen = juego.screen
self.screen_rect = self.screen.get_rect()
self.settings = juego.settings
self.puntos = 0
self.nivel = 1
''' Ajuste de la fuente de la puntuacion '''
self.text_color = (30, 30, 30)
self.font = pygame.font.SysFont(None,48)
self.preparar_puntuacion()
self.preparar_nivel()
def preparar_puntuacion(self):
''' Convertir puntuacion en imagen renderizada '''
score_str = "Ptos: " + str(self.puntos)
self.score_image = self.font.render(score_str, True, self.text_color)
''' Puntuacion en parte superior derecha '''
self.score_rect = self.score_image.get_rect()
self.score_rect.right = self.screen_rect.right - 20
self.score_rect.top = 40
def preparar_nivel(self):
''' convertir texto en imagen '''
nivel_str = f"Nivel: {self.nivel}"
self.nivel_image = self.font.render(nivel_str, True, self.text_color)
''' Nivel en parte sup. derecha y debajo de los puntos '''
self.nivel_rect = self.nivel_image.get_rect()
self.nivel_rect.right = self.screen_rect.right - 20
self.nivel_rect.top = 10
def mostrar_puntacion(self):
''' dibujar la puntacion '''
self.preparar_puntuacion()
self.screen.blit(self.score_image, self.score_rect)
''' dibujar el nivel '''
self.preparar_nivel()
self.screen.blit(self.nivel_image, self.nivel_rect)