perełki programowania gier. vademecum profesjonalisty. tom 1 full.pdf

(7859 KB) Pobierz
892363955.001.png
Rozdział 1.4
)*!&+, %
Rodzaje elementów w STL...................................................................................................59
Podstawowe poj'cia dotycz&ce biblioteki STL.....................................................................60
Wektory.................................................................................................................................61
Listy.......................................................................................................................................63
Kolejki dwukierunkowe........................................................................................................66
Mapy......................................................................................................................................67
Stosy, kolejki i kolejki priorytetowe.....................................................................................70
Podsumowanie.......................................................................................................................71
Rozdział 1.5
&!-$.!-"$
Wymagania............................................................................................................................73
Platformy sprz'towe i programowe.......................................................................................74
Pierwsze rozwi&zanie............................................................................................................74
Drugie rozwi&zanie................................................................................................................75
Połowa rozwi&zania...............................................................................................................77
Sposoby wywoływania funkcji .............................................................................................77
Wywoływanie funkcji...........................................................................................................79
Uzupełnianie rozwi&zania.....................................................................................................80
Wnioski .................................................................................................................................83
Rozdział 1.6
&!!.!"#!"# /
Metoda...................................................................................................................................86
Klasa Handle.........................................................................................................................87
Klasa HandleMgr ..................................................................................................................87
Przykład u<ycia.....................................................................................................................89
Uwagi....................................................................................................................................89
Rozdział 1.7
0.". %
Klasa zasobów.......................................................................................................................97
Klasa mened<era zasobów...................................................................................................100
Jak działaj& uchwyty............................................................................................................102
Mo<liwe modyfikacje i rozszerzenia...................................................................................103
Wnioski ...............................................................................................................................104
Rozdział 1.8
"!"!!!"#
Wcze3niej przetwórz dane...................................................................................................105
Zapisywanie danych............................................................................................................106
Prosty sposób wczytywania danych....................................................................................107
Bezpieczniejsze wczytywanie danych.................................................................................107
Rozdział 1.9
(&"$""# %
Problemy tradycyjnej alokacji pami'ci...............................................................................109
Wprowadzenie do pami'ci opartej na ramkach...................................................................109
Alokacja i zwalnianie pami'ci.............................................................................................111
Przykład...............................................................................................................................114
Wnioski ...............................................................................................................................115
Rozdział 1.10 !&"
Ogólny opis.........................................................................................................................117
Tablica bitów.......................................................................................................................117
Pozostałe tablice bitów........................................................................................................118
Wnioski ...............................................................................................................................119
Rozdział 1.11 "! "#!"#
Definicje..............................................................................................................................121
Modyfikacja pakietów.........................................................................................................122
Atak metod& powtarzania pakietów....................................................................................122
Dodatkowe zabezpieczenia.................................................................................................124
Rein<ynieria.........................................................................................................................124
Implementacja.....................................................................................................................124
Rozdział 1.12 !&!!
Podstawy weryfikacji warunków........................................................................................127
Pierwsza sztuczka: osadzanie dodatkowych informacji......................................................128
Druga sztuczka: osadzanie jeszcze wi'kszej liczby informacji..........................................129
Trzecia sztuczka: upraszczanie zapisu................................................................................129
Czwarta sztuczka: napisz własne makro.............................................................................129
Pi&ta sztuczka: dodatkowa opcja prawie bez kosztów........................................................130
Szósta sztuczka: tylko, gdy jeste3 twardy............................................................................130
Siódma sztuczka: kopiowanie i wklejanie, czyli ułatwianie sobie <ycia............................131
Rozdział 1.13 !! ""!!
Dlaczego: technologia sterowana potrzebami.....................................................................133
Jak: ewolucyjny proces........................................................................................................134
Co: system oparty na klasach j'zyka C++...........................................................................134
Gdzie: zastosowania............................................................................................................137
Podsumowanie.....................................................................................................................137
Rozdział 1.14 !-&$."!$."!""!! %
Przechodzimy do szczegółów..............................................................................................140
Czego dowiesz si' za pomoc& procedury profiluj&cej?.......................................................140
Dodawanie wywołaB funkcji kodu profiluj&cego................................................................142
Implementacja procedury profiluj&cej.................................................................................142
Szczegóły dotycz&ce ProfileBegin......................................................................................143
Szczegóły dotycz&ce ProfileEnd.........................................................................................144
Przetwarzanie uzyskanych danych......................................................................................144
Mo<liwe udoskonalenia.......................................................................................................144
Ł&czymy wszystko razem....................................................................................................145
Rozdział 2.0
!&&"!&
Przewidywalne liczby losowe.............................................................................................153
Alternatywne algorytmy......................................................................................................155
Algorytmy dla nieskoBczonych wszech3wiatów.................................................................156
Wnioski i wskazówki..........................................................................................................158
Rozdział 2.1
!&"$ 1
Zale<ne od cz'stotliwo3ci generowania klatek łagodne zakoBczenie ruchu
z wykorzystaniem liczb zmiennoprzecinkowych.............................................................161
Zale<ne od cz'stotliwo3ci generowania klatek łagodne zakoBczenie ruchu
z wykorzystaniem liczb całkowitych...............................................................................162
Interpolacja liniowa niezale<na od cz'stotliwo3ci generowania klatek.................................163
Łagodne rozpocz'cie i zakoBczenie ruchu
niezale<ne od cz'stotliwo3ci generowania klatek............................................................164
NiebezpieczeBstwa..............................................................................................................165
Rozdział 2.2
23"#"! 1%
Kinematyka — przesuni'cie i obrót....................................................................................169
Dynamika — siła i moment obrotowy................................................................................172
Dodatkowe wła3ciwo3ci ciała sztywnego...........................................................................173
Całkowanie równaB ruchu...................................................................................................176
Rozdział 2.3
!&*-"$! !"!"#& %
Wielomiany.........................................................................................................................180
Dziedzina i przeciwdziedzina..............................................................................................181
Wielomiany parzyste i nieparzyste......................................................................................184
Szereg Taylora.....................................................................................................................185
Skrócony szereg Taylora.....................................................................................................189
Szereg Lagrange’a...............................................................................................................190
Radzenie sobie z nieci&gło3ciami........................................................................................193
Wnioski ...............................................................................................................................194
Rozdział 2.4
&45&"
!!$ "6& %
Stabilno3H a problem całkowania pocz&tkowej warto3ci....................................................195
Metoda jawna Eulera...........................................................................................................196
Metoda niejawna Eulera......................................................................................................197
Niedokładno3H.....................................................................................................................199
Znajdowanie niejawnych rozwi&zaB...................................................................................199
Wnioski ...............................................................................................................................199
Rozdział 2.5
78&9$
Zasada działania..................................................................................................................201
Przykład...............................................................................................................................203
Zastosowania.......................................................................................................................204
Rozdział 2.6
:!!&"$"#!
Dwuwymiarowe równanie fali............................................................................................205
Warunki brzegowe — wyspy i wybrze<a............................................................................207
Kwestie implementacyjne...................................................................................................208
Interakcja z powierzchni&....................................................................................................209
Rendering............................................................................................................................210
Rozdział 2.7
;!
My3l o kwaternionach jako zast'pcach macierzy...............................................................213
Dlaczego po prostu nie u<yH k&tów Eulera?........................................................................214
Co reprezentuj& X, Y, Z i W?..............................................................................................214
Jakie jest podło<e matematyczne całego zagadnienia?.......................................................215
Jak kwaterniony reprezentuj& obroty?.................................................................................216
Rozdział 2.8
;$"< %
Obrót kwaternionu...............................................................................................................219
Konwersja kwaternionu na macierz....................................................................................220
Konwersja z macierzy na kwaternion..................................................................................221
Rozdział 2.9
:&"$
Rachunek kwaternionowy...................................................................................................225
Interpolacja kwaternionów..................................................................................................226
Przykładowy kod.................................................................................................................228
Wyprowadzenie 2.9.1: Wzór dla slerp................................................................................228
Wyprowadzenie 2.9.2: uzyskanie formy pot'gowej slerp...................................................231
Wyprowadzenie 2.9.3: interpolacja krzywymi sklejanymi.................................................232
!
Rozdział 2.10 ;&$$ .
Motywacja...........................................................................................................................235
Niestabilno3H numeryczna...................................................................................................235
Wyprowadzanie stabilnego wzoru......................................................................................236
Warunki, przy których nadal powstaje niestabilno3H..........................................................237
Przykładowy kod.................................................................................................................238
Wirtualny manipulator kulowy............................................................................................238
!"
Rozdział 3.0
$ & *!" "#
"$& "$ '
Sterowanie zdarzeniami kontra odpytywanie obiektów......................................................242
Koncepcja komunikatu........................................................................................................242
Automaty stanów.................................................................................................................243
Automat stanów sterowany zdarzeniami w postaci komunikatów......................................243
Czas si' przyznaH................................................................................................................246
Jeszcze jedno małe przyznanie si'......................................................................................246
Klocki automatu stanów......................................................................................................247
Przekazywanie komunikatów do i z automatu stanów........................................................247
Wysyłanie komunikatów.....................................................................................................248
Wysyłanie opóKnionych komunikatów...............................................................................249
Usuwanie obiektu gry..........................................................................................................250
Udoskonalenie — okre3lenie zakresu komunikatu.............................................................250
Udoskonalenie — dziennik wysyłanych komunikatów i zmian stanów.............................251
Udoskonalenie — zamiana automatów stanów...................................................................252
Udoskonalenie — kilka automatów stanów........................................................................252
Udoskonalenie — kolejka automatów stanów....................................................................252
Skrypty zachowania poza kodem........................................................................................253
Wnioski ...............................................................................................................................253
Rozdział 3.1
;&3"$&"
Klasy FSMclass i FSMstate ................................................................................................259
Definicja klasy FSMstate....................................................................................................259
Definicja klasy FSMclass....................................................................................................260
Tworzenie stanów dla automatu skoBczonego....................................................................262
U<ywanie automatu skoBczonego.......................................................................................262
Rozdział 3.2
= 1%
Odmiana Negamax algorytmu Minimax.............................................................................270
Przycinanie alfa-beta...........................................................................................................271
Metody porz&dkowania ruchów..........................................................................................272
Udoskonalenia dla alfa-beta................................................................................................272
Rozdział 3.3
!(>!"."&
Problem ...............................................................................................................................275
Ogólne omówienie rozwi&zania..........................................................................................275
Wła3ciwo3ci A*...................................................................................................................277
Zastosowanie A* do planowania drogi w grach..................................................................277
Słabo3ci algorytmu A*........................................................................................................282
Inne rozszerzenia.................................................................................................................282
Rozdział 3.4
!&"$!"&(> /
Proste 3cie<ki.......................................................................................................................283
Wyprostowane 3cie<ki w przestrzeni wyszukiwania z wieloboków...................................284
Wygładzanie 3cie<ek...........................................................................................................284
Zgłoś jeśli naruszono regulamin