Python zorientowany obiektowo. Programowanie gier i graficznych interfejs - Helion
Tytuł oryginału: Object-Oriented Python: Master OOP by Building Games and GUIs
ISBN: 978-83-283-9406-3
okładka: mi
Data wydania: 2022-07-01
Księgarnia: Helion
Cena książki: 53,40 zł (poprzednio: 89,00 zł)
Oszczędzasz: 40% (-35,60 zł)
Osoby które kupowały "Python zorientowany obiektowo. Programowanie gier i graficznych interfejs", wybierały także:
- Biologika Sukcesji Pokoleniowej. Sezon 2. Za 127,27 zł, (14,00 zł -89%)
- Biologika Sukcesji Pokoleniowej. Sezon I. 127,27 zł, (14,00 zł -89%)
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Podręcznik startupu. Budowa wielkiej firmy krok po kroku 93,33 zł, (14,00 zł -85%)
- Ruby on Rails. Ćwiczenia 18,75 zł, (3,00 zł -84%)
Spis treści
Python zorientowany obiektowo. Programowanie gier i graficznych interfejsów użytkownika -- spis treści
Wprowadzenie
- Dla kogo jest przeznaczona ta książka?
- Wersje Pythona i jego instalacja
- Jak zamierzam wyjaśnić podejście programowania zorientowanego obiektowo?
- Co znajduje się w książce?
- Åšrodowisko programistyczne
- Widżety i przykładowe gry
Część I. Wprowadzenie do programowania zorientowanego obiektowo
1. Proceduralny styl programowania w Pythonie
- Gra karciana
- Przedstawienie danych
- Implementacja
- Kod wielokrotnego użycia
- Symulacja konta bankowego
- Zawsze wymagane operacje i dane
- Implementacja 1. - pojedyncze konto bez funkcji
- Implementacja 2. - pojedyncze konto z funkcjami
- Implementacja 3. - dwa konta
- Implementacja 4. - wiele kont z użyciem listy
- Implementacja 5. - lista sÅ‚owników kont
- Najczęstsze problemy z implementacją proceduralną
- RozwiÄ…zanie w stylu programowania zorientowanego obiektowo - pierwszy rzut oka na klasÄ™
- Podsumowanie
2. Modelowanie obiektów fizycznych za pomocÄ… programowania zorientowanego obiektowo
- Tworzenie programowych modeli obiektów fizycznych
- Stan i zachowanie - przykład wyłącznika światła
- Wprowadzenie do klas i obiektów
- Klasy, obiekty i tworzenie obiektów
- Tworzenie klasy w Pythonie
- Zmienne zakresu i egzemplarza
- Różnice miÄ™dzy funkcjÄ… i metodÄ…
- Tworzenie obiektu na podstawie klasy
- Wywoływanie metod obiektu
- Tworzenie wielu egzemplarzy na podstawie tej samej klasy
- Typy danych Pythona sÄ… implementowane jako klasy
- Definicja obiektu
- Tworzenie nieco bardziej złożonej klasy
- Przedstawianie w postaci klas bardziej skomplikowanych obiektów fizycznych
- Przekazywanie argumentów metodzie
- Wiele egzemplarzy
- Inicjalizacja parametrów
- Klasy w użyciu
- Programowanie zorientowane obiektowo jako rozwiÄ…zanie
- Podsumowanie
3. Modele obiektów i znaczenie "self"
- Nowe spojrzenie na klasÄ™ DimmerSwitch
- Pierwszy model wysokiego poziomu
- Drugi model - znacznie dokładniejszy
- Co oznacza "self"?
- Podsumowanie
4. ZarzÄ…dzanie wieloma obiektami
- Klasa przedstawiajÄ…ca konto bankowe
- Importowanie kodu klasy
- Tworzenie kodu testowego
- Tworzenie wielu kont bankowych
- Lista zawierajÄ…ca wiele obiektów kont bankowych
- Wiele obiektów z unikatowymi identyfikatorami
- Tworzenie interaktywnego menu
- Tworzenie obiektu zarzÄ…dzajÄ…cego obiektami
- Tworzenie obiektu zarzÄ…dzajÄ…cego obiektami
- Kod gÅ‚ówny, który tworzy obiekt zarzÄ…dzajÄ…cy obiektami
- Lepsza obsÅ‚uga bÅ‚Ä™dów za pomocÄ… wyjÄ…tków
- try i except
- Polecenie raise i wyjÄ…tki niestandardowe
- Używanie wyjÄ…tków w programie modelujÄ…cym bank
- Klasa Account z obsÅ‚ugÄ… wyjÄ…tków
- Optymalizacja klasy Bank
- Kod gÅ‚ówny zapewniajÄ…cy obsÅ‚ugÄ™ wyjÄ…tków
- WywoÅ‚anie tej samej metody w liÅ›cie obiektów
- Interfejs kontra implementacja
- Podsumowanie
Część II. Tworzenie graficznego interfejsu użytkownika za pomocą pygame
5. Wprowadzenie do pygame
- Instalowanie pygame
- Praca z oknem
- System wspóÅ‚rzÄ™dnych okna
- Kolor piksela
- Programy sterowane zdarzeniami
- Używanie pygame
- Wyświetlenie pustego okna
- Wyświetlenie obrazu
- Wykrycie kliknięcia myszą
- Obsługa klawiatury
- Tworzenie animacji na podstawie położenia
- Używanie prostokÄ…tów pygame
- Odtwarzanie dźwięku
- Odtwarzanie efektów dźwiÄ™kowych
- Odtwarzanie muzyki w tle
- Rysowanie figur
- Odwoływanie do figur prostych
- Podsumowanie
6. Zorientowany obiektowo framework pygame
- Tworzenie wygaszacza ekranu w postaci piłki za pomocą zorientowanego obiektowo pygame
- Tworzenie klasy Ball
- Używanie klasy Ball
- Tworzenie wielu obiektów typu Ball
- Tworzenie wielu, wielu obiektów Ball
- Tworzenie zorientowanego obiektowo przycisku wielokrotnego użycia
- Tworzenie klasy przycisku
- Kod gÅ‚ówny używajÄ…cy klasy SimpleButton
- Tworzenie programu z wieloma przyciskami
- Tworzenie zorientowanego obiektowo komponentu tekstowego wielokrotnego użycia
- Procedura wyświetlenia tekstu
- Tworzenie klasy SimpleText
- Przykładowy program wykorzystujący klasy SimpleText i SimpleButton
- Interfejs kontra implementacja
- Wywołanie zwrotne
- Tworzenie wywołania zwrotnego
- Używanie wywołania zwrotnego razem z klasą SimpleButton
- Podsumowanie
7. Widżety GUI frameworka pygame
- Przekazywanie argumentów funkcji lub metodzie
- Parametry pozycyjne i w postaci sÅ‚ów kluczowych
- Informacje dodatkowe o parametrach w postaci sÅ‚ów kluczowych
- Używanie None jako wartości domyślnej
- Wybór sÅ‚owa kluczowego i wartoÅ›ci domyÅ›lnej
- Wartość domyślna w widżecie GUI
- Pakiet pygwidgets
- Przygotowania
- Ogólne podejÅ›cie projektowe
- Dodawanie obrazu
- Dodawanie przycisków, pól wyboru i pól opcji
- Tekstowe dane wejściowe i wyjściowe
- Inne klasy pygwidgets
- Przykładowy program pygwidgets
- Waga spójnego API
- Podsumowanie
Część III. Hermetyzacja, polimorfizm i dziedziczenie
8. Hermetyzacja
- Hermetyzacja i funkcje
- Hermetyzacja za pomocÄ… obiektów
- Obiekt jest właścicielem danych
- Interpretacje hermetyzacji
- Dostęp bezpośredni i dlaczego należy go unikać
- Ścisła interpretacja z użyciem metod typu getter i setter
- Bezpieczny dostęp bezpośredni
- Bardziej prywatne zmienne egzemplarza
- Niejawnie prywatna zmienna egzemplarza
- Nieco bardziej jawnie prywatna zmienna egzemplarza
- Dekoratory i @property
- Hermetyzacja w klasach pygwidgets
- Prawdziwa historia
- Abstrakcja
- Podsumowanie
9. Polimorfizm
- WysyÅ‚anie wiadomoÅ›ci do rzeczywistych obiektów
- Klasyczny przykład polimorfizmu w programowaniu
- PrzykÅ‚ad z wykorzystaniem ksztaÅ‚tów we frameworku pygame
- Klasa prostokÄ…ta
- Klasy Circle i Triangle
- Program gÅ‚ówny do rysowania figur
- Rozszerzenie wzorca
- Pakiet pygwidgets ujawnia polimorfizm
- Polimorfizm operatorów
- Metody magiczne
- Metody magiczne operatora porównywania
- Klasa Rectangle z metodami magicznymi
- Program gÅ‚ówny używajÄ…cy metod magicznych
- Metody magiczne operatora matematycznego
- Przykład wektora
- Tworzenie ciągu tekstowego przedstawiającego wartości obiektu
- Klasa Fraction i metody magiczne
- Podsumowanie
10. Dziedziczenie
- Dziedziczenie w programowaniu zorientowanym obiektowo
- Implementacja dziedziczenia
- Przykład menedżera i pracownika
- Klasa bazowa - Employee
- Podklasa - Manager
- Kod testujÄ…cy obie klasy
- Podklasa z perspektywy klienta
- Rzeczywiste przykłady dziedziczenia
- Klasa InputNumber
- Klasa DisplayMoney
- Przykład użycia
- Wiele klas dziedziczÄ…cych po tej samej klasie bazowej
- Klasy abstrakcyjne i metody
- Jak moduł pygwidgets używa dziedziczenia?
- Hierarchia klas
- Trudności z użyciem dziedziczenia
- Podsumowanie
11. Zarządzanie pamięcią używaną przez obiekty
- Cykl życiowy obiektu
- Licznik odwołań
- Mechanizm usuwania nieużytków
- Zmienne klasy
- Stała zmiennej klasy
- Zmienne klasy do zliczania
- Połączenie wszystkiego w całość - prosta gra z balonami
- Moduł stałych
- Kod programu gÅ‚ównego
- Menedżer balonów
- Klasy Balloon i ich obiekty
- Zarządzanie pamięcią - sloty
- Podsumowanie
Część IV. Programowanie zorientowane obiektowo podczas tworzenia gier
12. Gry karciane
- Klasa Card
- Klasa Deck
- Gra Większa czy mniejsza
- Program gÅ‚ówny
- Obiekt Game
- Testowanie z użyciem zmiennej __name__
- Inne gry karciane
- Talia do gry w blackjacka
- Gry z wykorzystaniem nietypowych talii kart
- Podsumowanie
13. Zegary
- Program przedstawiający działanie zegara
- Trzy podejścia w zakresie implementacji zegara
- Zliczanie klatek
- Zdarzenie zegara
- Zdefiniowanie zegara przez sprawdzanie upływającego czasu
- Instalowanie modułu pyghelpers
- Klasa Timer
- Wyświetlanie czasu
- Klasa CountUpTimer
- CountDownTimer
- Podsumowanie
14. Animacja
- Opracowywanie klas animacji
- Klasa SimpleAnimation
- Klasa SimpleSpriteSheetAnimation
- PoÅ‚Ä…czenie dwóch klas
- Klasy animacji w pygwidgets
- Klasa Animation
- Klasa SpriteSheetAnimation
- Wspólna klasa bazowa - PygAnimation
- Przykładowy program pokazujący animację
- Podsumowanie
15. Sceny
- PodejÅ›cie z użyciem maszyny stanów
- PrzykÅ‚adowy program używajÄ…cy maszyny stanów
- Menedżer scen zarządzający wieloma scenami
- Przykładowy program używający menedżera scen
- Program gÅ‚ówny
- Tworzenie scen
- Typowa scena
- Gra Kamień, papier, nożyce zbudowana z użyciem scen
- Komunikacja między scenami
- Żądanie informacji ze sceny docelowej
- Przekazywanie informacji do sceny docelowej
- Przekazywanie informacji na wszystkie sceny
- Testowanie komunikacji między scenami
- Implementacja menedżera scen
- Metoda run()
- Metody gÅ‚ówne
- Komunikacja między scenami
- Podsumowanie
16. Pełna gra - Dodger
- Modalne okna dialogowe
- Okno dialogowe typu Tak/Nie
- Okno dialogowe typu Odpowiedź
- Tworzenie pełnej gry - Dodger
- Ogólny opis gry
- Implementacja
- Rozbudowa gry
- Podsumowanie
17. Wzorce projektowe i podsumowanie
- Model-widok-kontroler
- PrzykÅ‚ad - sposób wyÅ›wietlania pliku
- Przykład - wyświetlanie danych statystycznych
- Zalety wzorca projektowego MVC
- Podsumowanie