Twórz własne gry komputerowe w Pythonie

1 opinia

Format:

epub, mobi, ibuk

DODAJ DO ABONAMENTU

WYBIERZ RODZAJ DOSTĘPU

44,40  74,00

Format: epub, mobi

 

Dostęp online przez myIBUK

WYBIERZ DŁUGOŚĆ DOSTĘPU

Cena początkowa: 74,00 zł (-40%)

Najniższa cena z 30 dni: 44,40 zł  


44,40

w tym VAT

TA KSIĄŻKA JEST W ABONAMENCIE

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

WYBIERZ SWÓJ ABONAMENT

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


Rok wydania2017
Liczba stron416
KategoriaProgramowanie
WydawcaWydawnictwo Naukowe PWN
ISBN-13978-83-01-19400-0
Numer wydania1
Język publikacjipolski
Informacja o sprzedawcyePWN sp. z o.o.

INNE EBOOKI AUTORA

Ciekawe propozycje

Spis treści

  Wstęp do wydania polskiego XVII
  
  WPROWADZENIE XIX
  Dla kogo przeznaczona jest ta książka? XX
  Zawartość książki XXI
  Jak korzystać z tej książki XXII
    Numery wierszy i wcięcia XXIII
    Długie wiersze kodu XXIII
  Pobieranie i instalowanie Pythona XXIV
  Uruchamianie IDLE XXV
  Pomoc online XXVI
  
  1 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
RozwińZwiń
Informacja o cookies
Strona ibuk.pl korzysta z plików cookies w celu dostarczenia Ci oferty jak najlepiej dopasowanej do Twoich oczekiwań i preferencji, jak również w celach marketingowych i analitycznych.
Nasi partnerzy również mogą używać ciasteczek do profilowania i dopasowywania do Ciebie pokazywanych treści na naszych stronach oraz w reklamach.
Poprzez kontynuowanie wizyty na naszej stronie wyrażasz zgodę na użycie tych ciasteczek. Więcej informacji, w tym o możliwości zmiany ustawień cookies, znajdziesz w naszej Polityce Prywatności.

Nie pokazuj więcej tego powiadomienia