Twórz własne gry komputerowe w Pythonie

1 opinia

Autor:

Al Sweigart

Format:

mobi, epub, ibuk

DODAJ DO ABONAMENTU

WYBIERZ RODZAJ DOSTĘPU

33,00  55,00

Format: epub, mobi

 

Dostęp online przez myIBUK

WYBIERZ DŁUGOŚĆ DOSTĘPU

6,15

Wypożycz na 24h i opłać sms-em

33,0055,00

cena zawiera podatek VAT

ZAPŁAĆ SMS-EM

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ę?


Liczba stron416
WydawcaWydawnictwo Naukowe PWN
ISBN-13978-83-01-19400-0
Numer wydania1
Język publikacjipolski
Informacja o sprzedawcyRavelo Sp. z o.o.

TA KSIĄŻKA JEST W ABONAMENCIE

Już od 19,90 zł miesięcznie za 5 ebooków!

WYBIERZ SWÓJ ABONAMENT

INNE EBOOKI AUTORA

EBOOKI WYDAWCY

Spis treści

[] POWŁOKA INTERAKTYWNA    1
  Kilka prostych działań matematycznych    2
    Liczby całkowite i rzeczywiste    2
    Wyrażenia    3
  Wyznaczanie wartości wyrażeń    3
  Błędy składniowe    5
  Zapisywanie wartości w zmiennych    5
  Podsumowanie    9
  2 PISANIE PROGRAMÓW    11
  Wartości łańcuchowe    12
  Konkatenacja łańcuchów    13
  Pisanie programów w edytorze plików IDLE    13
    Tworzenie programu „Hello World”    14
    Zapisywanie programu    15
    Wykonywanie programu    16
  Jak działa program „Hello World”    17
    Komentarze dla programistów    17
    Funkcje: miniprogramy w programach    17
    Koniec programu    19
  Nadawanie nazw zmiennym    19
  Podsumowanie    20
  3 „ZGADNIJ, JAKA TO LICZBA”    21
  Przykładowy przebieg gry „Zgadnij, jaka to liczba”    22
  Kod źródłowy gry „Zgadnij, jaka to liczba”    22
  Importowanie modułu random    24
  Generowanie liczb losowych za pomocą funkcji random.randint()    25
  Powitanie gracza    26
  Instrukcje związane z przepływem sterowania    27
    Używanie pętli do powtarzania kodu    27
    Grupowanie w bloki    27
    Pętle z instrukcjami for    28
  Wczytywanie próby gracza    30
  Konwersja wartości za pomocą funkcji int(), float() i str()    30
  Logiczny typ danych    32
    Operatory porównania    33
    Sprawdzanie warunku za pomocą instrukcji warunkowych    33
    Eksperymentowanie z wartościami logicznymi, operatorami porównania i warunkami    34
    Różnica między = i ==    35
  Instrukcje if    36
  Wcześniejsze wychodzenie z pętli za pomocą instrukcji break    36
  Sprawdzanie, czy gracz wygrał    36
  Sprawdzanie, czy gracz przegrał    37
  Podsumowanie    38
  4 PROGRAM OPOWIADAJĄCY DOWCIPY    41
  Kilka przykładowych dowcipów    42
  Kod źródłowy programu „Dowcipy”    42
  Jak działa ten kod    43
  Znaki ucieczki    43
  Apostrofy i cudzysłowy    44
  Parametr end funkcji print()    45
  Podsumowanie    46
  5 „SMOCZA KRAINA”    47
  Zasady gry w „Smoczą krainę”    47
  Przykładowy przebieg gry „Smocza kraina”    48
  Schemat blokowy „Smoczej krainy”    48
  Kod źródłowy „Smoczej krainy”    49
  Importowanie modułów random i time    51
  Funkcje w grze „Smocza kraina”    51
    Instrukcje def    51
    Wywoływanie funkcji    52
    Gdzie umieszczać definicje funkcji    52
  Łańcuchy wielowierszowe    53
  Jak wykonywać pętle za pomocą instrukcji while    54
  Operatory logiczne    54
    Operator and    55
    Operator or    56
    Operator not    56
    Wyznaczanie wartości wyrażeń z operatorami logicznymi    57
  Zwracane wartości    58
  Zasięg globalny i zasięg lokalny    58
  Parametry funkcji    60
  Wyświetlanie wyników gry    61
  Decydowanie, w której jaskini mieszka przyjazny smok    62
  Główna pętla gry    63
    Wywoływanie funkcji w programie    63
    Pytanie gracza, czy chce zagrać po raz kolejny    64
  Podsumowanie    65
  6 KORZYSTANIE Z DEBUGERA    67
  Rodzaje błędów    68
  Debuger    69
    Uruchamianie debugera    69
    Krok po kroku w trybie debugera    71
  Znajdowanie błędów    74
  Ustawianie pułapek    77
  Korzystanie z pułapek    78
  Podsumowanie    80
  7 PROJEKTOWANIE GRY „SZUBIENICA” Z UŻYCIEM SCHEMATÓW BLOKOWYCH    81
  Zasady gry w „Szubienicę”    82
  Przykładowy przebieg gry „Szubienica”    82
  Grafika ASCII    83
  Projektowanie programu z użyciem schematu blokowego    84
    Tworzenie schematu blokowego    85
    Rozgałęzienia w schemacie blokowym    86
    Kończenie lub restartowanie gry    87
    Powtórne zgadywanie    88
    Informacja zwrotna dla gracza    90
  Podsumowanie    91
  8 PISANIE KODU GRY „SZUBIENICA”    93
  Kod źródłowy gry „Szubienica”    94
  Importowanie modułu random    97
  Stałe    98
  Listy jako typ danych    98
    Dostęp do elementów przez indeksy    99
    Konkatenacja list    100
    Operator in    101
  Wywoływanie metod    101
    Metody listowe reverse() i append()    102
    Metoda łańcuchowa split()    102
  Wczytywanie tajnego słowa z listy    103
  Wyświetlanie planszy    104
    Funkcje list() i range()    105
    Przycinanie list i łańcuchów    106
    Wyświetlanie tajnego słowa z podkreśleniami    107
  Wczytywanie strzału gracza    109
    Metody łańcuchowe lower() i upper()    109
    Opuszczanie pętli while    111
  Instrukcje elif    111
  Sprawdzanie, czy gracz podał prawidłową literę    112
  Pytanie gracza, czy chce zagrać ponownie    113
  Przegląd funkcji w grze „Szubienica”    114
  Główna pętla gry    114
    Wywoływanie funkcji wyświetlPlanszę()    115
    Umożliwienie graczowi podania litery    115
    Sprawdzanie, czy litera znajduje się w tajnym słowie    115
    Sprawdzanie, czy gracz wygrał    115
    Obsługa nieudanej próby odgadnięcia    116
    Sprawdzanie, czy gracz przegrał    117
    Kończenie lub resetowanie gry    118
  Podsumowanie    118
  9 ROZBUDOWA GRY „SZUBIENICA”    119
  Zwiększanie liczby dozwolonych prób    120
  Słowniki jako typ danych    120
    Poznawanie rozmiarów słowników za pomocą funkcji len()    121
    Różnica między słownikami i listami    122
    Metody słownikowe keys() i values()    123
    Korzystanie ze słowników w grze „Szubienica”    123
  Losowe wybieranie z listy    124
  Usuwanie elementów z listy    125
  Przypisanie wielokrotne    127
  Wyświetlanie informacji o kategorii słowa    128
  Podsumowanie    129
  10 „KÓŁKO I KRZYŻYK”    131
  Przykładowy przebieg gry w „Kółko i krzyżyk”    132
  Kod źródłowy gry w „Kółko i krzyżyk”    133
  Projektowanie programu    138
    Przedstawienie planszy w postaci danych    138
    Tworzenie strategii dla sztucznej inteligencji    139
  Importowanie modułu random    140
  Wyświetlanie planszy na ekranie    140
  Umożliwienie graczowi wyboru znaku X lub O    141
  Ustalanie, kto wykonuje pierwszy ruch    142
  Umieszczanie znaku na planszy    143
    Odwołania do list    143
    Odwołania do list w funkcji wykonajRuch()    146
  Sprawdzanie, czy gracz wygrał    147
  Duplikacja danych planszy    149
  Sprawdzanie, czy pole na planszy jest wolne    150
  Umożliwianie graczowi wykonania ruchu    150
  Wyznaczanie wartości „na skróty”    151
  Wybieranie ruchu z listy    153
  Wartość None    154
  Tworzenie sztucznej inteligencji (SI)    155
    Sprawdzanie, czy komputer może wygrać w jednym ruchu    156
    Sprawdzanie, czy gracz może wygrać w jednym ruchu    156
    Sprawdzanie pól narożnych, środkowego i bocznych (w tej właśnie kolejności)    157
    Sprawdzanie, czy na planszy są jeszcze wolne pola    158
  Główna pętla gry    158
    Wybór znaku gracza i ustalenie rozpoczynającego    159
    Ruch gracza    159
    Ruch komputera    160
    Pytanie gracza, czy chce zagrać ponownie    161
  Podsumowanie    161
  11 DEDUKCYJNA GRA „BAGELS”    163
  Przykładowy przebieg gry „Bagels”    164
  Kod źródłowy gry „Bagels”    165
  Schemat blokowy gry „Bagels”    167
  Importowanie modułu random i definiowanie funkcji uzyskajTajnąLiczbę()    168
  Przestawianie kolejności cyfr    168
    Zmiana kolejności elementów na liście za pomocą funkcji random.shuffle()    168
    Uzyskiwanie tajnej liczby z przestawionych cyfr    169
  Skrótowe operatory przypisania    170
  Ustalanie, jaką podpowiedź wyświetlić    171
  Metoda listowa sort()    172
  Metoda łańcuchowa join()    173
  Sprawdzanie, czy łańcuch zawiera jedynie cyfry    173
  Rozpoczynanie gry    174
  Interpolacja łańcuchów    175
  Główna pętla gry    176
    Wczytywanie próby odgadnięcia    177
    Ustalanie podpowiedzi do strzału gracza    177
    Sprawdzanie, czy gracz wygrał albo przegrał    177
    Pytanie gracza, czy chce zagrać ponownie    178
  Podsumowanie    178
  12 UKŁAD WSPÓŁRZĘDNYCH KARTEZJAŃSKICH    181
  Siatki i współrzędne kartezjańskie    182
  Liczby ujemne    184
  Układ współrzędnych na ekranie komputera    185
  Sztuczki matematyczne    186
    Sztuczka 1: Minus pożera znak plusa znajdujący się po jego lewe j stronie    186
    Sztuczka 2: Dwa minusy łączą się w plus    187
    Sztuczka 3: Dwie dodawane liczby mogą zamienić się miejscami    187
  Wartości bezwzględne i funkcja abs()    188
  Podsumowanie    188
  13 GRA „POSZUKIWANIE SKARBU SONAREM”    191
  Przykładowy przebieg gry „Poszukiwanie skarbu sonarem”    193
  Kod źródłowy gry „Poszukiwanie skarbu sonarem”    195
  Projektowanie programu    201
  Importowanie modułów random, sys i math    201
  Tworzenie nowej planszy do gry    202
  Rysowanie planszy do gry    203
    Rysowanie współrzędnych x wzdłuż górnej krawędzi planszy    204
    Rysowanie oceanu    205
    Wyświetlanie rzędu oceanu    205
    Rysowanie współrzędnych x na dole planszy    206
  Tworzenie losowych skrzyń ze skarbami    206
  Ustalanie, czy ruch jest prawidłowy    207
  Wykonywanie ruchu na planszy    208
    Znajdowanie najbliższej skrzyni ze skarbami    208
    Usuwanie wartości za pomocą listowej metody remove()    211
    Wczytywanie ruchu gracza    212
  Wyświetlanie instrukcji gry dla gracza    214
  Główna pętla gry    214
    Wyświetlanie informacji o stanie gry    216
    Obsługa ruchu gracza    216
    Znajdowanie zatopionej skrzyni ze skarbami    217
    Sprawdzanie, czy gracz wygrał    217
    Sprawdzanie, czy gracz przegrał    218
    Kończenie programu za pomocą funkcji sys.exit()    218
  Podsumowanie    219
  14 „SZYFR CEZARA”    221
  Kryptografia i szyfrowanie    222
  Jak działa szyfr Cezara    223
  Przykładowe działanie programu „Szyfr Cezara”    224
  Kod źródłowy programu „Szyfr Cezara”    225
  Ustawianie maksymalnej długości klucza    226
  Podejmowanie decyzji o zaszyfrowaniu lub odszyfrowaniu wiadomości    227
  Wczytywanie tekstu podanego przez gracza    227
  Wczytywanie klucza podanego przez gracza    228
  Szyfrowanie lub odszyfrowywanie komunikatu    228
    Znajdowanie przekazanych łańcuchów za pomocą metody find()    229
    Szyfrowanie lub odszyfrowywanie każdej litery    230
  Uruchamianie programu    231
  Technika siłowa    232
  Dodawanie trybu siłowego łamania kodu    232
  Podsumowanie    234
  15 GRA „REVERSEGAM”    235
  Jak grać w „Reversegam”    236
  Przykładowy przebieg gry „Reversegam”    239
  Kod źródłowy gry „Reversegam”    241
  Importowanie modułów i konfiguracja stałych    248
  Struktura danych z planszą gry    248
    Rysowanie struktury danych z planszą na ekranie    249
    Tworzenie nowej struktury danych z planszą    250
  Sprawdzanie, czy ruch jest prawidłowy    250
    Sprawdzanie każdego z ośmiu kierunków    251
    Sprawdzanie, czy są jakieś pionki do odwrócenia    253
  Sprawdzanie poprawności podanych współrzędnych    254
    Uzyskiwanie listy wszystkich możliwych ruchów    255
    Wywoływanie funkcji bool()    256
  Uzyskiwanie wyniku z planszy    257
  Wczytywanie wyboru pionka przez gracza    257
  Ustalanie, kto ma wykonać pierwszy ruch    258
  Umieszczanie pionka na planszy    258
  Kopiowanie struktury danych z planszą    259
  Ustalanie, czy pole narożne jest wolne    259
  Wczytywanie ruchu gracza    260
  Ustalanie ruchu komputera    262
    Strategiczne znaczenie pól narożnych    262
    Uzyskiwanie listy najlepszych ruchów    263
  Wyświetlanie wyników na ekranie    264
  Rozpoczynanie gry    264
    Sprawdzanie możliwości wykonania ruchu    265
    Tura gracza    265
    Tura komputera    267
  Główna pętla gry    268
  Pytanie gracza, czy chce zagrać ponownie    269
  Podsumowanie    270
  16 SYMULACJA SI W GRZE „REVERSEGAM”    271
  Komputer ma grać sam ze sobą    272
    Przykładowy przebieg symulacji 1    273
    Kod źródłowy symulacji 1    273
    Usuwanie tekstów wyświetlanych graczowi i dodawanie komputerowego gracza    275
  Komputer ma zagrać sam ze sobą wiele razy    276
    Przykładowy przebieg symulacji 2    276
    Kod źródłowy symulacji 2    277
    Śledzenie wielu gier    278
    Zasłanianie wywołań funkcji print() komentarzem    279
    Procentowa ocena wyników SI    279
  Porównywanie różnych algorytmów SI    281
    Kod źródłowy symulacji 3    282
    Jak działa SI w symulacji 3    283
    Porównanie SI    287
  Podsumowanie    289
  17 TWORZENIE GRAFIKI    291
  Instalowanie modułu pygame    292
  „Hello World” w module pygame    292
  Przykładowy przebieg programu „Hello World” napisanego z użyciem pygame    293
  Kod źródłowy programu „Hello World” w wersji pygame    294
  Importowanie modułu pygame    295
  Inicjalizacja pygame    296
  Konfiguracja okna pygame    296
    Krotki    297
    Obiekty Surface    297
  Konfiguracja zmiennych z kolorami    298
  Wypisywanie tekstu w oknie pygame    299
    Używanie czcionek do stylizacji tekstu    299
    Renderowanie obiektu Font    300
    Ustawianie położenia tekstu za pomocą atrybutów Rect    301
  Wypełnianie obiektu Surface kolorem    303
  Funkcje związane z rysowaniem w module pygame    303
    Rysowanie wielokąta    303
    Rysowanie linii    304
    Rysowanie okręgu    305
    Rysowanie elipsy    305
    Rysowanie prostokąta    306
    Kolorowanie pikseli    307
  Metoda blit() dla obiektów Surface    307
  Rysowanie obiektu Surface na ekranie    308
  Zdarzenia i główna pętla gry    308
    Uzyskiwanie obiektów Event    309
    Opuszczanie programu    309
  Podsumowanie    310
  18 GRAFIKA ANIMOWANA    311
  Przykładowy przebieg programu „Animacja”    312
  Kod źródłowy programu „Animacja”    312
  Przemieszczanie i odbijanie się ramek od krawędzi okna    314
  Konfiguracja stałych    315
    Stałe reprezentujące kierunki    316
    Stałe oznaczające kolory    317
  Konfiguracja struktur danych z ramkami    317
  Główna pętla gry    318
    Kod pozwalający wyjść z gry    318
    Przemieszczanie każdej ramki    319
    Odbijanie się ramek od krawędzi okna    320
    Rysowanie ramek w oknie w nowym położeniu    321
    Rysowanie okna na ekranie    322
  Podsumowanie    322
  19 WYKRYWANIE KOLIZJI    323
  Przykładowy przebieg programu „Wykrywania kolizji”    324
  Kod źródłowy programu „Wykrywanie kolizji”    325
  Importowanie modułów    327
  Sterowanie szybkością programu za pomocą obiektu Clock    328
  Konfiguracja okna i struktur danych    328
  Konfiguracja zmiennych do śledzenia ruchu    330
  Obsługa zdarzeń    330
    Obsługa zdarzenia KEYDOWN    331
    Obsługa zdarzenia KEYUP    334
  Teleportowanie gracza    334
  Dodawanie nowych kwadracików z pożywieniem    335
  Poruszanie postacią gracza w obrębie okna    336
    Rysowanie postaci gracza w oknie    336
    Sprawdzanie, czy wystąpiła kolizja    337
  Rysowanie w oknie kwadracików pożywienia    338
  Podsumowanie    338
  20 WYKORZYSTYWANIE DŹWIĘKÓW I OBRAZKÓW    339
  Dodawanie obrazów za pomocą duszków    340
  Pliki dźwiękowe i obrazkowe    340
  Przykładowy przebieg programu „Duszki i dźwięki”    341
  Kod źródłowy programu „Duszki i dźwięki”    342
  Konfiguracja okna i struktury danych    345
    Dodawanie duszka    345
    Zmiana rozmiaru duszka    346
  Konfigurowanie muzyki i dźwięków    346
    Dodawanie plików dźwiękowych    346
    Włączanie i wyłączanie dźwięku    347
  Rysowanie w oknie postaci gracza    347
  Sprawdzanie kolizji    348
  Rysowanie czereśni w oknie    349
  Podsumowanie    349
  21 „DODGER” – GRA Z OBRAZEM I DŹWIĘKIEM    351
  Powtórka z podstawowych typów danych pygame    352
  Przykładowy przebieg gry „Dodger”    353
  Kod źródłowy gry „Dodger”    353
  Importowanie modułów    358
  Konfiguracja stałych    359
  Definiowanie funkcji    360
    Zatrzymywanie i pauzowanie gry    360
    Sprawdzanie kolizji z paskudami    361
    Rysowanie tekstu w oknie    362
  Inicjalizacja pygame i konfiguracja okna    362
  Konfiguracja obiektów Font, Sound i Image    363
  Wyświetlanie ekranu startowego    364
  Rozpoczynanie gry    365
  Główna pętla gry    367
    Obsługa zdarzeń klawiatury    367
    Obsługa ruchów myszy    369
  Dodawanie nowych paskud    369
  Poruszanie postacią gracza i paskudami    371
  Implementacja kodów oszukiwania    372
  Usuwanie paskud    373
  Rysowanie okna    373
    Wyświetlanie wyniku gracza    374
    Rysowanie postaci gracza oraz paskud    374
  Sprawdzanie kolizji    375
  Ekran z napisem Game Over    375
  Modyfikowanie gry „Dodger”    376
  Podsumowanie    377
  SKOROWIDZ    379

W celu zapewnienia wysokiej jakości świadczonych przez nas usług, nasz portal internetowy wykorzystuje informacje przechowywane w przeglądarce internetowej w formie tzw. „cookies”. Poruszając się po naszej stronie internetowej wyrażasz zgodę na wykorzystywanie przez nas „cookies”. Informacje o przechowywaniu „cookies”, warunkach ich przechowywania i uzyskiwania dostępu do nich znajdują się w Regulaminie.

Nie pokazuj więcej tego powiadomienia