Praktyka programowania projekt

Podobne dokumenty
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Szybkie tworzenie grafiki w GcIde

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Rysowanie punktów na powierzchni graficznej

Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Zaawansowany kurs języka Python

Programowanie obiektowe zastosowanie języka Java SE

Programowanie, część III

Kl 7-8 Szkoła Podstawowa

Informatyka II. Laboratorium Aplikacja okienkowa

Grafika rastrowa (bitmapa)-

Autor: dr inż. Katarzyna Rudnik

Utworzenie pliku. Dowiesz się:

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

3.4. Opis konfiguracji layoutów.

8. Dynamiczne generowanie grafiki, cz. 2

Padlet wirtualna tablica lub papier w Internecie

Maskowanie i selekcja

Automatyzacja kompilacji. Automatyzacja kompilacji 1/28

POMOC / INSTRUKCJA OBSŁUGI

Klawiatura komputerowa.

Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy.

MentorGraphics ModelSim

1. Opis okna podstawowego programu TPrezenter.

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

Wprowadzenie do biblioteki klas C++

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Programy użytkowe (utilities)

PyGame Gra w Ponga. Spis treści

Spis treści 1. Wstęp Logowanie Główny interfejs aplikacji Ogólny opis interfejsu Poruszanie się po mapie...

Java jako język programowania

Obsługa grafiki w Delphi, rysowanie na płótnie, obsługa myszki, zapisywanie obrazków do plików, bitmapy pozaekranowe.

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Podstawowe zasady tworzenia projektu w środowisku uvision 4.0, pisanie programów w asemblerze 8051

Diagnoza Szkolna Pearsona. Instrukcja obsługi

Zajęcia z aplikacją ScratchJr mogą zostać przeprowadzone na dwa sposoby:

Visual Studio instalacja

Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

Programowanie aplikacji na urządzenia mobilne

Lazarus dla początkujących, część II

Skrócona instrukcja pracy z Generatorem Wniosków

Pong to dwuwymiarowy symulator tenisa sportowego. Gracz, poruszając prostokątem symulującym paletkę, stara się zdobyć punkt poprzez posłanie piłki

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Podstawy technologii WWW

Instrukcja obsługi funkcji specjalnych szablonu C01 v.1.0

Zajęcia nr 15 JavaScript wprowadzenie do JavaScript

Praca w środowisku Visual Studio 2008, Visual C

Tworzenie infografik za pomocą narzędzia Canva

INSTRUKCJA OBSŁUGI DIODOWEGO WYŚWIETLACZA TEKSTÓW PIEŚNI STEROWANEGO Z TABLETU 10,1 '

Skrypty piszemy dla duszków, czyli obiektów, które chcemy oprogramować i dla sceny tła, na którym wykonuje się program.

Wprowadzenie do środowiska Qt Creator

1. Wprowadzenie. 1.1 Uruchamianie AutoCAD-a Ustawienia wprowadzające. Auto CAD Aby uruchomić AutoCada 14 kliknij ikonę

Spadające jabłuszka. licencja CC-BY-SA Uznanie autorstwa Na tych samych warunkach 3.0 Polska. Strona 51

PROSTY PROGRAM DO MALOWANIA

Unity 3D - własny ekran startowy i menu gry

Musimy do naszej gry załadować materiały. Są to trzy obrazki:

I. Menu oparte o listę

Laboratorium - Narzędzie linii uruchamiania w systemie Windows Vista

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

SPECYFIKACJA SKÓREK NAPIPROJEKT

Jak szybko wystawić fakturę w LeftHand? Instalacja programu

Komputery I (2) Panel sterowania:

Obsługa programu Paint. mgr Katarzyna Paliwoda

Programowanie w języku LOGO KOMENIUSZ

Grafika w aplikacjach lp. Jak zmienić kolor tła?

// Potrzebne do memset oraz memcpy, czyli kopiowania bloków

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

Rozdział II. Praca z systemem operacyjnym

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI

FORMUŁY AUTOSUMOWANIE SUMA

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

ActionLab - oprogramowanie do tworzenia labiryntów interaktywnych V1.0.1

Baza danych. Program: Access 2007

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Jak dodać własny szablon ramki w programie dibudka i dilustro

Laboratorium programowania urządzeń mobilnych

2.1. Duszek w labiryncie


kodowanienaekranie.pl

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

1 Temat: Wprowadzenie do biblioteki OpenCV

