Tytuł Misja Python. Utwórz swoją kosmiczną grę! Autor Sean McManus Język polski Wydawnictwo Wydawnictwo Naukowe PWN Tłumaczenie Natalia Chounlamany-Turalska ISBN 978-83-01-20532-4 Rok wydania 2019 Warszawa Wydanie 1 liczba stron 330 Format epub, mobi Spis treści PODZIĘKOWANIA XVIII WPROWADZENIE 1 Jak korzystać z tej książki 2 Co można znaleźć w tej książce? 3 Instalowanie oprogramowania 5 Instalowanie oprogramowania na Raspberry Pi 5 Instalowanie programu Python w systemie Windows 5 Instalowanie oprogramowania Pygame Zero w systemie Windows 7 Instalowanie oprogramowania na innych maszynach 8 Pobieranie plików gry 9 Pobieranie i rozpakowywanie plików na komputerze Raspberry Pi 9 Rozpakowywanie pliku na komputerze Windows 10 Co posiada plik ZIP 11 Uruchamianie gry 12 Uruchamianie programów Pygame Zero na komputerze Raspberry Pi 12 Uruchamianie programów Pygame Zero w systemie Windows 13 Jak grać 15 1. PIERWSZY SPACER KOSMICZNY 17 Uruchamianie edytora języka Python 18 Uruchamianie edytora IDLE w systemie Windows 10 19 Uruchamianie edytora IDLE w systemie Windows 8 19 Uruchamianie edytora IDLE na komputerze Raspberry Pi 20 Wprowadzenie do powłoki Pythona 20 Wyświetlanie tekstu 20 Misja szkoleniowa nr 1 22 Wyświetlanie i stosowanie liczb 23 Wprowadzenie do trybu skryptu 23 Tworzenie obrazu nieba 24 Wyjaśnienie dotychczasowego kodu programu 28 Zatrzymywanie programu Pygame Zero 30 Dodawanie planety i statku kosmicznego 31 Zmiana perspektywy: lot za planetę 32 Misja szkoleniowa nr 2 34 Spacer kosmiczny! 34 Misja szkoleniowa nr 3 36 Wyjaśnienie listingu programu spacer kosmiczny 36 Misja szkoleniowa nr 4 39 Gotowi do lotu? 39 Podsumowanie misji 41 2. LISTY MOGĄ OCALIĆ ŻYCIE 43 Tworzenie pierwszej listy: lista kontrolna startu 44 Wyświetlanie listy 45 Dodawanie i usuwanie elementów 45 stosowanie numerów indeksu 46 Wstawianie elementu 46 Uzyskiwanie dostępu do wybranego elementu 47 Zastępowanie elementu 48 eliminowanie elementu 48 Misja szkoleniowa nr 1 49 Tworzenie listy kontrolnej spaceru kosmicznego 49 Misja szkoleniowa nr 2 50 Lista list: instrukcja latania 50 Tworzenie listy list 50 Misja szkoleniowa nr 3 52 Odnajdowanie elementu w podręczniku latania 52 Łączenie list 53 Sporządzanie map na podstawie list: pokój awaryjne 54 Sporządzanie map 55 Odnajdowanie wyposażenia awaryjnego 56 Misja szkoleniowa nr 4 58 Zamienianie obiektów w pomieszczeniu 58 Misja szkoleniowa nr 5 59 Gotowi do lotu? 60 Podsumowanie misji 61 3. POWTARZAJ ZA MNĄ 63 Wyświetlanie map przy użyciu pętli 64 Tworzenie mapy pokoju 64 Wyświetlanie mapy w pętli 65 Misja szkoleniowa nr 1 67 Zapętlanie pętli 67 Zagnieżdżanie pętli w celu otrzymania współrzędnych pokoju 67 Porządkowanie widoku mapy 70 Misja szkoleniowa nr 2 71 Wyświetlanie trójwymiarowego obrazu pokoju 71 Zrozumienie sposobu rysowania pokoju 73 Wyznaczanie miejsca rysowania elementu 75 Misja szkoleniowa nr 3 76 Gotowi do lotu? 78 Podsumowanie misji 79 4. BUDOWANIE STACJI KOSMICZNEJ 81 Automatyzacja procesu tworzenia mapy 81 W jaki sposób działa automatyczny generator map 82 Tworzenie informacji mapy 83 Pisanie kodu MAPA_GRY 85 Testowanie i debugowanie kodu 89 Generowanie pokoi na podstawie danych 91 W jaki sposób działa kod wytwarzający wnętrze 93 Tworzenie podstawowego kształtu pokoju 95 Dodawanie wyjść 97 Testowanie programu 98 Misja szkoleniowa nr 1 99 Badanie stacji kosmicznej w 3D 100 Misja szkoleniowa nr 2 104 Tworzenie własnych map 104 Gotowi do lotu? 105 Podsumowanie misji 106 5. PRZYGOTOWANIE WYPOSAŻENIA STACJI KOSMICZNEJ 107 Tworzenie prostego słownika planet 107 Zrozumienie różnicy pomiędzy listą a słownikiem 108 Tworzenie ściągi z astronomii 108 Wykrywanie błędów 110 Umieszczanie list w słownikach 112 Misja szkoleniowa nr 1 111 wydobywanie danych z listy w słowniku 114 Misja szkoleniowa nr 2 115 Tworzenie słownika obiektów na stacji kosmicznej 116 Dodawanie pierwszych obiektów w grze Escape 117 Wyświetlanie obiektów przy użyciu eksploratora stacji 120 Projektowanie pokoju 121 Misja szkoleniowa nr 3 123 Dodawanie pozostałych obiektów 123 Misja szkoleniowa nr 4 129 Gotowi do lotu? 129 Podsumowanie misji 130 6. INSTALOWANIE WYPOSAŻENIA STACJI KOSMICZNEJ 131 Objaśnienie słownika danych scenografii 131 Dodawanie danych scenografii 134 Dodawanie ogrodzenia na powierzchni planety 137 Dodawanie scenografii do mapy pokoju 141 Dopracowywanie funkcji Explorer do zwiedzania stacji kosmicznej 145 Misja szkoleniowa nr 1 147 Gotowi do lotu? 148 Podsumowanie misji 149 7. PRZEPROWADZKA NA STACJĘ KOSMICZNĄ 151 Pojawienie się na stacji kosmicznej 152 Wyłączenie funkcji nawigowania po pokojach w sekcji EXPLORER 152 Dodawanie nowych zmiennych 153 Teleportowanie na stację kosmiczną 156 Dodawanie kodu do poruszania się 158 Wyjaśnienie kodu do animacji ruchu 161 Misja szkoleniowa nr 1 166 Przechodzenie między pokojami 166 Gotowi do lotu? 171 Podsumowanie misji 172 8. NAPRAWIANIE STACJI KOSMICZNEJ 173 Przesyłanie informacji do funkcji 174 Tworzenie funkcji, która odbiera informacje 174 Jak to działa 175 Misja szkoleniowa nr 1 176 Dodawanie zmiennych dla cieni, klarowności ścian i odcieni 176 likwidowanie sekcji EXPLORER 179 Dodawanie sekcji WYŚWIETLANIE 181 Dodawanie funkcji do rysowania obiektów 182 Rysowanie pokoju 185 Zrozumienie nowej funkcji draw() 187 Pozycjonowanie pokoju na ekranie 191 Tworzenie efektu znikania i pojawiania się przedniej ściany 194 Wyświetlanie podpowiedzi, wskazówek i ostrzeżeń 197 Wyświetlanie nazwy pokoju po wejściu do pokoju 199 Gotowi do lotu? 201 Podsumowanie misji 202 9. ROZPAKOWYWANIE RZECZY OSOBISTYCH 203 Dodawanie danych o rekwizytach 203 Dodawanie rekwizytów do mapy pokoju 207 Odnajdowanie numeru obiektu na mapie pokoju 211 Podnoszenie obiektów 214 Podnoszenie rekwizytów 214 Dodawanie sterowania przy pomocy klawiatury 216 Dodawanie funkcji wyświetlania ekwipunku 217 Wyświetlanie ekwipunku 218 Dodawanie obsługi klawisza Tab 221 Testowanie ekwipunku 223 Upuszczanie obiektów 223 Misja szkoleniowa nr 1 226 Badanie obiektów 226 Misja szkoleniowa nr 2 229 Gotowi do lotu? 229 Podsumowanie misji 230 10. ZRÓB COŚ POŻYTECZNEGO 231 Dodawanie funkcji sterowania klawiaturą do użytkowania obiektów 232 Dodawanie standardowych komunikatów do stosowania obiektów 232 Dodawanie zmiennych postępu w grze 235 Dodawanie działań do określonych obiektów 236 Łączenie obiektów 239 Misja szkoleniowa nr 1 242 Dodawanie sekwencji ukończenia gry 243 Badanie obiektów 244 Gotowi do lotu? 244 11. URUCHAMIANIE DRZWI BEZPIECZEŃSTWA 245 Planowanie pozycji drzwi bezpieczeństwa 246 Rozmieszczanie drzwi 247 Dodawanie funkcji dostępu 248 Otwieranie i zamykanie drzwi 250 Dodawanie animacji drzwi 253 Misja szkoleniowa nr 1 255 Zamykanie samoczynnych drzwi 255 Dodawanie teleportu 257 Misja szkoleniowa nr 2 258 Uruchamianie drzwi zabezpieczających dostęp do śluzy powietrznej 258 usuwanie wyjść z własnego projektu gry 262 Misja ukończona? 262 Gotowi do lotu? 263 12. UWAGA! NIEBEZPIECZEŃSTWO! DODAWANIE ZAGROŻEŃ 265 Dodawanie paska stanu powietrza 266 Wyświetlanie pasków powietrza i energii 266 Dodawanie funkcji do odliczania ilości powietrza 268 Rozpoczęcie odliczania i włączenie alarmu 271 Misja szkoleniowa nr 1 272 Dodawanie ruchomych zagrożeń 273 Dodawanie danych zagrożenia 274 obniżanie poziomu energii gracza 275 Uruchamianie i zatrzymywanie zagrożeń 276 Budowanie mapy zagrożeń 280 Inicjowanie ruchu niebezpiecznych obiektów 281 Wyświetlanie zagrożeń w pokoju 284 Misja szkoleniowa nr 2 285 Powstrzymywanie gracza przed przechodzeniem poprzez zagrożenia 286 Dodawanie toksycznych kałuż 286 Ostatnie poprawki 287 Wyłączanie teleportacji 288 Oczyszczanie danych 288 Czas rozpocząć przygodę 289 Twoja kolejna misja: dopasowanie gry 290 Gotowi do lotu? 291 Podsumowanie misji 292 A ESCAPE: PEŁNY LISTING GRY 293 B tabela ZMIENNYCH, LIST I SŁOWNIKÓW 327 C DEBUGOWANIE KODU 331 Wcięcia 332 Wielkość liter 333 Nawiasy okrągłe, kwadratowe i klamrowe 334 Dwukropki 334 Przecinki 334 Pliki obrazów i dźwięków 334 Literówki 335 SKOROWIDZ 337