Menu
CoddyTech

Platziere die Sterne

Teil des Abschnitts Python in einem Spielfenster der Pygame-Journey von Coddy. Lektion 29 von 32.

Die letzten vier Lektionen bauen ein kleines Spiel, Night Sky: Du klickst, um Sterne zu platzieren, sie funkeln, ein Zähler zeigt an, wie viele es sind, und bei zwanzig ist der Himmel voll. Jede Lektion baut auf deinem Code aus der vorherigen auf.

Das Spiel verwendet, was in diesem Abschnitt vermittelt wurde. Die Sterne sind eine Liste von Positionen, die vor der Spielschleife leer erstellt wird. Ein Klick fügt seine Position hinzu, und eine for-Schleife zeichnet in jedem Frame jeden Stern in der Liste:

stars = []

        if event.type == pygame.MOUSEBUTTONDOWN:
            stars.append(event.pos)

    for star in stars:
        pygame.draw.circle(screen, (255, 255, 255), star, 3)

Zeichne die Sterne nach dem Mond und dem Boden, damit sie darüber liegen. Ein Stern, der auf dem Mond platziert wird, liegt dann davor, als wäre er näher.

challenge icon

Aufgabe

Einfach

Starte den Nachthimmel:

  1. Erstelle stars = [] vor der Spielschleife.
  2. Füge bei einem MOUSEBUTTONDOWN-Ereignis event.pos zu stars hinzu.
  3. Zeichne nach dem Mond und dem Boden jeden Stern als weißen Kreis mit dem Radius 3 und der Farbe (255, 255, 255).

Probier es selbst

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Richte hier alles ein, bevor die Spielschleife beginnt.

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

    # Ändere hier die Dinge einmal pro Frame.

    screen.fill((20, 24, 48))
    # Zeichne hier, nachdem der Hintergrund gefüllt wurde.
    pygame.draw.circle(screen, (240, 230, 160), (560, 80), 40)
    pygame.draw.rect(screen, (14, 16, 30), (0, 430, 640, 50))

    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Alle Lektionen in Python in einem Spielfenster

Übe selbstständig: Pygame-Playground