Menu
CoddyTech

Auf dem Bildschirm bleiben

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

Wenn du lange genug nach rechts gehst, verlässt das Quadrat das Fenster. Damit es drin bleibt, begrenze x und y, nachdem du sie verschoben hast.

min(a, b) liefert die kleinere Zahl und max(a, b) die größere. Zusammen halten sie eine Zahl zwischen zwei Grenzen:

x = max(0, min(x, 480 - 40))

min(x, 440) verhindert, dass x über 440 hinausgeht, und max(0, ...) verhindert, dass es unter 0 fällt. Warum 440 und nicht 480? x ist die linke Seite des Quadrats, die rechte Seite liegt also bei x + 40. Bei 440 berührt die rechte Seite den Fensterrand.

Für y gilt dasselbe, mit der Höhe des Fensters.

challenge icon

Aufgabe

Einfach

Begrenze nach den vier Pfeiltastenprüfungen und vor dem Füllen das Quadrat auf das Fenster mit den Maßen 480 mal 360: Begrenze x auf den Bereich von 0 bis 440 und y auf den Bereich von 0 bis 320.

Probier es selbst

import pygame

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

x, y = 220, 160

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

    keys = pygame.key.get_pressed()
    speed = 4
    if keys[pygame.K_SPACE]:
        speed = 8
    if keys[pygame.K_LEFT]:
        x -= speed
    if keys[pygame.K_RIGHT]:
        x += speed
    if keys[pygame.K_UP]:
        y -= speed
    if keys[pygame.K_DOWN]:
        y += speed

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), (x, y, 40, 40))
    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