Das Ziel erreichen
Lektion 8 von 40 im Kurs Spiele mit Pygame erstellen von Coddy.
Ein Spiel braucht ein Ziel. Zeichne ein grünes Quadrat in die untere rechte Ecke. Wenn das Quadrat des Spielers hineingelangt, gewinnt der Spieler.
Das Ziel befindet sich bei (420, 300) und ist 60 mal 60 groß. Das Quadrat des Spielers befindet sich darin, wenn seine linke Seite bei 420 oder höher und seine Oberkante bei 300 oder höher liegt. Beides muss zutreffen, also verbinde die Bedingungen mit and.
Der Gewinnzustand muss bestehen bleiben. Speichere ihn in einer Variable, die mit False beginnt und nur zu True werden kann:
won = False
while running:
# bewege das Quadrat
if x >= 420 and y >= 300:
won = True
if won:
screen.fill((40, 110, 70))
else:
screen.fill((30, 30, 46))Sobald won den Wert True hat, setzt nichts ihn zurück. Deshalb bleibt der Hintergrund grün, selbst wenn das Quadrat das Ziel wieder verlässt.
Aufgabe
Einfach- Setze vor der Schleife
won = False. - Nachdem du
xundybegrenzt hast, setzewon = True, wennx >= 420undy >= 300. - Fülle den Bildschirm mit
(40, 110, 70), wennwonwahr ist, und andernfalls mit(30, 30, 46). - Zeichne vor dem Quadrat des Spielers das Ziel: grün
(60, 200, 120)bei(420, 300, 60, 60).
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
x = max(0, min(x, 480 - 40))
y = max(0, min(y, 360 - 40))
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (255, 196, 0), (x, y, 40, 40))
pygame.display.flip()
clock.tick(60)
pygame.quit()
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
1Die Spielschleife
Ein Fenster öffnenDen Hintergrund füllenÜbe selbstständig: Pygame-Playground