Menu
CoddyTech

Dwie paletki

Lekcja 31 z 40 w kursie Twórz gry w Pygame w Coddy.

Dwóch graczy korzysta z jednej klawiatury. Lewy gracz używa klawiszy W i S, a prawy — strzałek w górę i w dół. Każda paletka jest obiektem Rect, który porusza się tylko w górę i w dół.

left = pygame.Rect(20, 160, 12, 80)
right = pygame.Rect(568, 160, 12, 80)

Klawisze literowe to pygame.K_w, pygame.K_s i tak dalej; używaj małych liter. Odczytaj wszystkie cztery klawisze za pomocą jednego wywołania pygame.key.get_pressed(), aby obaj gracze mogli jednocześnie trzymać wciśnięte klawisze.

Utrzymuj obie paletki w oknie za pomocą clamp_ip, tak jak w przypadku koszyka.

challenge icon

Wyzwanie

Łatwy
  1. Przed pętlą utwórz left = pygame.Rect(20, 160, 12, 80) i right = pygame.Rect(568, 160, 12, 80).
  2. Przesuwaj left o 6 pikseli w górę lub w dół za pomocą klawiszy W i S, a right za pomocą klawiszy strzałek w górę i w dół. Utrzymuj oba w oknie.
  3. Rysuj left na niebiesko (80, 160, 255), a right na czerwono (235, 80, 80).

Spróbuj swoich sił

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

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

    ball.x += vx
    ball.y += vy
    if ball.top <= 0 or ball.bottom >= 400:
        vy = -vy

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), ball)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Twórz gry w Pygame

Poćwicz samodzielnie: Edytor online Pygame