Menu
CoddyTech

Lleva la puntuación

Lección 13 de 40 del curso Crea juegos con Pygame de Coddy.

El texto en pygame es una imagen de las palabras. Un objeto pygame.font.Font convierte una cadena en una superficie, y dibujas esa superficie con screen.blit.

font = pygame.font.Font(None, 32)

text = font.render(f"Score: {score}", True, (240, 240, 240))
screen.blit(text, (10, 10))

Font(None, 32) es la fuente integrada de pygame, de 32 píxeles de alto. Créala una vez, antes del bucle. render(text, True, color) dibuja las palabras; True suaviza sus bordes. blit(surface, (x, y)) copia la imagen en la pantalla con la esquina superior izquierda en (x, y).

Representa el texto dentro del bucle, después del relleno. La puntuación cambia, y una imagen creada una sola vez sigue mostrando el número anterior.

challenge icon

Desafío

Fácil
  1. Antes del bucle, crea font = pygame.font.Font(None, 32) y score = 0.
  2. Suma 1 a score cuando la cesta atrape un bloque.
  3. Después de dibujar el bloque, renderiza f"Score: {score}" en (240, 240, 240) y dibújalo en (10, 10).

Pruébalo tú mismo

import random
import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Catch the Blocks")
clock = pygame.time.Clock()

basket = pygame.Rect(200, 330, 80, 16)
block = pygame.Rect(220, 0, 20, 20)

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        basket.x -= 8
    if keys[pygame.K_RIGHT]:
        basket.x += 8
    basket.clamp_ip(screen.get_rect())

    block.y += 3
    if block.top > 360:
        block.y = -20
        block.x = random.randint(0, 460)
    if block.colliderect(basket):
        block.y = -20
        block.x = random.randint(0, 460)

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (80, 160, 255), basket)
    pygame.draw.rect(screen, (235, 80, 80), block)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Crea juegos con Pygame

Practica por tu cuenta: Playground de Pygame