Instrukcja obsługi. 2 x moduł CI

Instalacja i obsługa aplikacji MAC Diagnoza EW

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.

Laboratorium - Narzędzia linii uruchamiania w systemie Windows XP

Laboratorium grafiki i multimediów

Wymiarowanie, kreskowanie, teksty

Tworzenie oprogramowania

Dodatki. Dodatek A Octave. Język maszyn

Laboratorium - Narzędzia linii uruchamiania w systemie Windows 7

Wprowadzenie do programowania aplikacji mobilnych

Wstęp do Programowania, laboratorium 02

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Programowanie w języku Python. Grażyna Koba

Popplet Popplet Krok 1 ZAKŁADAMY KONTO Wpisujemy nasze dane:

Transkrypt:

Praktyka programowania projekt Zadanie projektowe nr. 2 Gra PacMan K. M. Ocetkiewicz, T Goluch 19 listopada 2012

Plan prezentacji Opis 2 zadania projektowego

Plan prezentacji Opis 2 zadania projektowego

Plan prezentacji Opis 2 zadania projektowego

Opis 2 zadania projektowego

Zadanie Opis 2 zadania projektowego Tematem drugiego zadania projektowego jest napisanie gry podobnej do kultowego PacMana. Program powinien kompilować sie i działać pod Linuxem.

Zadanie Opis 2 zadania projektowego Tematem drugiego zadania projektowego jest napisanie gry podobnej do kultowego PacMana. Program powinien kompilować sie i działać pod Linuxem.

Szablon Opis 2 zadania projektowego Do zadania przygotowany jest szablon (na stronie projektu). Szablon korzysta z biblioteki SDL (www.libsdl.org).

Szablon Opis 2 zadania projektowego Do zadania przygotowany jest szablon (na stronie projektu). Szablon korzysta z biblioteki SDL (www.libsdl.org). Biblioteka jest dołączona do szablonu, nie trzeba niczego dodatkowo instalować.

Szablon Opis 2 zadania projektowego Do zadania przygotowany jest szablon (na stronie projektu). Szablon korzysta z biblioteki SDL (www.libsdl.org). Biblioteka jest dołączona do szablonu, nie trzeba niczego dodatkowo instalować. Korzystanie z szablonu nie jest wymagane, ale wszystkie założenia zadania powinny być spełnione.

Szablon Opis 2 zadania projektowego Do zadania przygotowany jest szablon (na stronie projektu). Szablon korzysta z biblioteki SDL (www.libsdl.org). Biblioteka jest dołączona do szablonu, nie trzeba niczego dodatkowo instalować. Korzystanie z szablonu nie jest wymagane, ale wszystkie założenia zadania powinny być spełnione. W przypadku skorzystania z innych bibliotek prowadzący może odmówić pomocy przy problemach związanych z nimi.

Szablon Opis 2 zadania projektowego Do zadania przygotowany jest szablon (na stronie projektu). Szablon korzysta z biblioteki SDL (www.libsdl.org). Biblioteka jest dołączona do szablonu, nie trzeba niczego dodatkowo instalować. Korzystanie z szablonu nie jest wymagane, ale wszystkie założenia zadania powinny być spełnione. W przypadku skorzystania z innych bibliotek prowadzący może odmówić pomocy przy problemach związanych z nimi.

Kompilacja w systemie Linux

Kompilacja pod Linuxem Do wszystkich popularnych dystrybucji Linuxa (poza Ubuntu) dołączony jest kompilator języka C. Nazywa się gcc (g++ w przypadku kompilatora C++).

Kompilacja pod Linuxem Do wszystkich popularnych dystrybucji Linuxa (poza Ubuntu) dołączony jest kompilator języka C. Nazywa się gcc (g++ w przypadku kompilatora C++). Wykorzystujemy go z lini w linii komend.

Kompilacja pod Linuxem Do wszystkich popularnych dystrybucji Linuxa (poza Ubuntu) dołączony jest kompilator języka C. Nazywa się gcc (g++ w przypadku kompilatora C++). Wykorzystujemy go z lini w linii komend.

Kompilacja pod Linuxem

Kompilacja pod Linuxem

Kompilacja pod Linuxem

Kompilacja pod Linuxem

polecenie make i plik Makefile Narzędzie make pozwala nam zautomatyzować kompilację. Wydając polecenie make, w bieżącym katalogu szukany jest plik Makefile.

