Umieść gwiazdy
Część sekcji Python w oknie gry ścieżki Pygame w Coddy. Lekcja 29 z 32.
Ostatnie cztery lekcje składają się na jedną niewielką grę, Night Sky: klikasz, aby umieszczać gwiazdy, które migoczą, licznik pokazuje ich liczbę, a gdy jest ich dwadzieścia, niebo jest pełne. Każda lekcja zaczyna się od kodu z poprzedniej.
Gra wykorzystuje to, czego nauczyłeś się w tej sekcji. Gwiazdy to lista pozycji, utworzona jako pusta przed pętlą gry. Kliknięcie dodaje do niej pozycję, a pętla for rysuje każdą gwiazdę z listy w każdej klatce:
stars = []
if event.type == pygame.MOUSEBUTTONDOWN:
stars.append(event.pos)
for star in stars:
pygame.draw.circle(screen, (255, 255, 255), star, 3)Rysuj gwiazdy po księżycu i ziemi, aby były widoczne na wierzchu. Gwiazda umieszczona na księżycu znajdzie się więc przed nim, jakby była bliżej.
Wyzwanie
ŁatwyUruchom program Night Sky:
- Utwórz
stars = []przed pętlą gry. - Po wystąpieniu zdarzenia
MOUSEBUTTONDOWNdodajevent.posdostars. - Po narysowaniu księżyca i ziemi narysuj każdą gwiazdę jako białe koło
(255, 255, 255)o promieniu 3.
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
# Wprowadzaj zmiany tutaj, raz na klatkę.
screen.fill((20, 24, 48))
# Rysuj tutaj, po wypełnieniu tła.
pygame.draw.circle(screen, (240, 230, 160), (560, 80), 40)
pygame.draw.rect(screen, (14, 16, 30), (0, 430, 640, 50))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Wszystkie lekcje w sekcji Python w oknie gry
Poćwicz samodzielnie: Edytor online Pygame