Menu
CoddyTech

Leben

Lektion 14 von 40 im Kurs Spiele mit Pygame erstellen von Coddy.

Ein Fehlschuss sollte etwas kosten. Gib dem Spieler 3 Leben und ziehe jedes Mal eines ab, wenn ein Block unten vorbeifällt. Die Stelle im Code, an der das passiert, hast du bereits: den Zweig block.top > 360.

if block.top > 360:
    block.y = -20
    block.x = random.randint(0, 460)
    lives -= 1

Zeige die Leben so an wie den Punktestand: Rendere in jedem Frame f"Lives: {lives}" und blitte es in die obere rechte Ecke bei (370, 10).

challenge icon

Aufgabe

Einfach
  1. Lege vor der Schleife lives = 3 fest.
  2. Ziehe eines ab, wenn ein Block über den unteren Rand hinausfällt.
  3. Zeichne f"Lives: {lives}" in (240, 240, 240) und blitte es an Position (370, 10).

Probier es selbst

import random
import pygame

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

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

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)
        score += 1

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (80, 160, 255), basket)
    pygame.draw.rect(screen, (235, 80, 80), block)
    score_text = font.render(f"Score: {score}", True, (240, 240, 240))
    screen.blit(score_text, (10, 10))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Spiele mit Pygame erstellen

Übe selbstständig: Pygame-Playground