Punktestand
Lektion 34 von 40 im Kurs Spiele mit Pygame erstellen von Coddy.
Ein Ball, der rechts hinausfliegt, bringt dem linken Spieler einen Punkt, und umgekehrt. Teile die Prüfung in zwei Fälle auf, damit jede Seite weiß, wer gepunktet hat:
if ball.left > 600:
left_score += 1
ball.center = (300, 200)
vx = -vx
if ball.right < 0:
right_score += 1
ball.center = (300, 200)
vx = -vxZeige beide Punktestände in einer Zeile oben mittig an: f"{left_score} : {right_score}" ergibt 2 : 1.
Aufgabe
Einfach- Erstelle vor der Schleife
font = pygame.font.Font(None, 36),left_score = 0undright_score = 0. - Teile das Zurücksetzen in zwei Fälle auf: Ein Ball hinter dem rechten Rand erhöht
left_scoreum 1, ein Ball hinter dem linken Rand erhöhtright_scoreum 1. In beiden Fällen wird der Ball in die Mitte gesetzt undvxumgekehrt. - Zeichne
f"{left_score} : {right_score}"in(240, 240, 240), zentriert bei(300, 30).
Probier es selbst
import pygame
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pong")
clock = pygame.time.Clock()
ball = pygame.Rect(293, 193, 14, 14)
vx, vy = 5, 4
left = pygame.Rect(20, 160, 12, 80)
right = pygame.Rect(568, 160, 12, 80)
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_w]:
left.y -= 6
if keys[pygame.K_s]:
left.y += 6
if keys[pygame.K_UP]:
right.y -= 6
if keys[pygame.K_DOWN]:
right.y += 6
left.clamp_ip(screen.get_rect())
right.clamp_ip(screen.get_rect())
ball.x += vx
ball.y += vy
if ball.top <= 0 or ball.bottom >= 400:
vy = -vy
if ball.colliderect(left):
vx = abs(vx)
if ball.colliderect(right):
vx = -abs(vx)
if ball.right < 0 or ball.left > 600:
ball.center = (300, 200)
vx = -vx
screen.fill((30, 30, 46))
pygame.draw.rect(screen, (80, 160, 255), left)
pygame.draw.rect(screen, (235, 80, 80), right)
pygame.draw.rect(screen, (255, 196, 0), ball)
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üllen4Zwei Spieler und ein Ball
Der BallAbprallenÜbe selbstständig: Pygame-Playground