Facebook - konwersja
Czytaj fragment
Pobierz fragment

Twórz własne gry komputerowe w Pythonie - ebook

Data wydania:
1 stycznia 2017
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(2w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Czytaj fragment
Pobierz fragment
74,00

Twórz własne gry komputerowe w Pythonie - ebook

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

Kategoria: Dla dzieci
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-01-19400-0
Rozmiar pliku: 6,9 MB

FRAGMENT KSIĄŻKI

Wstęp do wydania polskiego

Przygotowując polskie wydanie kolejnej książki z serii Dla dzieci (poprzednie tytuły: „JavaScript dla dzieci. Programowanie na wesoło”, „Python dla dzieci. Wprowadzenie do programowania na wesoło” i „Nauka programowania z Minecraftem”), wydawca wraz z zespołem tłumaczącym zdecydowali – tak jak poprzednio – o spolszczeniu wszystkich przykładowych programów.

Uzasadnieniem tego zabiegu jest nie tylko ułatwienie nauki osobom, które nie znają języka angielskiego; dzięki temu polskiemu Czytelnikowi łatwiej odróżnić stałe elementy języka programowania (nazwy wbudowanych funkcji, modułów, itp.) od tych, przy tworzeniu których można wykazać się kreatywnością, a jednocześnie wyrobić sobie nawyk opisowego, logicznego stosowania nazw zmiennych, co przydaje się np. w czasie programowania zespołowego. Polskie znaki można bez problemu stosować zarówno w interaktywnej powłoce, jak i edytorze plików Pythona.

Ponadto, mimo że większość prezentowanych w książce gier jest w naszym kraju świetnie znana, przetłumaczenie kodu, a w szczególności komunikatów i instrukcji dla gracza, umożliwia wstępną rozgrywkę i – zgodnie z intencjami autora – zapoznanie się z działającym programem jeszcze przed przystąpieniem do nauki. Paczkę ze spolszczonymi plikami można pobrać spod adresu: http://smartkids.pwn.pl/material/python-dla-dzieci-materialy/.

Ważna uwaga: struktura programów w Pythonie opiera się na tzw. blokach, wydzielanych w kodzie za pomocą spacji umieszczanych na początku wierszy (najczęściej w liczbie 4 lub 8). Podział na bloki zwiększa czytelność kodu, choć wcale to nie jest ich podstawowa rola; bloki muszą być stosowane konsekwentnie i zgodnie z prawidłami języka, bo inaczej program nie zadziała. Ponieważ szerokość strony w książce nie daje możliwości wydrukowania wszystkich wierszy tak, jak powinny zostać wpisane, czyli w jednym kawałku, w kodzie źródłowym zastosowano ich numerację, aby podczas przepisywania i analizowania kodu Czytelnik wiedział, gdzie się zaczyna i gdzie kończy każdy wiersz.WPROWADZENIE

Gdy jako dziecko zacząłem grać w gry wideo, stałem się nałogowym graczem. Ale nie wystarczała mi sama zabawa – chciałem tworzyć gry. Znalazłem książkę (podobną do tej), z której nauczyłem się, jak pisać pierwsze programy i gry. To było miłe i sprawiało mi przyjemność. Pierwsze napisane przez mnie gry przypominały te umieszczone w tej książce. Nie dorównywały grom Nintendo, które kupowali mi rodzice, ale były napisane przeze mnie.

Teraz, jako człowiek dorosły, nadal lubię programować . I do tego na tym zarabiam. Ale nawet jeśli nie chcesz zostać programistą, umiejętność programowania jest przydatna i daje satysfakcję . Pozwala szkolić umysł w zakresie logicznego myślenia i planowania oraz ponownego analizowania swoich pomysłów, gdy okaże się, że w kodzie są błędy.

Większość książek przeznaczonych dla początkujących programistów należy do jednej z dwóch kategorii. Pierwsza obejmuje książki, które nie tyle uczą programowania, ile używania „oprogramowania do tworzenia gier” lub języków, które tak upraszczają ten proces, że przestaje to być nauką programowania. Druga kategoria obejmuje książki, które uczą programowania podobnie jak podręczniki do matematyki – zawierają opis zasad i pojęć, a nie dają czytelnikom wielu przykładów z życia. W tej książce przyjąłem inna metodę – uczę programowania, tworząc gry wideo. Od samego początku pokazuję kod źródłowy opisywanych gier, tłumacząc zasady na przykładach. W taki sposób sam uczyłem się programowania i było to dla mnie bardzo ważne. Im więcej dowiadywałem się o działaniu programów napisanych przez inne osoby, tym więcej miałem pomysłów na swoje własne.

Wszystko, czego potrzebujesz to komputer, bezpłatne oprogramowanie zwane interpreterem języka Python i ta książka. Gdy już nauczysz się z tej książki, jak tworzyć gry, własne będziesz tworzyć samodzielnie.

Komputery to niezwykłe urządzenia, a nauka programowania nie jest tak trudna, jak się wielu wydaje. Program komputerowy to zestaw poleceń zrozumiałych dla komputera, podobnie jak opowiadanie składa się z wielu zdań zrozumiałych dla czytelnika. Polecenia dla komputera przygotowujemy, pisząc program w zrozumiałym dla komputera języku. Dzięki tej książce nauczysz się programować w języku programowania o nazwie Python. Można nauczyć się wielu innych języków programowania, a wśród nich są BASIC, Java, JavaScript, PHP i C++.

Ja, będąc dzieckiem, nauczyłem się języka BASIC, ale Python, jako nowszy język programowania, jest jeszcze łatwiejszy do nauki. Pythona używają także zawodowi programiści – zarówno w pracy, jak i dla przyjemności. Ponadto można go zainstalować i korzystać z niego całkiem za darmo – wystarczy mieć połączenie z Internetem, aby go pobrać.

Ponieważ gry wideo są zwykłymi programami, składają się one z poleceń. Gry, które utworzysz na podstawie tej książki, wydają się proste w porównaniu z grami na Xbox, PlayStation czy Nintendo. Nie mają one wyszukanej grafiki, bo ich zadaniem jest nauka podstaw programowania. Celowo są proste, aby można było skupić się na nauce programowania. Gry nie muszą być skomplikowane, aby były fajne!

Dla kogo przeznaczona jest ta książka?

Programowanie nie jest trudne, ale trudno znaleźć materiały, z których można się nauczyć, jak za jego pomocą zrobić coś ciekawego. Inne książki komputerowe zawierają wiele treści, które nie są potrzebne początkującym programistom. Dzięki tej książce dowiesz się, jak programować własne gry; opanujesz przydatne umiejętności, bawiąc się przy tym grami będącymi ilustracją nauki. Książka ta jest przeznaczona dla:

• zupełnych nowicjuszy, którzy chcą nauczyć się programowania, nawet jeśli nie mają żadnego wcześniejszego doświadczenia;

• dzieci i nastolatków, którzy chcą nauczyć się programowania, tworząc gry;

• dorosłych i nauczycieli, którzy chcą uczyć innych programowania;

• każdego – młodego czy starego – kto chce nauczyć się programować, poznając profesjonalny język programowania.

Zawartość książki

W większości rozdziałów tej książki znajdziesz omówienie i wyjaśnienie jednej gry. Kilka rozdziałów dotyczy innych przydatnych tematów, takich jak wyszukiwanie błędów (debugowanie). Nowe pojęcia programistyczne są tłumaczone w miarę wykorzystywania ich przez gry, a rozdziały trzeba czytać po kolei. Oto krótki przegląd zawartości wszystkich rozdziałów.

• Rozdział 1: Powłoka interaktywna zawiera objaśnienie, jak korzystać z powłoki interaktywnej Pythona do sprawdzania kodu wiersz po wierszu.

• Rozdział 2: Pisanie programów zawiera zasady pisania pełnych programów w edytorze plików Pythona.

• W rozdziale 3: „Zgadnij, jaka to liczba”, napiszesz pierwszy program z tej książki, „Zgadnij, jaka to liczba”. Prosi on gracza o odgadnięcie nieznanej liczby, a następnie podaje mu wskazówki, czy podana przez niego liczba jest za duża czy za mała.

• W rozdziale 4: Program opowiadający dowcipy napiszesz prosty program, który „opowiada” użytkownikowi kilka dowcipów.

• W rozdziale 5: „Smocza kraina” zaprogramujesz zgadywankę, w której gracz musi wybrać jedną z dwóch jaskiń ze smokami: jeden z nich jest przyjazny, a drugi bardzo głodny.

• W rozdziale 6: Korzystanie z debugera dowiesz się, jak używać debugera do poprawiania błędów w kodzie.

• Rozdział 7: Projektowanie gry „Szubienica” z wykorzystaniem schematów blokowych zawiera objaśnienie, jak używać schematu blokowego do planowania dłuższych programów. Takim programem jest gra w „Szubienicę”.

• W rozdziale 8: Pisanie kodu gry „Szubienica” napiszesz tę grę na podstawie schematu blokowego przygotowanego w rozdziale 7.

• W rozdziale 9: Rozbudowa gry „Szubienica” rozszerzymy grę o dodatkowe funkcje, wprowadzając używany w Pythonie typ danych słownikowych.

• W rozdziale 10: „Kółko i krzyżyk” dowiesz się, jak napisać grę w kółko i krzyżyk rozgrywaną między człowiekiem a komputerem, w której wykorzystujemy sztuczną inteligencję.

• W rozdziale 11: Dedukcyjna gra „Bagels” nauczysz się, jak utworzyć grę dedukcyjną o nazwie „Bagels”, w której gracz musi odgadnąć ukryte liczby na podstawie podanych wskazówek.

• Rozdział 12: Układ współrzędnych kartezjańskich zawiera omówienie układu współrzędnych, który jest używany w wielu kolejnych grach.

• W rozdziale 13: Gra „Poszukiwanie skarbu sonarem” dowiesz się, jak napisać grę w poszukiwanie skarbu, w której gracz poszukuje w oceanie skrzyń z zagubionymi skarbami.

• W rozdziale 14: „Szyfr Cezara” utworzysz prosty program szyfrujący, który pozwala na pisanie i kodowanie ukrytych komunikatów.

• W rozdziale 15: Gra „Reversegam” zaprogramujesz skomplikowaną grę między człowiekiem a komputerem, w której przeciwnik w postaci sztucznej inteligencji jest praktycznie niepokonany.

• W rozdziale 16: Symulacja SI w grze „Reversegam” gra z rozdziału 15 zostaje rozwinięta, aby kilka sztucznych inteligencji konkurowało w grze komputera z komputerem.

• Rozdział 17: Tworzenie grafiki zawiera wprowadzenie modułu pygame języka Python i opis sposobu wykorzystania go do tworzenia grafiki dwuwymiarowej (2D).

• W rozdziale 18: Animowana grafika pokazano, jak wykorzystać moduł pygame do animacji grafiki.

• W rozdziale 19: Wykrywanie kolizji nauczysz się, jak wykryć kolizje między obiektami w dwuwymiarowej grze.

• W rozdziale 20: Wykorzystywanie dźwięków i obrazów usprawnisz swoje proste gry z pygame, dodając do nich dźwięki i obrazy.

• W rozdziale 21: „Dodger” – gra z obrazem i dźwiękiem łączymy pojęcia z rozdziałów od 17 do 20, aby utworzyć animowaną grę o nazwie „Dodger”.

Jak korzystać z tej książki

Większość rozdziałów tej książki rozpoczyna się od przykładowego uruchomienia omawianego programu. Taka próbka pokazuje, jak program wygląda podczas działania. Teksty wprowadzane przez użytkownika są pogrubione.

Kod programu lepiej wprowadzać w edytorze plików IDLE, a nie kopiować go i wklejać. Wpisując samodzielnie kod, więcej z niego zapamiętasz.

Numery wierszy i wcięcia

Wpisując kod źródłowy, nie należy wprowadzać numeru wiersza na początku każdego wiersza. Na przykład w poniższym wierszu kodu nie wpisujemy 9. po lewej stronie ani odstępu po kropce:

9. liczba = random.randint(1, 20)

Wprowadzamy tylko to:

liczba = random.randint(1, 20)

Numeracja wierszy jest umieszczona w książce tylko po to, aby łatwiej było odwoływać się do poszczególnych wierszy programu. Numery te nie są częścią kodu źródłowego.

Poza numerami wierszy należy wprowadzać kod dokładnie tak jak jest napisany w książce. Warto zauważyć, że niektóre wiersze są wcięte o cztery, osiem lub więcej spacji. Spacje na początku wiersza zmieniają sposób, w jaki Python interpretuje polecenia, są więc bardzo istotne i nie można ich pominąć.

Popatrz na przykład. Spacje są tu zaznaczone czarnymi kółeczkami (•), aby łatwiej było je zauważyć.

while strzały < 10:

••••if liczba == 42:

••••••••print('Hello')

Pierwszy wiersz nie ma wcięcia, drugi jest wcięty na cztery spacje, zaś trzeci ma wcięcie wynoszące osiem spacji. Wprawdzie w przykładach z książki nie ma tych czarnych kółeczek, ale każdy znak w IDLE ma tę samą szerokość, więc można policzyć liczbę spacji na podstawie znaków w wierszu powyżej lub poniżej.

Długie wiersze kodu

Niektóre polecenia są zbyt długie, aby zmieściły się w jednym wierszu i będą w książce przeniesione do kolejnego wiersza. Wiersz zmieści się jednak na ekranie i należy go wpisywać bez naciskania klawisza ENTER. Początek nowego polecenia łatwo rozpoznać po numerze wiersza umieszczonym po lewej stronie. W poniższym przykładzie są tylko dwa polecenia:

1. print('To jest pierwsze polecenie!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')

2. print('To jest drugie, a nie trzecie polecenie.')

Pierwsze z nich przechodzi do drugiego wiersza, ale nie ma on numeru, więc jest to dalej wiersz numer 1 kodu.

Pobieranie i instalowanie Pythona

Musisz zainstalować program określany jako interpreter Pythona. Jest to program, który rozumie polecenia pisane w języku Python. Od tego miejsca będę nazywał interpreter Pythona po prostu Pythonem.

W tym punkcie pokażę, jak pobrać i zainstalować Pythona 3 – a konkretnie wersję Python 3.4 – dla systemu Windows, OS X lub Ubuntu. Są już nowsze wersje Pythona, ale moduł pygame, który jest używany w rozdziałach od 17 do 21, jest aktualnie obsługiwany tylko przez wersje do 3.4.

Trzeba wiedzieć, że istnieją istotne różnice pomiędzy wersjami Python 2 i Python 3. Programy w tej książce korzystają z Pythona 3 i próba ich uruchomienia w Pythonie 2 spowoduje pojawienie się błędów. Jest to na tyle ważne, że dodałem rysunek pingwina, aby o tym przypomnieć.

W systemie Windows pobierz instalator Windows x86-64 MSI z witryny https://www.python.org/downloads/release/python-344/, a potem dwukrotnie go kliknij. Być może trzeba będzie wprowadzić hasło administratora komputera.

Aby zainstalować Pythona, postępuj zgodnie z instrukcjami instalatora, które pojawiają się na ekranie, jak podano poniżej:

1. Wybierz Install for All Users (Zainstaluj dla wszystkich użytkowników), a następnie kliknij Next (Dalej).

2. Zainstaluj program w folderze C:\Python34, klikając Next.

3. Kliknij Next, aby pominąć część Customize Python (Dostosuj Pythona).

W systemie OS X pobierz instalator Mac OS X 64-bit/32-bit z witryny https://www.python.org/downloads/release/python-344/, a następnie dwukrotnie go kliknij. Postępuj zgodnie z instrukcjami, które pojawiają się na ekranie, jak podano poniżej:

1. Jeśli pojawi się ostrzeżenie „‘Python.mpkg’ can’t be opened because it is from an unidentifed developer” (Nie można otworzyć Python.mpkg, gdyż pochodzi z nieznanego źródła), podczas dwukrotnego kliknięcia należy przytrzymać klawisz Ctrl, a następnie wybrać z pojawiającego się menu opcję Open (Otwórz). Może być konieczne podanie hasła administratora twojego komputera.

2. W części Welcome kliknij Continue (Kontynuuj), a następnie kliknij Agree, aby wyrazić zgodę na warunki licencji.

3. Wybierz Macintosh HD (lub inny dysk twardy na swoim komputerze), a następnie kliknij Install (Zainstaluj).

Jeśli masz system Ubuntu, możesz zainstalować Pythona z Centrum Oprogramowania Ubuntu, wykonując poniższe kroki:

1. Otwórz Centrum Oprogramowania Ubuntu.

2. Wprowadź Python w polu wyszukiwania, w prawym górnym rogu okna.

3. Wybierz IDLE (Python 3.4 GUI 64 bit).

4. Kliknij Install. Może być konieczne podanie hasła administratora twojego komputera

Jeśli powyższe kroki nie odniosą skutku, innych metod instalacji Pythona 3.4 można poszukać na witrynie https://www.nostarch.com/inventwithpython/.

Uruchamianie IDLE

IDLE to skrót od for Interactive DeveLopment Environment (Interaktywne środowisko programistyczne). IDLE to rodzaj edytora tekstów przeznaczonego do pisania programów w Pythonie. Uruchamianie IDLE wygląda inaczej dla każdego systemu operacyjnego:

• W systemie Windows kliknij menu Start w lewym dolnym rogu ekranu, wpisz IDLE, a następnie wybierz IDLE (Python GUI).

• W systemie OS X otwórz Finder i kliknij Applications (Aplikacje). Dwukrotnie kliknij Python 3.x, a następnie dwukrotnie kliknij ikonę IDLE.

• W systemie Ubuntu lub innej wersji systemu Linux otwórz okno terminalu i wpisz idle3. Może też trzeba będzie kliknąć Applications u góry ekranu. Następnie kliknij Programming i IDLE 3.

Przy pierwszym uruchomieniu IDLE pojawi się okno z powłoką interaktywną, co widać na rysunku 1. W powłoce tej możesz wpisywać polecenia języka Python po zgłoszeniu w postaci >>>, a Python wykona te polecenia . Po wykonaniu polecenia przez komputer pojawi się kolejne zgłoszenie >>>, a system będzie czekał na kolejne polecenie.

Rysunek 1. Powłoka interaktywna w IDLE

Pomoc online

Pliki z kodem źródłowym, wraz z innymi zasobami związanymi z książką, znajdują się na witrynie http://smartkids.pwn.pl/material/python-dladzieci-materialy/. Jeśli chcesz zadać pytanie związane z programami z tej książki, możesz odwiedzić witrynę https://reddit.com/r/inventwithpython/ lub napisać email z pytaniem do autora na adres [email protected].

Zanim zadasz pytanie:

• Sprawdź, czy podczas przepisywania programu z książki nie został popełniony błąd.

• Sprawdź w sieci, czy ktoś nie zadał wcześniej tego samego pytania i nie otrzymał na nie odpowiedzi.

Pamiętaj, że im lepiej sformułujesz pytania, tym lepiej inni będą mogli ci pomóc. Zadając pytania zawsze pamiętaj, aby:

• Wyjaśnić działanie wykonywane, gdy pojawił się błąd. To pomoże zorientować się, czy nie znajdujesz się na całkiem niewłaściwej drodze.

• Skopiować i wkleić cały komunikat o błędzie i swój kod programu.

• Podać nazwę i wersję systemu operacyjnego.

• Wyjaśnić, jakie próby rozwiązania problemu były podejmowane. To pokaże, że przed zadaniem pytania została podjęta przez ciebie próba samodzielnego rozwiązania problemu.

• Bądź uprzejmy. Nie żądaj natychmiastowej pomocy i nie wywieraj presji na udzielających odpowiedzi.

Gdy już wiesz, jak prosić o pomoc, możesz zacząć naukę programowania własnych gier!1 POWŁOKA INTERAKTYWNA

Zanim nauczysz się pisać gry, musisz opanować kilka podstawowych pojęć programistycznych. Rozdział ten zaczniemy od poznania sposobu korzystania z interaktywnej powłoki Pythona i wykonywania podstawowych działań arytmetycznych.

TEMATY OMÓWIONE W TYM ROZDZIALE

• Operatory

• Liczby całkowite i rzeczywiste

• Wartości

• Wyrażenia

• Błędy składniowe

• Zapisywanie wartości w zmiennych

Kilka prostych działań matematycznych

Uruchom IDLE, tak jak to opisano w punkcie „Uruchamianie IDLE”, na stronie xxv. Najpierw użyjemy Pythona do rozwiązania kilku prostych zadań matematycznych. Powłoka interaktywna może pełnić rolę kalkulatora. Po znaku zgłoszenia powłoki wpisujemy 2 + 2 i naciskamy ENTER. (Na niektórych klawiaturach klawisz ten nazywa się RETURN.) Na rysunku 1.1 pokazano, jak w powłoce interaktywnej wygląda to zadanie matematyczne – widzimy, że wynikiem jest liczba 4.

Rysunek 1.1. Wpisywanie 2 + 2 w powłoce interaktywnej

To zadanie matematyczne można rozwiązać za pomocą prostego polecenia programistycznego. Znak plus (+) informuje komputer, że należy dodać liczby 2 i 2. Komputer robi to i w kolejnym wierszu podaje w odpowiedzi liczbę 4. W tabeli 1.1 zebrano pozostałe symbole matematyczne dostępne w Pythonie.

Tabela 1.1. Operatory matematyczne

---------- -------------
Operator Działanie
+ Dodawanie
- Odejmowanie
* Mnożenie
/ Dzielenie
---------- -------------

Minus (-) służy do odejmowania liczb, gwiazdka (*) do ich mnożenia, a prawy ukośnik (/) do dzielenia liczb. Używane w ten sposób symbole +, -, * i / są nazywane operatorami. Operatory mówią Pythonowi, co ma robić ze stojącymi przy nich liczbami.

Liczby całkowite i rzeczywiste

Liczby całkowite (ang. integer, w skrócie int) to na przykład 4, 99 i 0. Liczby rzeczywiste (ang. floating-point, w skrócie float), nazywane w informatyce wartościami zmiennoprzecinkowymi, to liczby z częścią ułamkową, czyli mające cyfry po przecinku, np. 3.5, 42.1 i 5.0. Zatem 5 jest w Pythonie liczbą całkowitą, a 5.0 to liczba rzeczywista.

Liczby te nazywane są wartościami (ang. value). (Później, oprócz liczb, poznamy jeszcze inne rodzaje wartości.) W zadaniu matematycznym, które wpisaliśmy w powłoce, 2 i 2 to wartości całkowitoliczbowe.

Wyrażenia

Zadanie matematyczne 2 + 2 to przykład wyrażenia (ang. expression). Jak widzimy na rysunku 1.2, wyrażenia składają się z wartości (liczb) połączonych operatorami (symbole matematyczne) i tworzą nową wartość, która może być użyta w kodzie. Komputery potrafią przetwarzać miliony wyrażeń w ciągu sekund.

Rysunek 1.2. Wyrażenie składa się z wartości i operatorów

Wpiszmy kilka z tych wyrażeń w powłoce interaktywnej, naciskając ENTER po każdym z nich:

>>> 2+2+2+2+2

10

>>> 8*6

48

>>> 10-5+6

11

>>> 2 + 2

4

Wszystkie te wyrażenia wyglądają jak zwykłe równania matematyczne, ale zwróćmy uwagę na spacje w przykładzie 2 + 2. W Pythonie między wartościami i operatorami można umieścić dowolną liczbę spacji. Jednak wpisując polecenia w powłoce interaktywnej, trzeba zawsze zaczynać od początku wiersza (bez spacji).

Wyznaczanie wartości wyrażeń

Gdy komputer rozwiązuje wyrażenie 10 + 5 i zwraca wartość 15, mówimy, że wyznaczył wartość (ang. evaluate) tego wyrażenia. Wyznaczenie wartości wyrażenia to zastąpienie go pojedynczą wartością, tak jak rozwiązanie zadania matematycznego to sprowadzenie go do jednej liczby: odpowiedzi. Na przykład wyznaczoną wartością zarówno wyrażenia 10 + 5, jak i 10 + 3 + 2, jest 15.

Gdy Python wyznacza wartość jakiegoś wyrażenia, przestrzega kolejności wykonywania działań obowiązującej w matematyce. Oto kilka z tych zasad:

• Najpierw wyznaczana jest wartość tych części wyrażenia, które znajdują się w nawiasach.

• Mnożenie i dzielenie są wykonywane przed dodawaniem i odejmowaniem.

• Wyznaczanie wartości odbywa się od lewej do prawej.

Wartość wyrażenia 1 + 2 * 3 + 4 zostaje wyznaczona na 11, a nie na 13, ponieważ na początku wykonywane jest mnożenie 2 * 3. Gdyby wyrażeniem było (1 + 2) * (3 + 4), wynikiem byłaby wartość 21, ponieważ fragmenty w nawiasach, (1 + 2) i (3 + 4), są obliczane przed mnożeniem.

Wyrażenia mogą zawierać dowolną liczbę działań, lecz wyznaczona wartość zawsze jest jedna. Nawet pojedyncze wartości to wyrażenia. Na przykład wyrażenie 15 zostaje sprowadzone do wartości 15. A wartość wyrażenia 8 * 3 / 2 + 2 + 7 – 9 zostanie wyznaczona na 12.0 w następujący sposób:

Mimo że komputer wykonuje wszystkie powyższe działania, nie zobaczymy ich w powłoce interaktywnej, a jedynie ich wynik:

>>> 8 * 3 / 2 + 2 + 7 – 9

12.0

Zwróćmy uwagę, że wartością wyznaczaną wyrażeń z operatorem dzielenia, /, jest zawsze liczba rzeczywista; na przykład wynikiem wyrażenia 24 / 2 jest 12.0. To samo dotyczy każdego działania matematycznego, które zawiera choćby jedną wartość zmiennoprzecinkową, więc wynikiem 12.0 + 2 jest 14.0.

Błędy składniowe

Jeśli w powłoce interaktywnej wpiszesz 5 +, otrzymasz poniższy komunikat o błędzie:

>>> 5 +

SyntaxError: invalid syntax

Ten błąd pojawił się, ponieważ 5 + nie jest wyrażeniem. Wyrażenia zawierają wartości połączone operatorami, a operator + oczekuje wartości przed i po nim. Komunikat o błędzie pojawia się przy braku takiej oczekiwanej wartości.

SyntaxError oznacza, że Python nie rozumie polecenia, ponieważ zostało wpisane nieprawidłowo. Programowanie komputerów to nie tylko wydawanie komputerom poleceń do wykonania, ale również wiedza, jak robić to prawidłowo.

Nie należy się jednak przejmować popełnianiem pomyłek. Błędy nie uszkodzą komputera. Musisz po prostu raz jeszcze wpisać – tym razem prawidłowo – polecenie w powłoce interaktywnej, po kolejnym zgłoszeniu >>>.

Zapisywanie wartości w zmiennych

Po wyznaczeniu wartości wyrażenia można ją zapisać w zmiennej (ang. variable), aby móc ją później wykorzystać. Zmienna to pewnego rodzaju pudełko służące do przechowywania wartości.

Instrukcja przypisania (ang. assignment statement) spowoduje zapisanie wartości w zmiennej. Najpierw wpisujesz nazwę zmiennej, następnie znak równości (=) zwany operatorem przypisania, a na końcu wartość, którą chcesz zapisać w tej zmiennej. Dla przykładu, wpisz w powłoce:

>>> mielonka = 15

>>>

W pudełku zmiennej mielonka znajduje się teraz wartość 15 (patrz rys. 1.3).

Rysunek 1.3. Zmienne są jak pudełka, w których można przechowywać wartości

Po naciśnięciu klawisza ENTER nie dostaniesz żadnej odpowiedzi. Jeśli w Pythonie nie pojawi się żaden komunikat o błędzie, to oznacza, że polecenie zakończyło się powodzeniem. Pojawia się wtedy znak zgłoszenia >>>, po którym można wprowadzać kolejne polecenia.

W przeciwieństwie do wyrażeń, instrukcje (ang. statement) to polecenia, które nie wyznaczają żadnej wartości. Dlatego właśnie w powłoce interaktywnej, w nowym wierszu po mielonka = 15 nic nie jest wyświetlane. Jeśli nie masz pewności, czy dane polecenie jest wyrażeniem czy instrukcją, przypomnij sobie, że wyrażenia dają nam pojedynczą wartość. Wszystkie pozostałe polecenia to instrukcje.

W zmiennych przechowywane są wartości, a nie wyrażenia. Weźmy na przykład wyrażenia w instrukcjach mielonka = 10 + 5 i mielonka = 10 + 7 – 2. Wartością obu tych wyrażeń jest 15. Wynik końcowy jest taki sam: obie instrukcje przypisania zapisują wartość 15 w zmiennej mielonka.

Dobra nazwa zmiennej opisuje zawarte w niej dane. Wyobraź sobie, że przeprowadzasz się do nowego mieszkania i na wszystkich kartonach piszesz słowo Rzeczy. W ten sposób nigdy niczego nie znajdziesz! W tej książce będziemy używali nazw takich jak na przykład mielonka, jajka i bekon.

Python tworzy zmienną przy jej pierwszym użyciu w instrukcji przypisania. Aby sprawdzić, jaką wartość ma zmienna, wpisz jej nazwę w powłoce interaktywnej:

>>> mielonka = 15

>>> mielonka

15

Wartością wyrażenia mielonka jest wartość zapisana w zmiennej mielonka, czyli 15.

Zmiennych można używać również w wyrażeniach. Wpisz w powłoce interaktywnej :

>>> mielonka = 15

>>> mielonka + 5

20

Wartość zmiennej mielonka jest ustawiona na 15, więc wpisanie mielonka + 5 ma taki sam skutek jak wpisanie wyrażenia 15 + 5. Oto etapy wyznaczania wartości mielonka + 5:

Nie można użyć zmiennej przed utworzeniem jej za pomocą instrukcji przypisania. Jeśli spróbujesz tak zrobić, Python odpowie błędem NameError, ponieważ nie istnieje jeszcze zmienna o tej nazwie. Błędne wpisanie nazwy zmiennej również powoduje ten błąd:

>>> mielonka = 15

>>> miolenka

Traceback (most recent call last):

File "", line 1, in

miolenka

NameError: name 'miolenka' is not defined

Błąd ten pojawił się, ponieważ nie istnieje zmienna o nazwie miolenka, lecz o nazwie mielonka.

Wartość przechowywaną w zmiennej można zmienić, wpisując kolejną instrukcję przypisania. Wpisz w powłoce interaktywnej taki przykład:

>>> mielonka = 15

>>> mielonka + 5

20

>>> mielonka = 3

>>> mielonka + 5

8

Przy pierwszym wpisaniu mielonka + 5 wartością wyrażenia jest 20, ponieważ w zmiennej mielonka została zapisana wartość 15. Jednak po wpisaniu mielonka = 3, wartość 15 w pudełku zmiennej zostaje zastąpiona, czyli nadpisana (ang. overwritten) wartością 3, ponieważ zmienna może w danym momencie przechowywać tylko jedną wartość. Ponieważ wartość zmiennej mielonka to w tej chwili 3, po wpisaniu mielonka + 5 wartość wyrażenia zostanie wyznaczona na 8. Nadpisanie to wyjęcie z pudełka zmiennej starej wartości i włożenie nowej (patrz rys. 1.4).

Rysunek 1.4. Wartość 15 w zmiennej mielonka została zastąpiona wartością 3

Instrukcja przypisania mielonka = mielonka + 5 oznacza: „Nową wartością zmiennej mielonka będzie bieżąca wartość zmiennej mielonka plus 5”. Aby kilkukrotnie zwiększyć wartość zmiennej mielonka o 5, wpisz następujące wiersze w powłoce interaktywnej:

>>> mielonka = 15

>>> mielonka = mielonka + 5

>>> mielonka = mielonka + 5

>>> mielonka = mielonka + 5

>>> mielonka

30

W pierwszej instrukcji w tym przykładzie przypisujesz zmiennej mielonka wartość 15. W kolejnej instrukcji, do wartości zmiennej mielonka dodajesz 5, czyli przypisujesz zmiennej mielonka nową wartość, mielonka + 5, co daje wynik 20. Gdy zrobisz to trzy razy, wartość mielonka będzie wynosiła 30.

Do tej pory zajmowaliśmy się tylko jedną zmienną, ale możesz utworzyć tyle zmiennych, ile będziesz potrzebować w programie. Dla przykładu przypiszemy różne wartości dwóm zmiennym o nazwach jajka i bekon:

>>> bekon = 10

>>> jajka = 15

Teraz w zmiennej bekon znajduje się wartość 10, a w zmiennej jajka wartość 15. Każda zmienna to niezależne pudełko ze swoją własną wartością (patrz rys. 1.5).

Rysunek 1.5. Zmienne bekon i jajka niezależnie przechowują swoje wartości

W powłoce interaktywnej wpisz mielonka = bekon + jajka, a następnie sprawdź nową wartość zmiennej mielonka:

>>> bekon = 10

>>> jajka = 15

>>> mielonka = bekon + jajka

>>> mielonka

25

Wartość zmiennej mielonka to w tej chwili 25. Dodając do siebie zmienne bekon i jajka, dodajesz ich wartości, które wynoszą odpowiednio 10 i 15. Zmienne zawierają wartości, a nie wyrażenia, więc zmiennej mielonka przypisano wartość 25, a nie wyrażenie bekon + jajka. Po przypisaniu zmiennej mielonka wartości 25 za pomocą instrukcji mielonka = bekon + jajka, zmiana wartości bekon lub jajka nie będzie miała wpływu na zmienną mielonka.

Podsumowanie

W tym rozdziale opisano podstawy pisania poleceń w Pythonie. Ponieważ komputery nie mają zdrowego rozsądku i rozumieją tylko konkretne polecenia, musisz w Pythonie podać dokładnie, co ma być zrobione.

Wyrażenia to wartości (jak 2 lub 5) połączone z operatorami (jak + lub -). Python potrafi wyznaczyć wartość wyrażenia, czyli sprowadzić go do pojedynczej wartości. Wartości można zapisywać w zmiennych i dzięki temu program może je zapamiętywać, i później z nich korzystać.

W Pythonie występuje jeszcze kilka innych rodzajów operatorów i wartości. W kolejnym rozdziale poznasz kilka kolejnych pojęć podstawowych i napiszesz pierwszy program. Nauczysz się używać tekstu w wyrażeniach. Python nie ogranicza się do liczb – to znacznie więcej niż kalkulator!
mniej..

BESTSELLERY

Kategorie: