Rozdział 21 · Projekt: kosmiczny strzelec

Pierwsza działająca wersja gry

Sekcje 21.1–21.7 razem dają działającą grę, w którą można już grać — a rozdział trwa dalej.

Zbierając razem sekcje 21.1–21.7, otrzymujemy pierwszą roboczą wersję gry, w którą można już grać — to właśnie na niej kończy się rozdział w książce papierowej. Ruch statku, wrogów i pocisków nie zależy już od liczby klatek na sekundę: prędkości są podane w pikselach na sekundę, a pojawienie się wrogów — w timerze w sekundach, tak jak w sekcjach 21.2–21.4. Następnie, od sekcji 21.9, książka kontynuuje w wersji cyfrowej: ten sam projekt przekształca się w architekturę opartą na klasach, zyskuje własną grafikę i dźwięk, system żyć, zwiększanie trudności oraz pełnoprawne stany gry.

Cyfrowa kontynuacja projektu — poniżej w spisie treści rozdziału
Sekcje 21.9 do 21.26 w pasku bocznym nie są osobnym tematem, lecz kolejnym etapem rozwoju tej samej gry: te same mechaniki, ale kod jest czystszy, dokładniejszy i bardziej niezawodny na każdym etapie.
★★ Zadanie samodzielne
Życie zamiast natychmiastowego końca

Dodaj zmienną zhizni = 3 – gdy statek zderzy się z wrogiem, odbierz jedno życie i usuń przeciwnika, zamiast natychmiast kończyć grę. (Rozdział 21.16 pokazuje gotowe rozwiązanie z tymczasową niewrażliwością.)

Challenge
Poziomy trudności

Stopniowo zmniejszaj interwał pojawiania się wrogów wraz ze wzrostem wyniku — wrogowie powinni pojawiać się częściej. (Rozdział 21.17 pokazuje, jak to zrobić bez gwałtownego skoku.)

Praktyka: Pierwsza wersja robocza
Pygame otwiera natywne okno Python – uruchomione lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →