Menu
CoddyTech

Die Schleifenvariable verwenden

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

Die Schleifenvariable ist eine Zahl wie jede andere, also kannst du mit ihr rechnen und mehr als nur die Position verändern. Hier ist jeder Planet größer und gelber als der vorherige:

for i in range(6):
    x = 70 + i * 100
    radius = 5 + i * 5
    colour = (255, 80 + i * 30, 120)
    pygame.draw.circle(screen, colour, (x, 240), radius)

Gehe es für i = 2 durch: x ist 270, der Radius 15, die Farbe (255, 140, 120). Für i = 5: x ist 570, der Radius 30, die Farbe (255, 230, 120).

Variablen, die innerhalb des Schleifenrumpfs erstellt werden, etwa x und radius, erhalten bei jedem Durchlauf neue Werte. Wenn du die Bestandteile zuerst benennst, bleibt die Zeichenzeile kurz und übersichtlich.

Behalte jede Farbzahl zwischen 0 und 255. Hier ist der größte Grünwert 80 + 5 * 30, also 230, daher ist er unbedenklich.

challenge icon

Aufgabe

Mittel

Ändere die Schleife so, dass Planet i:

  1. wie bisher bei (70 + i * 100, 240) zentriert ist;
  2. einen Radius von 5 + i * 5 hat, von 5 bis 30;
  3. die Farbe (255, 80 + i * 30, 120) hat.

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 Bildschirm gefüllt wurde.
    for i in range(6):
        pygame.draw.circle(screen, (255, 80, 120), (70 + i * 100, 240), 10)

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

pygame.quit()

Alle Lektionen in Python in einem Spielfenster

Übe selbstständig: Pygame-Playground