polecenie make i plik Makefile Narzędzie make pozwala nam zautomatyzować kompilację. Wydając polecenie make, w bieżącym katalogu szukany jest plik Makefile. Można użyć innego pliku, ale wtedy trzeba podać parametr: -f nazwapliku np: make -f Makefile.linux

polecenie make i plik Makefile Narzędzie make pozwala nam zautomatyzować kompilację. Wydając polecenie make, w bieżącym katalogu szukany jest plik Makefile. Można użyć innego pliku, ale wtedy trzeba podać parametr: -f nazwapliku np: make -f Makefile.linux Plik Makefile opisuje proces kompilacji oraz zależności pomiędzy poszczególnymi plikami.

polecenie make i plik Makefile Narzędzie make pozwala nam zautomatyzować kompilację. Wydając polecenie make, w bieżącym katalogu szukany jest plik Makefile. Można użyć innego pliku, ale wtedy trzeba podać parametr: -f nazwapliku np: make -f Makefile.linux Plik Makefile opisuje proces kompilacji oraz zależności pomiędzy poszczególnymi plikami. Opis składa się ze zbioru reguł.

polecenie make i plik Makefile Narzędzie make pozwala nam zautomatyzować kompilację. Wydając polecenie make, w bieżącym katalogu szukany jest plik Makefile. Można użyć innego pliku, ale wtedy trzeba podać parametr: -f nazwapliku np: make -f Makefile.linux Plik Makefile opisuje proces kompilacji oraz zależności pomiędzy poszczególnymi plikami. Opis składa się ze zbioru reguł. Make usprawnia kompilację, samodzielnie decydując, które z plików źródłowych mają być przekompilowane (sprawdzając daty ostatniej modyfikacji).

polecenie make i plik Makefile Narzędzie make pozwala nam zautomatyzować kompilację. Wydając polecenie make, w bieżącym katalogu szukany jest plik Makefile. Można użyć innego pliku, ale wtedy trzeba podać parametr: -f nazwapliku np: make -f Makefile.linux Plik Makefile opisuje proces kompilacji oraz zależności pomiędzy poszczególnymi plikami. Opis składa się ze zbioru reguł. Make usprawnia kompilację, samodzielnie decydując, które z plików źródłowych mają być przekompilowane (sprawdzając daty ostatniej modyfikacji).

polecenie make i plik Makefile Każda reguła w pliku Makefile ma postać: cel : źródła polecenia Cel to plik który chcemy otrzymać np. program.exe

polecenie make i plik Makefile Każda reguła w pliku Makefile ma postać: cel : źródła polecenia Cel to plik który chcemy otrzymać np. program.exe Źródła to pliki z których budujemy cel np. main.cpp

polecenie make i plik Makefile Każda reguła w pliku Makefile ma postać: cel : źródła polecenia Cel to plik który chcemy otrzymać np. program.exe Źródła to pliki z których budujemy cel np. main.cpp Polecenia mówią jak budujemy cel ze źródeł np: g++ -o program.exe main.cpp.

polecenie make i plik Makefile Każda reguła w pliku Makefile ma postać: cel : źródła polecenia Cel to plik który chcemy otrzymać np. program.exe Źródła to pliki z których budujemy cel np. main.cpp Polecenia mówią jak budujemy cel ze źródeł np: g++ -o program.exe main.cpp. Np.: program.exe: main.cpp g++ -o program.exe main.cpp

polecenie make i plik Makefile Każda reguła w pliku Makefile ma postać: cel : źródła polecenia Cel to plik który chcemy otrzymać np. program.exe Źródła to pliki z których budujemy cel np. main.cpp Polecenia mówią jak budujemy cel ze źródeł np: g++ -o program.exe main.cpp. Np.: program.exe: main.cpp g++ -o program.exe main.cpp

polecenie make i plik Makefile W pliku Makefile możemy definiować stałe. Definicja stałej ma postać: nazwa = wartość

polecenie make i plik Makefile W pliku Makefile możemy definiować stałe. Definicja stałej ma postać: nazwa = wartość Po takiej definicji każdy napis $(nazwa) zostanie zamieniony na wartość.

polecenie make i plik Makefile W pliku Makefile możemy definiować stałe. Definicja stałej ma postać: nazwa = wartość Po takiej definicji każdy napis $(nazwa) zostanie zamieniony na wartość. Np.: CC = g++ -O2 -I./sdl/include -L. LIBS = -lm -lsdl -lpthread ldl SRC = main.cpp all: main main: $(SRC) $(CC) -o $@ $(SRC) $(LIBS)

polecenie make i plik Makefile W pliku Makefile możemy definiować stałe. Definicja stałej ma postać: nazwa = wartość Po takiej definicji każdy napis $(nazwa) zostanie zamieniony na wartość. Np.: CC = g++ -O2 -I./sdl/include -L. LIBS = -lm -lsdl -lpthread ldl SRC = main.cpp all: main main: $(SRC) $(CC) -o $@ $(SRC) $(LIBS) reguła all oznacza wszystko (cały program).

polecenie make i plik Makefile W pliku Makefile możemy definiować stałe. Definicja stałej ma postać: nazwa = wartość Po takiej definicji każdy napis $(nazwa) zostanie zamieniony na wartość. Np.: CC = g++ -O2 -I./sdl/include -L. LIBS = -lm -lsdl -lpthread ldl SRC = main.cpp all: main main: $(SRC) $(CC) -o $@ $(SRC) $(LIBS) reguła all oznacza wszystko (cały program).

polecenie make i plik Makefile Definiujemy stałe: CC = g++ -O2 -I./sdl/include -L. LIBS = -lm -lsdl -lpthread -ldl SRC = main.cpp Tworzymy cel all, który budujemy z pliku main nic nie robiąc: all: main

polecenie make i plik Makefile Definiujemy stałe: CC = g++ -O2 -I./sdl/include -L. LIBS = -lm -lsdl -lpthread -ldl SRC = main.cpp Tworzymy cel all, który budujemy z pliku main nic nie robiąc: all: main Tworzymy cel main, który budujemy z pliku main.cpp (wartość $(SRC)) wydając polecenie: g++ -O2 I./sdl/include -L. o main main.cpp -lm -lsdl -lpthread -ldl

polecenie make i plik Makefile Definiujemy stałe: CC = g++ -O2 -I./sdl/include -L. LIBS = -lm -lsdl -lpthread -ldl SRC = main.cpp Tworzymy cel all, który budujemy z pliku main nic nie robiąc: all: main Tworzymy cel main, który budujemy z pliku main.cpp (wartość $(SRC)) wydając polecenie: g++ -O2 I./sdl/include -L. o main main.cpp -lm -lsdl -lpthread -ldl $@ jest specjalną stałą której wartością jest nazwa celu

polecenie make i plik Makefile Definiujemy stałe: CC = g++ -O2 -I./sdl/include -L. LIBS = -lm -lsdl -lpthread -ldl SRC = main.cpp Tworzymy cel all, który budujemy z pliku main nic nie robiąc: all: main Tworzymy cel main, który budujemy z pliku main.cpp (wartość $(SRC)) wydając polecenie: g++ -O2 I./sdl/include -L. o main main.cpp -lm -lsdl -lpthread -ldl $@ jest specjalną stałą której wartością jest nazwa celu

polecenie make i plik Makefile Wydajemy polecenie make: plik Makefile jest znajdowany i przetwarzany

polecenie make i plik Makefile Wydajemy polecenie make: plik Makefile jest znajdowany i przetwarzany definiowane są stałe

polecenie make i plik Makefile Wydajemy polecenie make: plik Makefile jest znajdowany i przetwarzany definiowane są stałe budowany jest pierwszy cel, z pliku (all)

polecenie make i plik Makefile Wydajemy polecenie make: plik Makefile jest znajdowany i przetwarzany definiowane są stałe budowany jest pierwszy cel, z pliku (all) all wymaga main-a, który nie istnieje, więc trzeba go zbudować

polecenie make i plik Makefile Wydajemy polecenie make: plik Makefile jest znajdowany i przetwarzany definiowane są stałe budowany jest pierwszy cel, z pliku (all) all wymaga main-a, który nie istnieje, więc trzeba go zbudować jak? na podstawie odpowiedniej reguły

polecenie make i plik Makefile Wydajemy polecenie make: plik Makefile jest znajdowany i przetwarzany definiowane są stałe budowany jest pierwszy cel, z pliku (all) all wymaga main-a, który nie istnieje, więc trzeba go zbudować jak? na podstawie odpowiedniej reguły kompilowany jest plik main.cpp

polecenie make i plik Makefile Wydajemy polecenie make: plik Makefile jest znajdowany i przetwarzany definiowane są stałe budowany jest pierwszy cel, z pliku (all) all wymaga main-a, który nie istnieje, więc trzeba go zbudować jak? na podstawie odpowiedniej reguły kompilowany jest plik main.cpp powstaje plik main

polecenie make i plik Makefile Wydajemy polecenie make: plik Makefile jest znajdowany i przetwarzany definiowane są stałe budowany jest pierwszy cel, z pliku (all) all wymaga main-a, który nie istnieje, więc trzeba go zbudować jak? na podstawie odpowiedniej reguły kompilowany jest plik main.cpp powstaje plik main wykonywane jest polecenie dla all (puste)

polecenie make i plik Makefile Wydajemy polecenie make: plik Makefile jest znajdowany i przetwarzany definiowane są stałe budowany jest pierwszy cel, z pliku (all) all wymaga main-a, który nie istnieje, więc trzeba go zbudować jak? na podstawie odpowiedniej reguły kompilowany jest plik main.cpp powstaje plik main wykonywane jest polecenie dla all (puste) kompilacja się kończy

polecenie make i plik Makefile Wydajemy polecenie make: plik Makefile jest znajdowany i przetwarzany definiowane są stałe budowany jest pierwszy cel, z pliku (all) all wymaga main-a, który nie istnieje, więc trzeba go zbudować jak? na podstawie odpowiedniej reguły kompilowany jest plik main.cpp powstaje plik main wykonywane jest polecenie dla all (puste) kompilacja się kończy

Konsola vs okienka W tym projekcie piszemy aplikację działającą w trybie graficznym czy też okienkową. Tworzeniem i zarządzaniem okienkami zajmie się za nas SDL.

Konsola vs okienka W tym projekcie piszemy aplikację działającą w trybie graficznym czy też okienkową. Tworzeniem i zarządzaniem okienkami zajmie się za nas SDL. Koncepcja obsługi wejścia/wyjścia w aplikacji okienkowej jest inna od zastosowanej w pierwszym projekcie.

Konsola vs okienka W tym projekcie piszemy aplikację działającą w trybie graficznym czy też okienkową. Tworzeniem i zarządzaniem okienkami zajmie się za nas SDL. Koncepcja obsługi wejścia/wyjścia w aplikacji okienkowej jest inna od zastosowanej w pierwszym projekcie. Program nie zatrzymuje swojego działania w oczekiwaniu na dane wprowadzone przez użytkownika.

Konsola vs okienka W tym projekcie piszemy aplikację działającą w trybie graficznym czy też okienkową. Tworzeniem i zarządzaniem okienkami zajmie się za nas SDL. Koncepcja obsługi wejścia/wyjścia w aplikacji okienkowej jest inna od zastosowanej w pierwszym projekcie. Program nie zatrzymuje swojego działania w oczekiwaniu na dane wprowadzone przez użytkownika.

Zdarzenia Opis 2 zadania projektowego Akcje użytkownika docierają do programu jako zdarzenia. Zdarzeniami są np. ruch myszą, naciśnięcie klawisza, zwolnienie klawisza, naciśnięcie przycisku X w prawym górnym rogu okna itp.

Zdarzenia Opis 2 zadania projektowego Akcje użytkownika docierają do programu jako zdarzenia. Zdarzeniami są np. ruch myszą, naciśnięcie klawisza, zwolnienie klawisza, naciśnięcie przycisku X w prawym górnym rogu okna itp. Zdarzenia płynące do programu ustawiają się w kolejce i czekają na ich obsługę przez program.

Zdarzenia Opis 2 zadania projektowego Akcje użytkownika docierają do programu jako zdarzenia. Zdarzeniami są np. ruch myszą, naciśnięcie klawisza, zwolnienie klawisza, naciśnięcie przycisku X w prawym górnym rogu okna itp. Zdarzenia płynące do programu ustawiają się w kolejce i czekają na ich obsługę przez program. Program powinien co jakiś czas zerkać na kolejkę, sprawdzając, czy czekają w niej zdarzenia, jeżeli tak, obsłużyć je.

Zdarzenia Opis 2 zadania projektowego Akcje użytkownika docierają do programu jako zdarzenia. Zdarzeniami są np. ruch myszą, naciśnięcie klawisza, zwolnienie klawisza, naciśnięcie przycisku X w prawym górnym rogu okna itp. Zdarzenia płynące do programu ustawiają się w kolejce i czekają na ich obsługę przez program. Program powinien co jakiś czas zerkać na kolejkę, sprawdzając, czy czekają w niej zdarzenia, jeżeli tak, obsłużyć je.

