programowanie gier. kompendium helion, ebooki
[ Pobierz całość w formacie PDF ]
IDZ DO
PRZYK£ADOW
Programowanie gier.
SPIS TRECI
Kompendium
Autor: Bruno Miguel Teixeira de Sousa
T³umaczenie: Bochenek Adam, Dobrzañski
Jaros³aw, Dzieniszewski S³awomir
ISBN: 83-7361-119-3
Tytu³ orygina³
Format: B5, stron: 776
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
Ksi¹¿ka „Programowanie gier. Kompendium” dostarczy ca³ej potrzebnej wiedzy,
by sta³ siê twórc¹ pasjonuj¹cych gier komputerowych.
Podzielona na rozdzia³y zgodnie z poziomem zaawansowania, opisuje kolejno wszystkie
aspekty dotycz¹ce programowania gier. Mniej dowiadczeni czytelnicy poznaæ mog¹
zasady pos³ugiwania siê jêzykiem C++ i sprawdziæ swe umiejêtnoci pisz¹c dwie gry
tekstowe. Ale to tylko rozgrzewka przed skokiem w krainê DirectX i poznaniem
podstawowych sk³adników tej najbardziej rozrywkowej z bibliotek, czyli DirectX
Graphics, DirectSound i DirectInput. Twoje umiejêtnoci podniesie z pewnoci¹
zaprojektowanie w³asnych, uniwersalnych modu³ów, z pomoc¹ których tworzone
s¹ przyk³adowe programy.
Kolejna czêæ ksi¹¿ki opisuje w przystêpny sposób bardziej zaawansowane tematy,
takie jak matematyczne podstawy tworzenia gier, modelowanie fizyczne, sztuczna
inteligencja. Na zakoñczenie dowiesz siê, jak napisaæ prawdziw¹, du¿¹ i atrakcyjn¹
grê i... jak j¹ sprzedaæ.
Ksi¹¿ka zawiera:
• Podstawy C++ i rodowiska Visual C++
• Zmienne, operatory, funkcje C++
• Projekty wieloplikowe i preprocesor
• £añcuchy i wskaniki
• Programowanie obiektowe: klasy, dziedziczenie
• Strumienie danych
• Projektowanie du¿ych aplikacji
• Projektowanie bibliotek gier
• Wprowadzenie do programowania w Windows i DirectX
• Grafika w DirectX, DirectInput i DirectSound
• Podstawowe algorytmy i struktury danych
• Matematyczne aspekty programowania gier
• Sztuczna inteligencja w grach
• Modelowanie fizyczne — pisanie gier opartych na prawach fizyki
• Publikowanie gier
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
O Autorze..............................................................................................17
Wstp ...................................................................................................19
Cz I Programowanie w jzyku C++ .............................................21
Rozdział 1. Wprowadzenie do programowania w C++................................................23
Dlaczego akurat C++?...............................................................................................................23
Praca z edytorem Visual C++ ...................................................................................................24
Tworzenie obszaru roboczego............................................................................................24
Tworzenie projektów..........................................................................................................25
Tworzenie i dodawanie plików...........................................................................................26
Pierwszy program: „Witajcie, dobrzy ludzie” ..........................................................................27
Struktura programu w C++.......................................................................................................30
J.zyk projektowania programów (PDL).............................................................................31
Kod 4ródłowy i jego kompilacja.........................................................................................32
Obiekty i konsolidacja........................................................................................................32
Plik wykonywalny ..............................................................................................................33
Komentarze...............................................................................................................................33
Szukanie bł.dów .......................................................................................................................34
Ostrze7enia................................................................................................................................36
Podsumowanie..........................................................................................................................37
Pytania i odpowiedzi.................................................................................................................38
9wiczenia..................................................................................................................................39
Rozdział 2. Zmienne i operatory..............................................................................41
Zmienne i pami.<......................................................................................................................41
Typy zmiennych........................................................................................................................42
U7ywanie zmiennych w programach........................................................................................44
Deklarowanie zmiennej ......................................................................................................44
U7ywanie zmiennych..........................................................................................................45
Inicjowanie zmiennych.......................................................................................................46
Modyfikatory zmiennych..........................................................................................................47
Stałe (const) ........................................................................................................................47
Zmienna typu register.........................................................................................................48
Nazewnictwo zmiennych..........................................................................................................49
Redefinicja nazw typów............................................................................................................49
Co to jest operator? ...................................................................................................................50
Operator przyporzDdkowania..............................................................................................50
Operatory matematyczne....................................................................................................50
6
Programowanie gier. Kompendium
Operatory jednoargumentowe ............................................................................................51
Operatory dwuargumentowe ..............................................................................................52
Zło7one operatory przyporzDdkowania ..............................................................................53
Operatory przesuni.cia bitowego..............................................................................................54
Operatory porównania...............................................................................................................54
Operator warunkowy.................................................................................................................55
Operatory logiczne....................................................................................................................56
KolejnoE< operatorów ...............................................................................................................57
Podsumowanie..........................................................................................................................58
Pytania i odpowiedzi.................................................................................................................59
9wiczenia..................................................................................................................................59
Rozdział 3. Funkcje i przebieg programu ..................................................................61
Funkcje: czym sD i do czego si. przydajD? ...............................................................................61
Tworzenie i korzystanie z funkcji.............................................................................................63
Deklarowanie prototypu .....................................................................................................63
Parametry domyElne..................................................................................................................66
Zakres zmiennej........................................................................................................................67
Zmienne lokalne .................................................................................................................68
Zmienne globalne ...............................................................................................................68
Zmienne statyczne ..............................................................................................................69
Rekurencja ................................................................................................................................70
O czym warto pami.ta<, korzystajDc z funkcji? .......................................................................72
Przebieg programu....................................................................................................................73
Bloki kodu i pojedyncze instrukcje...........................................................................................73
Instrukcje if, else if i else ..........................................................................................................73
if74
else......................................................................................................................................75
P.tle while, do ... while i for.....................................................................................................76
while ...................................................................................................................................76
do ... while ..........................................................................................................................77
for........................................................................................................................................78
Przerywanie i kontynuacja p.tli................................................................................................80
break ...................................................................................................................................80
continue...............................................................................................................................80
Instrukcja switch .......................................................................................................................82
Liczby losowe ...........................................................................................................................84
Pierwsza gra — „Craps” ...........................................................................................................87
Cel.......................................................................................................................................87
Zasady.................................................................................................................................87
Projekt.................................................................................................................................87
Implementacja.....................................................................................................................88
Podsumowanie..........................................................................................................................94
Pytania i odpowiedzi.................................................................................................................94
9wiczenia..................................................................................................................................94
Rozdział 4. Projekty wieloplikowe i preprocesor .......................................................97
Pliki 4ródłowe a pliki nagłówków ............................................................................................97
Korzystanie z wielu plików.......................................................................................................98
Co to jest preprocesor?............................................................................................................100
Unikanie podwójnych załDczeI ..............................................................................................101
U7ycie dyrektywy #pragma..............................................................................................102
U7ycie #ifdef, #define i #endif.........................................................................................102
Makra......................................................................................................................................104
Inne dyrektywy preprocesora..................................................................................................105
Spis treci
7
Podsumowanie........................................................................................................................105
9wiczenia................................................................................................................................105
Rozdział 5. Tablice, wska-niki i ła.cuchy...............................................................107
Czym jest tablica?...................................................................................................................107
Deklarowanie i u7ywanie tablicy............................................................................................107
Deklaracja.........................................................................................................................108
U7ywanie tablic ................................................................................................................108
Inicjowanie tablicy............................................................................................................110
Tablice wielowymiarowe........................................................................................................111
Co wskazujD wska4niki?.........................................................................................................113
Wska4niki a zmienne ..............................................................................................................114
Deklaracja i inicjowanie ...................................................................................................114
U7ywanie wska4ników.....................................................................................................114
Wska4niki a tablice.................................................................................................................116
ZwiDzek wska4ników z tablicami.....................................................................................116
Przesyłanie tablic do funkcji.............................................................................................116
Deklaracja i rezerwacja pami.ci dla wska4nika .....................................................................118
Rezerwacja pami.ci..........................................................................................................118
Uwalnianie pami.ci ..........................................................................................................119
Operatory wska4nikowe..........................................................................................................121
Manipulowanie pami.ciD........................................................................................................124
memcpy.............................................................................................................................124
memset..............................................................................................................................125
ŁaIcuchy.................................................................................................................................125
ŁaIcuchy a tablice............................................................................................................125
Korzystanie z łaIcuchów..................................................................................................125
Operacje na łaIcuchach....................................................................................................126
Podsumowanie........................................................................................................................141
Pytania i odpowiedzi...............................................................................................................141
9wiczenia................................................................................................................................142
Rozdział 6. Klasy...................................................................................................143
Czym jest klasa?......................................................................................................................143
Nowe typy.........................................................................................................................144
Tworzenie klas........................................................................................................................144
Projektowanie ...................................................................................................................144
Definiowanie.....................................................................................................................145
Implementacja...................................................................................................................146
Korzystanie z klas...................................................................................................................146
Składowe prywatne, publiczne i chronione ............................................................................146
Tryb prywatny (private)....................................................................................................147
Tryb publiczny (public)....................................................................................................147
Tryb chroniony (protected)...............................................................................................148
Który tryb jest najlepszy?.................................................................................................148
Konstruktory i destruktory......................................................................................................149
Konstruktor domyElny ......................................................................................................149
Konstruktory ogólne.........................................................................................................150
Konstruktor kopiujDcy i wskazania ..................................................................................150
Destruktor .........................................................................................................................151
Przeładowywanie operatorów.................................................................................................152
Przykład zastosowania klas — klasa String............................................................................153
Podstawy dziedziczenia i polimorfizmu .................................................................................158
Dziedziczenie....................................................................................................................158
Polimorfizm......................................................................................................................163
8
Programowanie gier. Kompendium
Wyliczenia ..............................................................................................................................166
Unie.........................................................................................................................................167
Składowe statyczne.................................................................................................................168
Przydatne techniki korzystania z klas.....................................................................................169
Klasa singleton..................................................................................................................169
Fabryka obiektów .............................................................................................................172
Podsumowanie........................................................................................................................176
Pytania i odpowiedzi...............................................................................................................177
9wiczenia................................................................................................................................177
Rozdział 7. „Potwór” — pierwsza prawdziwa gra....................................................179
ConLib ....................................................................................................................................179
Projektowanie ...................................................................................................................180
Implementacja...................................................................................................................182
Tworzenie „Potwora”..............................................................................................................192
Cel gry ..............................................................................................................................192
Reguły gry ........................................................................................................................193
Projektowanie gry.............................................................................................................193
Implementacja...................................................................................................................197
Podsumowanie........................................................................................................................215
Rozdział 8. Strumienie...........................................................................................217
Co to jest strumieI?.................................................................................................................217
Strumienie binarne i tekstowe.................................................................................................217
WejEcie i wyjEcie ....................................................................................................................218
istream...............................................................................................................................218
ostream..............................................................................................................................221
Strumienie plików...................................................................................................................223
Otwieranie i zamykanie strumieni....................................................................................223
Tekst .................................................................................................................................227
Tryb binarny .....................................................................................................................232
Modyfikacja gry „Potwór” — zapisywanie i odczyt gry........................................................236
Podsumowanie........................................................................................................................242
Pytania i odpowiedzi...............................................................................................................242
9wiczenia................................................................................................................................243
Rozdział 9. Architektura oprogramowania ..............................................................245
Rola projektowania w tworzeniu programów.........................................................................245
Strategie projektowe ...............................................................................................................246
Strategia odgórna..............................................................................................................246
Strategia oddolna ..............................................................................................................246
Strategia odgórna kontra oddolna.....................................................................................247
Kilka podstawowych technik..................................................................................................247
Przykład 1. Operator przyporzDdkowania zamiast równoEci ...........................................247
Przykład 2. Instrukcje kontra bloki...................................................................................248
Przykład 3. Makra kontra funkcje inline ..........................................................................248
Przykład 4. Prywatne kontra publiczne, przypadek pierwszy..........................................249
Przykład 5. Prywatne kontra publiczne, przypadek drugi................................................250
Moduły i stosowanie wielu plików.........................................................................................251
Tworzenie modułów w C++.............................................................................................251
Dlaczego warto tworzy< moduły? ....................................................................................252
Konwencje nazewnicze...........................................................................................................252
Nazywanie funkcji............................................................................................................252
Nazwy zmiennych ............................................................................................................253
Identyfikacja .....................................................................................................................253
[ Pobierz całość w formacie PDF ]