Marquer des points
Leçon 13 sur 40 du cours Créez des jeux avec Pygame de Coddy.
Le texte dans pygame est une image des mots. Un pygame.font.Font transforme une chaîne de caractères en surface, puis tu dessines cette surface avec 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) est la police intégrée de pygame, d'une hauteur de 32 pixels. Crée-la une seule fois, avant la boucle. render(text, True, color) dessine les mots ; True lisse leurs contours. blit(surface, (x, y)) copie l'image sur l'écran, son coin supérieur gauche étant placé en (x, y).
Rends le texte à l'intérieur de la boucle, après le remplissage. Le score change, et une image créée une seule fois continue d'afficher l'ancien nombre.
Défi
Facile- Avant la boucle, définis
font = pygame.font.Font(None, 32)etscore = 0. - Ajoute 1 à
scorelorsque le panier attrape un bloc. - Après avoir dessiné le bloc, rends
f"Score: {score}"dans(240, 240, 240)et affiche-le avecblità(10, 10).
Essayez vous-même
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()
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Créez des jeux avec Pygame
2Événements et collisions
Le panierUn bloc qui tombeEntraînez-vous par vous-même : Playground Pygame