Twórz własne gry komputerowe w Pythonie - Helion
ISBN: 978-8-3011-9400-0
stron: 416, Format: ebook
Data wydania: 2017-05-23
Księgarnia: Helion
Cena książki: 55,20 zł (poprzednio: 68,15 zł)
Oszczędzasz: 19% (-12,95 zł)
Z książki Twórz własne gry komputerowe w Pythonie dowiesz się, jak tworzyć gry komputerowe w tym popularnym języku programowania. Nawet jeżeli jest to twoje pierwsze spotkanie z programowaniem.
Zaczniesz od klasycznych gier, takich jak Szubienica, Zgadywanka Liczbowa oraz Kółko i Krzyżyk, aby następnie zająć się pisaniem bardziej zaawansowanych programów: poszukiwania skarbów w trybie tekstowym i animowanej gry zręcznościowej z efektami dźwiękowymi. Jednocześnie poznasz najważniejsze pojęcia programistyczne i matematyczne, które pomogą ci wykonać kolejny krok w karierze programisty.
Analizując wnikliwie kod wszystkich prezentowanych gier zdobędziesz solidne podstawy nie tylko w Pythonie, ale również w dziedzinie informatyki.
A może, wykorzystując ogromne możliwości Pythona, napiszesz swoją własną, oryginalną grę?
Osoby które kupowały "Twórz własne gry komputerowe w Pythonie", wybierały także:
- Data Science i uczenie maszynowe 87,90 zł, (71,20 zł -19%)
- ECDL Base na skróty. Syllabus v. 1.0 82,96 zł, (67,20 zł -19%)
- Zawód tester. Od decyzji do zdobycia doświadczenia. Wydanie II 58,87 zł, (49,45 zł -16%)
- Analiza danych w naukach ścisłych i technice 58,87 zł, (49,45 zł -16%)
- SCRUM. Czyli jak robić dwa razy więcej dwa razy szybciej 58,87 zł, (49,45 zł -16%)
Spis treści
Twórz własne gry komputerowe w Pythonie eBook -- spis treści
- Okładka
- Strona tytułowa
- Strona redakcyjna
- Spis treści
- Wstęp do wydania polskiego
- Wprowadzenie
- Dla kogo przeznaczona jest ta książka?
- Zawartość książki
- Jak korzystać z tej książki
- Numery wierszy i wcięcia
- Długie wiersze kodu
- Pobieranie i instalowanie Pythona
- Uruchamianie IDLE
- Pomoc online
- 1. Powłoka interaktywna
- Kilka prostych działań matematycznych
- Liczby całkowite i rzeczywiste
- Wyrażenia
- Wyznaczanie wartości wyrażeń
- Błędy składniowe
- Zapisywanie wartości w zmiennych
- Podsumowanie
- 2. Pisanie programów
- Wartości łańcuchowe
- Konkatenacja łańcuchów
- Pisanie programów w edytorze plików IDLE
- Tworzenie programu Hello World
- Zapisywanie programu
- Wykonywanie programu
- Jak działa program Hello World
- Komentarze dla programistów
- Funkcje: miniprogramy w programach
- Koniec programu
- Nadawanie nazw zmiennym
- Podsumowanie
- 3. Zgadnij, jaka to liczba
- Przykładowy przebieg gry Zgadnij, jaka to liczba
- Kod źródłowy gry Zgadnij, jaka to liczba
- Importowanie modułu random
- Generowanie liczb losowych za pomocą funkcji random.randint()
- Powitanie gracza
- Instrukcje związane z przepływem sterowania
- Używanie pętli do powtarzania kodu
- Grupowanie w bloki
- Pętle z instrukcjami for
- Wczytywanie próby gracza
- Konwersja wartości za pomocą funkcji int(), float() i str()
- Logiczny typ danych
- Operatory porównania
- Sprawdzanie warunku za pomocą instrukcji warunkowych
- Eksperymentowanie z wartościami logicznymi, operatorami porównania i warunkami
- Różnica między = i ==
- Instrukcje if
- Wcześniejsze wychodzenie z pętli za pomocą instrukcji break
- Sprawdzanie, czy gracz wygrał
- Sprawdzanie, czy gracz przegrał
- Podsumowanie
- 4. Program opowiadający dowcipy
- Kilka przykładowych dowcipów
- Kod źródłowy programu Dowcipy
- Jak działa ten kod
- Znaki ucieczki
- Apostrofy i cudzysłowy
- Parametr end funkcji print()
- Podsumowanie
- 5. Smocza kraina
- Zasady gry w Smoczą krainę
- Przykładowy przebieg gry Smocza kraina
- Schemat blokowy Smoczej krainy
- Kod źródłowy Smoczej krainy
- Importowanie modułów random i time
- Funkcje w grze Smocza kraina
- Instrukcje def
- Wywoływanie funkcji
- Gdzie umieszczać definicje funkcji
- Łańcuchy wielowierszowe
- Jak wykonywać pętle za pomocą instrukcji while
- Operatory logiczne
- Operator and
- Operator or
- Operator not
- Wyznaczanie wartości wyrażeń z operatorami logicznymi
- Zwracane wartości
- Zasięg globalny i zasięg lokalny
- Parametry funkcji
- Wyświetlanie wyników gry
- Decydowanie, w której jaskini mieszka przyjazny smok
- Główna pętla gry
- Wywoływanie funkcji w programie
- Pytanie gracza, czy chce zagrać po raz kolejny
- Podsumowanie
- 6. Korzystanie z debugera
- Rodzaje błędów
- Debuger
- Uruchamianie debugera
- Krok po kroku w trybie debugera
- Znajdowanie błędów
- Ustawianie pułapek
- Korzystanie z pułapek
- Podsumowanie
- 7. Projektowanie gry Szubienicaz użyciem schematów blokowych
- Zasady gry w Szubienicę
- Przykładowy przebieg gry Szubienica
- Grafika ASCII
- Projektowanie programu z użyciem schematu blokowego
- Tworzenie schematu blokowego
- Rozgałęzienia w schemacie blokowym
- Kończenie lub restartowanie gry
- Powtórne zgadywanie
- Informacja zwrotna dla gracza
- Podsumowanie
- 8. Pisanie kodu gry Szubienica
- Kod źródłowy gry Szubienica
- Importowanie modułu random
- Stałe
- Listy jako typ danych
- Dostęp do elementów przez indeksy
- Konkatenacja list
- Operator in
- Wywoływanie metod
- Metody listowe reverse() i append()
- Metoda łańcuchowa split()
- Wczytywanie tajnego słowa z listy
- Wyświetlanie planszy
- Funkcje list() i range()
- Przycinanie list i łańcuchów
- Wyświetlanie tajnego słowa z podkreśleniami
- Wczytywanie strzału gracza
- Metody łańcuchowe lower() i upper()
- Opuszczanie pętli while
- Instrukcje elif
- Sprawdzanie, czy gracz podał prawidłową literę
- Pytanie gracza, czy chce zagrać ponownie
- Przegląd funkcji w grze Szubienica
- Główna pętla gry
- Wywoływanie funkcji wyświetlPlanszę()
- Umożliwienie graczowi podania litery
- Sprawdzanie, czy litera znajduje się w tajnym słowie
- Sprawdzanie, czy gracz wygrał
- Obsługa nieudanej próby odgadnięcia
- Sprawdzanie, czy gracz przegrał
- Kończenie lub resetowanie gry
- Podsumowanie
- 9. Rozbudowa gry Szubienica
- Zwiększanie liczby dozwolonych prób
- Słowniki jako typ danych
- Poznawanie rozmiarów słowników za pomocą funkcji len()
- Różnica między słownikami i listami
- Metody słownikowe keys() i values()
- Korzystanie ze słowników w grze Szubienica
- Losowe wybieranie z listy
- Usuwanie elementów z listy
- Przypisanie wielokrotne
- Wyświetlanie informacji o kategorii słowa
- Podsumowanie
- 10. Kółko i krzyżyk
- Przykładowy przebieg gry w Kółko i krzyżyk
- Kod źródłowy gry w Kółko i krzyżyk
- Projektowanie programu
- Przedstawienie planszy w postaci danych
- Tworzenie strategii dla sztucznej inteligencji
- Importowanie modułu random
- Wyświetlanie planszy na ekranie
- Umożliwienie graczowi wyboru znaku X lub O
- Ustalanie, kto wykonuje pierwszy ruch
- Umieszczanie znaku na planszy
- Odwołania do list
- Odwołania do list w funkcji wykonajRuch()
- Sprawdzanie, czy gracz wygrał
- Duplikacja danych planszy
- Sprawdzanie, czy pole na planszy jest wolne
- Umożliwianie graczowi wykonania ruchu
- Wyznaczanie wartości na skróty
- Wybieranie ruchu z listy
- Wartość None
- Tworzenie sztucznej inteligencji (SI)
- Sprawdzanie, czy komputer może wygrać w jednym ruchu
- Sprawdzanie, czy gracz może wygrać w jednym ruchu
- Sprawdzanie pól narożnych, środkowego i bocznych (w tej właśnie kolejności)
- Sprawdzanie, czy na planszy są jeszcze wolne pola
- Główna pętla gry
- Wybór znaku gracza i ustalenie rozpoczynającego
- Ruch gracza
- Ruch komputera
- Pytanie gracza, czy chce zagrać ponownie
- Podsumowanie
- 11. Dedukcyjna gra Bagels
- Przykładowy przebieg gry Bagels
- Kod źródłowy gry Bagels
- Schemat blokowy gry Bagels
- Importowanie modułu random i definiowanie funkcji uzyskajTajnąLiczbę()
- Przestawianie kolejności cyfr
- Zmiana kolejności elementów na liście za pomocą funkcji random.shuffle()
- Uzyskiwanie tajnej liczby z przestawionych cyfr
- Skrótowe operatory przypisania
- Ustalanie, jaką podpowiedź wyświetlić
- Metoda listowa sort()
- Metoda łańcuchowa join()
- Sprawdzanie, czy łańcuch zawiera jedynie cyfry
- Rozpoczynanie gry
- Interpolacja łańcuchów
- Główna pętla gry
- Wczytywanie próby odgadnięcia
- Ustalanie podpowiedzi do strzału gracza
- Sprawdzanie, czy gracz wygrał albo przegrał
- Pytanie gracza, czy chce zagrać ponownie
- Podsumowanie
- 12. Układ współrzędnych kartezjańskich
- Siatki i współrzędne kartezjańskie
- Liczby ujemne
- Układ współrzędnych na ekranie komputera
- Sztuczki matematyczne
- Sztuczka 1: Minus pożera znak plusa znajdujący się po jego lewej stronie
- Sztuczka 2: Dwa minusy łączą się w plus
- Sztuczka 3: Dwie dodawane liczby mogą zamienić się miejscami
- Wartości bezwzględne i funkcja abs()
- Podsumowanie
- 13. Gra Poszukiwanie skarbu sonarem
- Przykładowy przebieg gry Poszukiwanie skarbu sonarem
- Kod źródłowy gry Poszukiwanie skarbu sonarem
- Projektowanie programu
- Importowanie modułów random, sys i math
- Tworzenie nowej planszy do gry
- Rysowanie planszy do gry
- Rysowanie współrzędnych x wzdłuż górnej krawędzi planszy
- Rysowanie oceanu
- Wyświetlanie rzędu oceanu
- Rysowanie współrzędnych x na dole planszy
- Tworzenie losowych skrzyń ze skarbami
- Ustalanie, czy ruch jest prawidłowy
- Wykonywanie ruchu na planszy
- Znajdowanie najbliższej skrzyni ze skarbami
- Usuwanie wartości za pomocą listowej metody remove()
- Wczytywanie ruchu gracza
- Wyświetlanie instrukcji gry dla gracza
- Główna pętla gry
- Wyświetlanie informacji o stanie gry
- Obsługa ruchu gracza
- Znajdowanie zatopionej skrzyni ze skarbami
- Sprawdzanie, czy gracz wygrał
- Sprawdzanie, czy gracz przegrał
- Kończenie programu za pomocą funkcji sys.exit()
- Podsumowanie
- 14. Szyfr Cezara
- Kryptografia i szyfrowanie
- Jak działa szyfr Cezara
- Przykładowe działanie programu Szyfr Cezara
- Kod źródłowy programu Szyfr Cezara
- Ustawianie maksymalnej długości klucza
- Podejmowanie decyzji o zaszyfrowaniu lub odszyfrowaniu wiadomości
- Wczytywanie tekstu podanego przez gracza
- Wczytywanie klucza podanego przez gracza
- Szyfrowanie lub odszyfrowywanie komunikatu
- Znajdowanie przekazanych łańcuchów za pomocą metody find()
- Szyfrowanie lub odszyfrowywanie każdej litery
- Uruchamianie programu
- Technika siłowa
- Dodawanie trybu siłowego łamania kodu
- Podsumowanie
- 15. Gra Reversegam
- Jak grać w Reversegam
- Przykładowy przebieg gry Reversegam
- Kod źródłowy gry Reversegam
- Importowanie modułów i konfiguracja stałych
- Struktura danych z planszą gry
- Rysowanie struktury danych z planszą na ekranie
- Tworzenie nowej struktury danych z planszą
- Sprawdzanie, czy ruch jest prawidłowy
- Sprawdzanie każdego z ośmiu kierunków
- Sprawdzanie, czy są jakieś pionki do odwrócenia
- Sprawdzanie poprawności podanych współrzędnych
- Uzyskiwanie listy wszystkich możliwych ruchów
- Wywoływanie funkcji bool()
- Uzyskiwanie wyniku z planszy
- Wczytywanie wyboru pionka przez gracza
- Ustalanie, kto ma wykonać pierwszy ruch
- Umieszczanie pionka na planszy
- Kopiowanie struktury danych z planszą
- Ustalanie, czy pole narożne jest wolne
- Wczytywanie ruchu gracza
- Ustalanie ruchu komputera
- Strategiczne znaczenie pól narożnych
- Uzyskiwanie listy najlepszych ruchów
- Wyświetlanie wyników na ekranie
- Rozpoczynanie gry
- Sprawdzanie możliwości wykonania ruchu
- Tura gracza
- Tura komputera
- Główna pętla gry
- Pytanie gracza, czy chce zagrać ponownie
- Podsumowanie
- 16. Symulacja SI w grze Reversegam
- Komputer ma grać sam ze sobą
- Przykładowy przebieg symulacji 1
- Kod źródłowy symulacji 1
- Usuwanie tekstów wyświetlanych graczowi i dodawanie komputerowego gracza
- Komputer ma zagrać sam ze sobą wiele razy
- Przykładowy przebieg symulacji 2
- Kod źródłowy symulacji 2
- Śledzenie wielu gier
- Zasłanianie wywołań funkcji print() komentarzem
- Procentowa ocena wyników SI
- Porównywanie różnych algorytmów SI
- Kod źródłowy symulacji 3
- Jak działa SI w symulacji 3
- Porównanie SI
- Podsumowanie
- 17. Tworzenie grafiki
- Instalowanie modułu pygame
- Hello World w module pygame
- Przykładowy przebieg programu Hello World napisanego z użyciem pygame
- Kod źródłowy programu Hello World w wersji pygame
- Importowanie modułu pygame
- Inicjalizacja pygame
- Konfiguracja okna pygame
- Krotki
- Obiekty Surface
- Konfiguracja zmiennych z kolorami
- Wypisywanie tekstu w oknie pygame
- Używanie czcionek do stylizacji tekstu
- Renderowanie obiektu Font
- Ustawianie położenia tekstu za pomocą atrybutów Rect
- Wypełnianie obiektu Surface kolorem
- Funkcje związane z rysowaniem w module pygame
- Rysowanie wielokąta
- Rysowanie linii
- Rysowanie okręgu
- Rysowanie elipsy
- Rysowanie prostokąta
- Kolorowanie pikseli
- Metoda blit() dla obiektów Surface
- Rysowanie obiektu Surface na ekranie
- Zdarzenia i główna pętla gry
- Uzyskiwanie obiektów Event
- Opuszczanie programu
- Podsumowanie
- 18. Grafika animowana
- Przykładowy przebieg programu Animacja
- Kod źródłowy programu Animacja
- Przemieszczanie i odbijanie się ramek od krawędzi okna
- Konfiguracja stałych
- Stałe reprezentujące kierunki
- Stałe oznaczające kolory
- Konfiguracja struktur danych z ramkami
- Główna pętla gry
- Kod pozwalający wyjść z gry
- Przemieszczanie każdej ramki
- Odbijanie się ramek od krawędzi okna
- Rysowanie ramek w oknie w nowym położeniu
- Rysowanie okna na ekranie
- Podsumowanie
- 19. Wykrywanie kolizji
- Przykładowy przebieg programu Wykrywania kolizji
- Kod źródłowy programu Wykrywanie kolizji
- Importowanie modułów
- Sterowanie szybkością programu za pomocą obiektu Clock
- Konfiguracja okna i struktur danych
- Konfiguracja zmiennych do śledzenia ruchu
- Obsługa zdarzeń
- Obsługa zdarzenia KEYDOWN
- Obsługa zdarzenia KEYUP
- Teleportowanie gracza
- Dodawanie nowych kwadracików z pożywieniem
- Poruszanie postacią gracza w obrębie okna
- Rysowanie postaci gracza w oknie
- Sprawdzanie, czy wystąpiła kolizja
- Rysowanie w oknie kwadracików pożywienia
- Podsumowanie
- 20. Wykorzystywanie dźwięków i obrazków
- Dodawanie obrazów za pomocą duszków
- Pliki dźwiękowe i obrazkowe
- Przykładowy przebieg programu Duszki i dźwięki
- Kod źródłowy programu Duszki i dźwięki
- Konfiguracja okna i struktury danych
- Dodawanie duszka
- Zmiana rozmiaru duszka
- Konfigurowanie muzyki i dźwięków
- Dodawanie plików dźwiękowych
- Włączanie i wyłączanie dźwięku
- Rysowanie w oknie postaci gracza
- Sprawdzanie kolizji
- Rysowanie czereśni w oknie
- Podsumowanie
- 21. Dodger gra z obrazem i dźwiękiem
- Powtórka z podstawowych typów danych pygame
- Przykładowy przebieg gry Dodger
- Kod źródłowy gry Dodger
- Importowanie modułów
- Konfiguracja stałych
- Definiowanie funkcji
- Zatrzymywanie i pauzowanie gry
- Sprawdzanie kolizji z paskudami
- Rysowanie tekstu w oknie
- Inicjalizacja pygame i konfiguracja okna
- Konfiguracja obiektów Font, Sound i Image
- Wyświetlanie ekranu startowego
- Rozpoczynanie gry
- Główna pętla gry
- Obsługa zdarzeń klawiatury
- Obsługa ruchów myszy
- Dodawanie nowych paskud
- Poruszanie postacią gracza i paskudami
- Implementacja kodów oszukiwania
- Usuwanie paskud
- Rysowanie okna
- Wyświetlanie wyniku gracza
- Rysowanie postaci gracza oraz paskud
- Sprawdzanie kolizji
- Ekran z napisem Game Over
- Modyfikowanie gry Dodger
- Podsumowanie
- Przypisy