Zdarzenia Opis 2 zadania projektowego Aplikacja okienkowa teoretycznie może czekać (zatrzymując działanie) na zdarzenia, ale w naszym przypadku jest to niemożliwe:

Zdarzenia Opis 2 zadania projektowego Aplikacja okienkowa teoretycznie może czekać (zatrzymując działanie) na zdarzenia, ale w naszym przypadku jest to niemożliwe: PacMan i duszki muszą poruszać się niezależnie od tego, czy naciskamy klawisze, czy nie...

Zdarzenia Opis 2 zadania projektowego Aplikacja okienkowa teoretycznie może czekać (zatrzymując działanie) na zdarzenia, ale w naszym przypadku jest to niemożliwe: PacMan i duszki muszą poruszać się niezależnie od tego, czy naciskamy klawisze, czy nie...

Ekran Opis 2 zadania projektowego Ekran, tak jak w aplikacji konsolowej, składa się z komórek równomiernie rozłożonych na prostokącie. Inaczej niż w aplikacji konsolowej, tu komórka ma tylko kolor.

Ekran Opis 2 zadania projektowego Ekran, tak jak w aplikacji konsolowej, składa się z komórek równomiernie rozłożonych na prostokącie. Inaczej niż w aplikacji konsolowej, tu komórka ma tylko kolor. Komórek jest zdecydowanie więcej (w przypadku szablonu jest to 720 x 576).

Ekran Opis 2 zadania projektowego Ekran, tak jak w aplikacji konsolowej, składa się z komórek równomiernie rozłożonych na prostokącie. Inaczej niż w aplikacji konsolowej, tu komórka ma tylko kolor. Komórek jest zdecydowanie więcej (w przypadku szablonu jest to 720 x 576). Wszystko, co widzimy na ekranie, składa się z maleńkich prostokątów różnych kolorów (pikseli).

Ekran Opis 2 zadania projektowego Ekran, tak jak w aplikacji konsolowej, składa się z komórek równomiernie rozłożonych na prostokącie. Inaczej niż w aplikacji konsolowej, tu komórka ma tylko kolor. Komórek jest zdecydowanie więcej (w przypadku szablonu jest to 720 x 576). Wszystko, co widzimy na ekranie, składa się z maleńkich prostokątów różnych kolorów (pikseli).

Ekran Opis 2 zadania projektowego

Kolor Opis 2 zadania projektowego Każdy piksel składa się z trzech elementów świecących o kolorach czerwonym, zielonym i niebieskim. Kolor piksela w rzeczywistości określa, jak jasno ma świecić każdy element, np. czerwony na 100%, zielony na 50%, niebieski na 0% da nam taki kolor.

Kolor Opis 2 zadania projektowego Każdy piksel składa się z trzech elementów świecących o kolorach czerwonym, zielonym i niebieskim. Kolor piksela w rzeczywistości określa, jak jasno ma świecić każdy element, np. czerwony na 100%, zielony na 50%, niebieski na 0% da nam taki kolor. Natężenie każdego elementu określamy w skali: 0..255 (co odpowiada 0%..100%) po czym obliczamy: czerwony * 65536 + zielony * 256 + niebieski.

Kolor Opis 2 zadania projektowego Każdy piksel składa się z trzech elementów świecących o kolorach czerwonym, zielonym i niebieskim. Kolor piksela w rzeczywistości określa, jak jasno ma świecić każdy element, np. czerwony na 100%, zielony na 50%, niebieski na 0% da nam taki kolor. Natężenie każdego elementu określamy w skali: 0..255 (co odpowiada 0%..100%) po czym obliczamy: czerwony * 65536 + zielony * 256 + niebieski. W reprezentacji szesnastkowej kolejne natężenia zajmują kolejne pary cyfr liczby: 0x123456

Kolor Opis 2 zadania projektowego Każdy piksel składa się z trzech elementów świecących o kolorach czerwonym, zielonym i niebieskim. Kolor piksela w rzeczywistości określa, jak jasno ma świecić każdy element, np. czerwony na 100%, zielony na 50%, niebieski na 0% da nam taki kolor. Natężenie każdego elementu określamy w skali: 0..255 (co odpowiada 0%..100%) po czym obliczamy: czerwony * 65536 + zielony * 256 + niebieski. W reprezentacji szesnastkowej kolejne natężenia zajmują kolejne pary cyfr liczby: 0x123456

