tworzenie-gier-2d-i-3d-w-jezyku-turbo-pascal ebook, ebooki
[ Pobierz całość w formacie PDF ] 4 Tworzenie gier 2D i 3D w jzyku 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 wywietlanie 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 Wywietlanie 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 treci 5 Rozdział 8. Efekty specjalne i d3wik ...............................................................251 Wygaszanie ekranu .........................................................................................................251 Rozjanianie 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ło8enie dwóch wektorów ....................................................................284 Długo5 wektora .......................................................................................................284 Dodawanie wektorów ...............................................................................................285 Odejmowanie wektorów ...........................................................................................285 Mno8enie wektora przez liczb* rzeczywist;.............................................................286 Iloczyn skalarny wektorów .......................................................................................287 Wektorowe mno8enie 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 wywietlania 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 bdzie 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 bdzie z mysz!; nauczymy si wy$wietla kursor myszy, odczytywa jego poło%enie i pobiera informacje o stanie przycisków myszy. Paragraf po$wicony myszy równie% zako"czymy demonstracyjnym programem, w któ- rym wykorzystamy zdobyt! wiedz w praktyczny sposób. Osobn! cz$ rozdziału stanowi podrozdział po$wicony 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 . 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 208 Tworzenie gier 2D i 3D w jzyku Turbo Pascal Jako programi$ci gier chcemy mie mo%liwo$ sprawdzenia, czy dany klawisz jest naci$nity, nie naci$nity czy mo%e przytrzymany. Zacznijmy od zrozumienia sposobu działania klawiatury. Z klawiatur! poł!czony jest tzw. kontroler klawiatury (dokładniej jeden z układów scalonych: 8042, 8741 lub 8742). Mo%emy odnosi si do niego za pomoc! dwóch portów: portu wyj$ciowego — 60h i portu steruj!cego — 64h. S! to porty dwukierunkowe, co oznacza, %e mo%emy zarówno odczytywa z nich dane, jak i je do nich zapisywa. Odczytuj!c warto$ z portu 64h, otrzymujemy troch informacji o stanie klawiatury. Oto opis bajtu pobranego z portu 64h. bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 bit 7 — bł!d parzysto$ci (wył!cznie w modelach PS/2): 1 = ostatni kod przesłano z błdem, 0 = ostatni kod przesłano bez błdu; bit 6 — czas oczekiwania na nadesłanie danych: 1 = przekroczony, 0 = w normie; bit 5 — stan portu wyj$ciowego klawiatury: 1 = port zawiera dane od jednostki dodatkowej (wył!cznie w PS/2), 0 = port zawiera dane od klawiatury; bit 4 — stan blokady klawiatury: 1 = klawiatura odblokowana, 0 = klawiatura zablokowana; bit 3 — zawarto$ przesyłanego bajtu: 1 = bajt rozkazowy wysłany przez port 64h, 0 = bajt danych wysłany przez port 60h; bit 2 — wynik przeprowadzenia autotestu klawiatury: 1 = test przebiegł bezbłdnie, 0 = bł!d; bit 1 — stan portu 60h (zapis): 1 = dane przesyłane przez procesor znajduj! si jeszcze w porcie, 0 = port 60h jest pusty;
[ Pobierz całość w formacie PDF ]
zanotowane.pldoc.pisz.plpdf.pisz.plmement.xlx.pl
|