Menu
CoddyTech

True czy False

Część sekcji Python w oknie gry ścieżki Pygame w Coddy. Lekcja 14 z 32.

True i False to samodzielne wartości, nazywane wartościami logicznymi. Zmienna może przechowywać jedną z nich, jak przełącznik:

lamp_on = False

Instrukcja if może sprawdzać ją bezpośrednio: if lamp_on: wykonuje się, gdy zmienna ma wartość True. not odwraca tę wartość, więc lamp_on = not lamp_on przełącza lampę.

Przełącznik wymaga naciśnięcia klawisza, a nie jego przytrzymania. get_pressed() zwraca True w każdej klatce, gdy klawisz jest wciśnięty, więc lampa przełączałaby się 60 razy na sekundę. Naciśnięcie jest rejestrowane raz jako zdarzenie KEYDOWN w pętli zdarzeń na początku głównej pętli gry:

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False
    if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
        lamp_on = not lamp_on

Sekcja 2 szczegółowo omawia zdarzenia. Na razie: event.type informuje, co się stało, a event.key — który klawisz.

challenge icon

Wyzwanie

Średni

Spraw, aby klawisz spacji przełączał lampę:

  1. W części konfiguracji ustaw lamp_on = False.
  2. W pętli zdarzeń, gdy nadejdzie zdarzenie KEYDOWN dla K_SPACE, ustaw lamp_on = not lamp_on.
  3. Narysuj światło w punkcie (320, 290), o promieniu 30: (255, 220, 100), gdy lamp_on ma wartość True, w przeciwnym razie (70, 70, 90).

Spróbuj swoich sił

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Przygotuj wszystko tutaj, przed pętlą gry.

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

    # Zmieniaj rzeczy tutaj, raz na klatkę.

    screen.fill((20, 24, 48))
    # Rysuj tutaj, po wypełnieniu tła.
    pygame.draw.rect(screen, (90, 90, 110), (310, 300, 20, 180))
    pygame.draw.circle(screen, (70, 70, 90), (320, 290), 30)

    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 Python w oknie gry

Poćwicz samodzielnie: Edytor online Pygame