Upływ czasu Opis 2 zadania projektowego Jak szybko porusza się PacMan?.

Upływ czasu Opis 2 zadania projektowego Jak szybko porusza się PacMan?.

Upływ czasu Opis 2 zadania projektowego Aby uniezależnić się od warunków zewnętrznych, należy śledzić upływ czasu.

Upływ czasu Opis 2 zadania projektowego Aby uniezależnić się od warunków zewnętrznych, należy śledzić upływ czasu.

Upływ czasu Opis 2 zadania projektowego Dzięki temu uniezależniamy prędkość bochaterów od maszyny i zewnętrznych czynników. Możemy także operować na rozsądnych jednostkach, np. określać prędkość w pikselach na sekundę.

Upływ czasu Opis 2 zadania projektowego Dzięki temu uniezależniamy prędkość bochaterów od maszyny i zewnętrznych czynników. Możemy także operować na rozsądnych jednostkach, np. określać prędkość w pikselach na sekundę.

Upływ czasu Opis 2 zadania projektowego Należy odpowiednio obsłużyć wpływ klawiszy na stan bochaterów.

Upływ czasu Opis 2 zadania projektowego Należy odpowiednio obsłużyć wpływ klawiszy na stan bochaterów.

Zdarzenia klawiatury SDL KEYDOWN naciśnięcie klawisza SDL KEYUP zwolnienie klawisza

Zdarzenia klawiatury SDL KEYDOWN naciśnięcie klawisza SDL KEYUP zwolnienie klawisza event.key.keysym.sym to identyfikator klawisza, np.: SDLK ESCAPE, SDLK LEFT, SDLK RIGHT, SDLK DOWN, SDLK UP, SDLK a, SDLK b,...

Zdarzenia klawiatury SDL KEYDOWN naciśnięcie klawisza SDL KEYUP zwolnienie klawisza event.key.keysym.sym to identyfikator klawisza, np.: SDLK ESCAPE, SDLK LEFT, SDLK RIGHT, SDLK DOWN, SDLK UP, SDLK a, SDLK b,... Listę wszystkich można znaleźć w pliku: sdl/include/sdl keysym.h w szablonie projektu

Zdarzenia klawiatury SDL KEYDOWN naciśnięcie klawisza SDL KEYUP zwolnienie klawisza event.key.keysym.sym to identyfikator klawisza, np.: SDLK ESCAPE, SDLK LEFT, SDLK RIGHT, SDLK DOWN, SDLK UP, SDLK a, SDLK b,... Listę wszystkich można znaleźć w pliku: sdl/include/sdl keysym.h w szablonie projektu

Powierzchnie w SDL Powierzchnia w SDL reprezentuje prostokątny obszar o zdefiniowanych wymiarach, zawierający zbiór pikseli. Przykładem powierzchni jest ekran.

Powierzchnie w SDL Powierzchnia w SDL reprezentuje prostokątny obszar o zdefiniowanych wymiarach, zawierający zbiór pikseli. Przykładem powierzchni jest ekran. Np. jeżeli chcemy wyświetlić na ekranie obrazek (np. bitmapę) musimy:

Powierzchnie w SDL Powierzchnia w SDL reprezentuje prostokątny obszar o zdefiniowanych wymiarach, zawierający zbiór pikseli. Przykładem powierzchni jest ekran. Np. jeżeli chcemy wyświetlić na ekranie obrazek (np. bitmapę) musimy: utworzyć powierzchnię A,

Powierzchnie w SDL Powierzchnia w SDL reprezentuje prostokątny obszar o zdefiniowanych wymiarach, zawierający zbiór pikseli. Przykładem powierzchni jest ekran. Np. jeżeli chcemy wyświetlić na ekranie obrazek (np. bitmapę) musimy: utworzyć powierzchnię A, załadować do powierzchni A zawartość bitmapy,

Powierzchnie w SDL Powierzchnia w SDL reprezentuje prostokątny obszar o zdefiniowanych wymiarach, zawierający zbiór pikseli. Przykładem powierzchni jest ekran. Np. jeżeli chcemy wyświetlić na ekranie obrazek (np. bitmapę) musimy: utworzyć powierzchnię A, załadować do powierzchni A zawartość bitmapy, pobrać powierzchnię ekranu E,

