Tworzenie_gier_2D_i_3D_w_jezyku_Turbo_Pascal_2d3dtp.pdf

(602 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
Tworzenie gier 2D i 3D
w jêzyku Turbo Pascal
Autor: Piotr Besta
ISBN: 83-7197-680-1
Format: B5, stron: 414
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
ZAMÓW CENNIK
Ksi¹¿ka „Tworzenie gier 2D i 3D w jêzyku Turbo Pascal” Piotra Besty skierowana jest
do szerokiego grona pocz¹tkuj¹cych programistów, dopiero rozpoczynaj¹cych swoj¹
wielk¹ przygodê z komputerem. Nie oznacza to, ¿e z ksi¹¿ki nie mog¹ skorzystaæ
doskonale znaj¹ce Turbo Pascala.
Ka¿dy, kto kiedykolwiek gra³ w gry komputerowe, zapragn¹³ z pewnoœci¹ stworzyæ
w³asn¹, idealn¹ grê. Dziêki tej ksi¹¿ce osoby te bêd¹ mog³y spe³niæ swoje marzenia
w profesjonalny sposób.
Rozpoczynaj¹c czytanie ksi¹¿ki nie musisz podsiaæ doœwiadczenia w pisaniu
programów, wszystkiego dowiesz siê, czytaj¹c kolejne rozdzia³y, a zgromadzona wiedza
oraz doœwiadczenie pozwoli na szybkie rozpoczêcie samodzielnych prac nad dowoln¹
gr¹. Ksi¹¿ka w szczegó³owy sposób wyjaœnia proces i sposoby wyœwietlania grafiki
w grach, tajemnice oraz sztuczki w nich zastosowane.
Poznasz techniki wprawiania w ruch grafiki dwu- i trójwymiarowej.
Nauczysz siê tworzyæ grafikê spotykan¹ w grach typu RTS i FPP.
Poznasz podstawy szybkiego jêzyka programowania, jakim jest Assembler.
A po ukoñczeniu ksi¹¿ki œmia³o bêdziesz móg³ przyst¹piæ do tworzenia takich gier jak
Settlers, Quake, Dune, StarCraft, Descent i im podobnych. Musisz jednak wykazaæ siê
niebywa³¹ determinacj¹ i poœwiêceniem -- i tego miêdzy innymi nauczy ciê ta ksi¹¿ka.
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
"
"
"
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Wstęp ...............................................................................................7
Coś dla całkowicie niedoświadczonych..............................................................................7
Rozdział 1. Grafika BGI a gry ...............................................................................9
Organizacja ekranu..............................................................................................................9
Inicjowanie modułu Graph i trybu graficznego ................................................................10
Zakończenie pracy w trybie graficznym ...........................................................................12
Powrót do trybu tekstowego bez deinstalacji sterownika .................................................13
Obsługa błędów.................................................................................................................14
Piksele ...............................................................................................................................18
Linie ..................................................................................................................................20
Procedury ..........................................................................................................................22
Procedury z parametrem....................................................................................................24
Funkcje ..............................................................................................................................26
Klawiatura .........................................................................................................................27
Prosta animacja .................................................................................................................32
Wyświetlanie napisów w trybie graficznym .....................................................................39
Rekordy i tablice ...............................................................................................................44
Skalowanie ........................................................................................................................48
Ostatnie słowo o procedurach i funkcjach ........................................................................53
Podsumowanie ..................................................................................................................54
Rozdział 2. Systemy liczbowe.............................................................................55
System dziesiętny..............................................................................................................55
System dwójkowy .............................................................................................................56
System szesnastkowy ........................................................................................................57
System dwójkowy i szesnastkowy ....................................................................................58
Praca z zapisem dwójkowym i szesnastkowym................................................................59
Podsumowanie ..................................................................................................................59
Rozdział 3. Asembler — najtrudniejszy język świata............................................61
Procesor.............................................................................................................................62
Pamięć ...............................................................................................................................66
Adres komórki pamięci .....................................................................................................68
Jak u ywać asemblera? .....................................................................................................71
Proste rozkazy ...................................................................................................................71
Adresowanie pamięci ........................................................................................................80
Stos ....................................................................................................................................85
Etykiety i skoki..................................................................................................................89
Pętle...................................................................................................................................91
Porównywanie wartości ....................................................................................................93
4
Tworzenie gier 2D i 3D w języku Turbo Pascal
Liczby ze znakiem.............................................................................................................94
Kopiowanie fragmentów pamięci .....................................................................................95
Wypełnianie fragmentów pamięci ....................................................................................99
Przerwania sprzętowe i programowe ..............................................................................100
Porty ................................................................................................................................105
Podsumowanie ................................................................................................................106
Rozdział 4. Nowe Światy..................................................................................107
Jak działają gry? ..............................................................................................................107
Jak powstaje obraz?.........................................................................................................111
Tryb 13h ..........................................................................................................................114
Kolory..............................................................................................................................115
Ustawianie trybu graficznego 13h...................................................................................119
Piksele .............................................................................................................................121
Linie poziome..................................................................................................................128
Linie pionowe..................................................................................................................132
Wypełnianie ekranu jednym kolorem .............................................................................136
Programowanie palety kolorów ......................................................................................138
Rotacja kolorów ..............................................................................................................144
Obcinanie palety kolorów ...............................................................................................147
Krawędź ekranu...............................................................................................................148
Magazynowanie procedur i funkcji.................................................................................150
Podsumowanie ................................................................................................................159
Rozdział 5. Obrazy ...........................................................................................161
Przetwarzanie plików ......................................................................................................161
Format BMP....................................................................................................................165
Odczytywanie obrazu z pliku BMP ................................................................................168
Dynamiczne przydzielanie pamięci ................................................................................173
Zorganizowane odczytywanie obrazów ..........................................................................177
Uaktualnienie modułu GRAF_FX ..................................................................................181
Szybkie ładowanie palety kolorów .................................................................................186
Zorganizowane wyświetlanie obrazów ...........................................................................187
Przezroczyste kolory .......................................................................................................193
Bitmapy o jednakowej palecie kolorów ..........................................................................198
Skalowanie bitmap ..........................................................................................................200
Ostatnia tajemnica stosu..................................................................................................204
Podsumowanie ................................................................................................................205
Rozdział 6. Komunikacja z graczem i wyświetlanie tekstu.................................207
Klawiatura .......................................................................................................................207
Mysz ................................................................................................................................214
Wyświetlanie tekstu ........................................................................................................217
Podsumowanie ................................................................................................................223
Rozdział 7. Animacja .......................................................................................225
Prosta animacja ...............................................................................................................225
Drugi bufor wideo i likwidacja mrugania ekranu ...........................................................229
Animacja wielu obiektów................................................................................................237
Animacja mapy ...............................................................................................................243
Podsumowanie ................................................................................................................250
Spis treści
5
Rozdział 8. Efekty specjalne i dźwięk ...............................................................251
Wygaszanie ekranu .........................................................................................................251
Rozjaśnianie ekranu ........................................................................................................254
Topnienie ekranu.............................................................................................................256
Zalewanie ekranu cieczą .................................................................................................257
Dźwięk ............................................................................................................................259
DMA — cichy transfer danych .......................................................................................262
Port 008h — port stanu .............................................................................................264
Port 00Ah — port maski kanału ...............................................................................265
Port 00Bh — port trybu ............................................................................................265
Port 00Ch — port przerzutnika.................................................................................266
Format WAV...................................................................................................................267
Karta Sound Blaster ........................................................................................................269
Podsumowanie ................................................................................................................279
Rozdział 9. Grafika 3D .....................................................................................281
Trójwymiarowy układ współrzędnych............................................................................281
Wektory...........................................................................................................................282
Punkt .........................................................................................................................282
Oznaczanie i rozmiar wektorów ...............................................................................283
Wzajemne poło enie dwóch wektorów ....................................................................284
Długość wektora .......................................................................................................284
Dodawanie wektorów ...............................................................................................285
Odejmowanie wektorów ...........................................................................................285
Mno enie wektora przez liczbę rzeczywistą.............................................................286
Iloczyn skalarny wektorów .......................................................................................287
Wektorowe mno enie wektorów ..............................................................................288
Funkcje trygonometryczne sinus i cosinus......................................................................289
Nowe typy danych...........................................................................................................291
Transformacje 3D............................................................................................................294
Obrót wokół osi Y.....................................................................................................294
Obrót wokół osi Z .....................................................................................................296
Obrót wokół osi X.....................................................................................................298
Przesunięcie ..............................................................................................................299
Skalowanie................................................................................................................301
Problemy z transformacjami .....................................................................................302
Tworzenie obrazu............................................................................................................302
Kamera......................................................................................................................304
Płaszczyzna obcinania ..............................................................................................304
Skrót perspektywiczny..............................................................................................306
Rzutowanie punktu na płaszczyznę rzutowania .......................................................307
Usuwanie niewidocznych powierzchni.....................................................................311
Metody wyświetlania obiektów 3D.................................................................................315
Metoda punktowa............................................................................................................315
Metoda siatkowa (druciana) ............................................................................................326
Metoda jednokolorowych wypełnionych trójkątów i trójkątów cieniowanych płasko......345
Trójkąty z teksturą...........................................................................................................368
Korekcja perspektywy.....................................................................................................390
Podsumowanie ................................................................................................................409
Dodatek A ........................................................................................................411
Rozdział 6.
W tym rozdziale omówimy dwa sposoby komunikowania się gier z graczem. Pierwszy
sposób dotyczyć będzie klawiatury; poznamy jej działanie, nauczymy się odczytywać
informację mówiącą o tym, który klawisz jest wciskany, a który zwalniany, w końcu
napiszemy przykładowy program obsługujący klawiaturę.
Drugi rodzaj komunikacji związany będzie z myszą; nauczymy się wyświetlać kursor
myszy, odczytywać jego poło enie i pobierać informacje o stanie przycisków myszy.
Paragraf poświęcony myszy równie zakończymy demonstracyjnym programem, w któ-
rym wykorzystamy zdobytą wiedzę w praktyczny sposób.
Osobną część rozdziału stanowi podrozdział poświęcony technikom wyświetlania
tekstu w trybie 13h. Stworzymy własną czcionkę i nauczymy się ją stosować. Na koniec
napiszemy wygodną procedurę wypisującą tekst, podobną trochę do procedury
9TKVGNP
.
Bierzmy się do pracy!
Klawiatura
Klawiatura jest zaraz obok myszy jednym z najintensywniej wykorzystywanych urzą-
dzeń dołączonych do komputera. Korzystamy z niej podczas tworzenia programów,
prac domowych, ściąg i wielu innych tekstów. Nas jednak interesuje wyłącznie jej zasto-
sowanie w grach komputerowych. Rysunek. 6.1 przedstawia standardową klawiaturę.
Rysunek 6.1.
Standardowa
klawiatura
Zgłoś jeśli naruszono regulamin