Menu
CoddyTech

Rozpocznij grę

Część sekcji Projekty ścieżki Pygame w Coddy. Lekcja 30 z 31.

Stworzyłeś już w tej ścieżce każdy rodzaj gry: spadające bloki, kosmiczną strzelankę, grę typu runner, platformówkę, Snake’a, Ponga i grę z podziemiami. Teraz stwórz własną. Każda z nich opierała się na tym samym planie:

  1. Okno i pętla gry: zdarzenia, aktualizacja, rysowanie, odświeżenie, taktowanie.
  2. Coś, czym gracz porusza za pomocą klawiszy.
  3. Coś, co porusza się samo: spadające bloki, piłka, wąż, śluz.
  4. Reguła kończąca grę: kolizja, wynik, licznik czasu.
  5. Tekst informujący gracza o jego postępach.

Wybierz pomysł. Statek kosmiczny unikający asteroid. Samochód jadący między pasami. Kot łapiący ryby. Cały twój zestaw narzędzi jest do dyspozycji: obrazy z assets/images, dźwięki i muzyka, stany gry, mapa tekstowa dla każdego poziomu. Kształty też się sprawdzą: prostokąt może być czymkolwiek, jeśli porusza się jak dana rzecz.

Ta lekcja obejmuje kroki 1 i 2. Przykład na karcie „Rozwiązanie” to Rock Dodge — mała gra narysowana za pomocą kształtów, w której niebieska paletka unika spadających skał.

challenge icon

Wyzwanie

Łatwy

Uruchom swoją grę:

  1. Nadaj oknu tytuł swojej gry i ustaw jego rozmiar na co najmniej 320 na 240.
  2. Dodaj gracza, którym można poruszać klawiszami strzałek, i utrzymuj go wewnątrz okna. Narysuj go jako obraz z assets/images lub jako kształt — oba rozwiązania przejdą.

Każda gra przejdzie: testy sprawdzają tylko, czy istnieje okno, gracz porusza się po naciśnięciu klawisza strzałki, a pętla kończy się po zamknięciu okna.

Spróbuj swoich sił

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("My Game")
clock = pygame.time.Clock()

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

    screen.fill((30, 30, 46))
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Wszystkie lekcje w sekcji Projekty

Poćwicz samodzielnie: Edytor online Pygame