Powierzchnie w SDL Powierzchnia w SDL reprezentuje prostokątny obszar o zdefiniowanych wymiarach, zawierający zbiór pikseli. Przykładem powierzchni jest ekran. Np. jeżeli chcemy wyświetlić na ekranie obrazek (np. bitmapę) musimy: utworzyć powierzchnię A, załadować do powierzchni A zawartość bitmapy, pobrać powierzchnię ekranu E, skopiować zawartość powierzchni A w określone miejsce powierzchni E.

Powierzchnie w SDL Powierzchnia w SDL reprezentuje prostokątny obszar o zdefiniowanych wymiarach, zawierający zbiór pikseli. Przykładem powierzchni jest ekran. Np. jeżeli chcemy wyświetlić na ekranie obrazek (np. bitmapę) musimy: utworzyć powierzchnię A, załadować do powierzchni A zawartość bitmapy, pobrać powierzchnię ekranu E, skopiować zawartość powierzchni A w określone miejsce powierzchni E.

Powierzchnie w SDL Typ SDL Surface reprezentuje uchwyt powierzchni. Pola w i h powierzchni określają jej wymiary.

Powierzchnie w SDL Typ SDL Surface reprezentuje uchwyt powierzchni. Pola w i h powierzchni określają jej wymiary. Załadowanie powierzchni z pliku: SDL Surface obrazek; obrazek = SDL LoadBMP( obrazek.bmp );

Powierzchnie w SDL Typ SDL Surface reprezentuje uchwyt powierzchni. Pola w i h powierzchni określają jej wymiary. Załadowanie powierzchni z pliku: SDL Surface obrazek; obrazek = SDL LoadBMP( obrazek.bmp ); Usunięcie powierzchni: SDL FreeSufrace(obrazek)

Powierzchnie w SDL Typ SDL Surface reprezentuje uchwyt powierzchni. Pola w i h powierzchni określają jej wymiary. Załadowanie powierzchni z pliku: SDL Surface obrazek; obrazek = SDL LoadBMP( obrazek.bmp ); Usunięcie powierzchni: SDL FreeSufrace(obrazek)

Przezroczystość Istnieje kilka metod określania przezroczystości. Jednym ze sposobów jest ustawienie koloru-klucza.

Przezroczystość Istnieje kilka metod określania przezroczystości. Jednym ze sposobów jest ustawienie koloru-klucza. Polega to na wybraniu konkretnego koloru, który reprezentuje przezroczystość.

Przezroczystość Istnieje kilka metod określania przezroczystości. Jednym ze sposobów jest ustawienie koloru-klucza. Polega to na wybraniu konkretnego koloru, który reprezentuje przezroczystość.

Przezroczystość

Przezroczystość Ustawienie koloru klucza: Ostatni argument to kolor klucz (w tym wypadku czarny).

Przezroczystość Ustawienie koloru klucza: Ostatni argument to kolor klucz (w tym wypadku czarny).

Rysowanie powierzchni na ekranie Funkcja DrawSurface z szablonu: Rysuje na ekranie screen obrazek sprite w punkcie (x, y) (są to współrzędne środka obrazka).

Rysowanie powierzchni na ekranie Funkcja DrawSurface z szablonu: Rysuje na ekranie screen obrazek sprite w punkcie (x, y) (są to współrzędne środka obrazka).

Tekst Opis 2 zadania projektowego Do rysowania tekstu można wykorzystać funkcję: (x, y) to początek tekstu na ekranie, text to tekst do wyświetlenia a charset to powierzchnia z obrazkami liter (zob. plik CS8X8.BMP)

Tekst Opis 2 zadania projektowego Do rysowania tekstu można wykorzystać funkcję: (x, y) to początek tekstu na ekranie, text to tekst do wyświetlenia a charset to powierzchnia z obrazkami liter (zob. plik CS8X8.BMP)

Stany Aplikacji Maszyna stanowa to obiekt który ma określony zbiór stanów i w danej chwili znajduje się w jednym z nich. Działania maszyny lub wpływ środowiska. może zmienić jej stan.

Stany Aplikacji Maszyna stanowa to obiekt który ma określony zbiór stanów i w danej chwili znajduje się w jednym z nich. Działania maszyny lub wpływ środowiska. może zmienić jej stan.

Stany Aplikacji

Stany Aplikacji

Dziękuje za uwagę