Windows Vista i DirectX 10 to największe

Wielkość: px
Rozpocząć pokaz od strony:

Download "Windows Vista i DirectX 10 to największe"

Transkrypt

1 Nowe technologie Marcin Duszyński Jacek Matulewski XNA zarządzana platforma dla gier Windows Vista i DirectX 10 to największe nowości tego roku. Razem z nimi udostępniona została nowa wersja platformy.net o numerze 3.0, która ma być w zamierzeniu Microsoft nowym oficjalnym interfejsem programistycznym systemów Windows (nowym WinAPI). O tych trzech produktach było głośno. Nieco mniej informacji w prasie można znaleźć o innej nowości, która stanowi pewnego rodzaju łącznik między powyższymi technologiami, a mianowicie o XNA. Marcin Duszyński student fizyki technicznej, specjalizacji informatyka stosowana na Wydziale Fizyki, Astronomii i Informatyki Stosowanej Uniwersytetu Mikołaja Kopernika w Toruniu. Interesuje się platformą.net i tematyką gier komputerowych. Programowaniem interesuje się od szkoły podstawowej, od kiedy dostał pierwszy komputer Commodore C64. Niedawno uzyskał tytuł inżyniera. Tytułem pracy było: Modelowanie funkcji trójwymiarowych z wykorzystaniem platformy XNA. Kontakt z autorem: m.w.duszynski.s01@fizyka.umk.pl Jacek Matulewski - Fizyk zajmujący się na co dzień optyką kwantową i układami nieuporządkowanymi na Wydziale Fizyki, Astronomii i Informatyki Stosowanej Uniwersytetu Mikołaja Kopernika w Toruniu. Jego specjalnością są symulacje ewolucji układów kwantowych oddziaływujących z silnym światłem lasera. Od 1998 interesuje się programowaniem dla systemu Windows, w szczególności w środowisku Borland C++Builder. Ostatnio zainteresowany platformą.net i językiem C#. Wierny użytkownik kupionego w połowie lat osiemdziesiątych "komputera osobistego" ZX Spectrum 48k. Kontakt z autorem: jacek@fizyka.umk.pl XNA Nowe podejście do programowania gier Pojawienie się XNA jest ciekawą informacją zarówno dla graczy, jak i dla programistów. Gracza powinien zainteresować potencjał jaki tkwi w przenaszalności XNA. Samo Microsoft przygotowuje platformę XNA dla systemu Windows z zainstalowanym.net Framework (komputery PC) oraz dla konsoli gier Xbox 360 wyposażonych w.net Compact Framework. Z tego wynika, że gry korzystające z XNA powinny być jednocześnie dostępne dla obu platform i rzeczywiście w tej chwili przenaszalność kodu jest niemal stuprocentowa. Niezależnie od Microsoft w ramach projektu Mono powstaje Mono.XNA Framework wieloplatformowy interfejs oparty na OpenGL i SDL. Można zatem przypuszczać, że zarządzane gry przygotowywane dla platformy XNA będą mogły być uruchamiane na niemal dowolnym komputerze oraz na niektórych konsolach. Także entuzjaści konsoli Sony Playstation 3, która przecież dopiero co pojawiła się na rynku, już próbują uruchamiać gry XNA na swoich zabawkach korzystając z Mono.XNA pracującego w systemie Linux. Wprawdzie cały projekt jest jeszcze we wstępnej fazie realizacji, w szczególności grafika 3D realizowana jest jeszcze programowo, a nie sprzętowo, ale to z pewnością tylko kwestia czasu, aby i na Playstation 3 można było bawić się grami dla platformy XNA. Nowe perspektywy dla programistów gier Natomiast programiści powinni być zainteresowani perspektywą wydajnego tworzenia kodu gier w języku C# dla platformy zarządzanej, jaką jest platforma XNA. Przypomnijmy sobie zalety platformy.net: zwiększone bezpieczeństwo, konsekwentna obiektowość, zmniejszenie rozmiaru plików wykonywalnych dzięki umieszczeniu zestawu klas i komponentów w bibliotekach samej platformy oraz przenośność kodu pośredniego. Te wszystkie zalety przejmuje także platforma XNA. Ponadto XNA daje dostęp do bibliotek zarządzanych klas pozwalających na tworzenie grafiki trójwymiarowej. XNA ma być w tym względzie spadkobiercą bardzo udanego interfejsu Managed DirectX (MDX)1. W tej chwili biblioteki XNA komunikują się z kartą graficzną za pośrednictwem DirectX, a w szczególności jego modułu Direct3D. Wraz z platformą XNA udostępnione zostają narzędzia programistyczne pozwalające na tworzenie gier dla nowej platformy. Microsoft opublikował dodatek do darmowego środowiska programistycznego Visual C# 2005 Express Edition o nazwie XNA Game Studio Express (XNA GSE). Można go nieodpłatnie pobrać ze strony xna/. Wersja darmowa ma ograniczone możliwości i zgodnie z deklaracjami producenta przeznaczona jest głównie dla amatorów chałupniczego programowania gier i studentów. Jednak już w tym roku ma zostać wydana profesjonalna edycja XNA GSE integrująca się z pełną wersją Visual Studio 2005, która umożliwiać będzie tworzenie komercyjnych gier zarówno dla systemów Windows, jak i dla konsol Xbox 360. Nie można oczywiście oczekiwać, aby ta wersja była darmowa, ale jej cena nie została jeszcze ogłoszona. Celem XNA GSE jest zmiana podejścia do tworzenia gier. Do tej pory z programowaniem gier wiązało się tak wiele trudnych kwestii technicznych, 48 Software Developer s Journal 12/2007

2 XNA zarządzana platforma dla gier Czym jest XNA? XNA to nowa platforma uruchomieniowa bazująca na dobrze znanej nam wszystkim platformie.net. Pozwala na uruchamianie nie byle jakich aplikacji, bo korzystających z trójwymiarowej grafiki gier komputerowych. Nieco upraszczając można powiedzieć, że z punktu widzenia użytkownika komputera XNA jest zoptymalizowaną pod gry równoległą odmianą platformy.net. Samej platformie, którą można bezpłatnie pobrać ze strony towarzyszą także bezpłatne narzędzia do tworzenia gier. Taki zestaw jest stymulatorem do natychmiastowego powstania i dynamicznego rozwoju społeczności programistów zainteresowanych nową platformą. I dlatego prawie natychmiast powstały strony udostępniające poradniki, oferujące przykładowe kody i gotowe gry. Można zatem powiedzieć, że XNA to już nie tylko nowa technologia, to także związana z nią społeczność zapaleńców programowania gier, a w szczególności gier korzystających z grafiki 3D. Rysunek 1. Prezentacja finalnej wersji XNA że nierzadko programiści gubiąc się w ich gąszczu tracili z oczu pierwotny pomysł gry i te trudne do zdefiniowania elementy, które wpływają na jej grywalność. Przez to publikowanych jest wiele gier z nowoczesną, ładnie wyglądającą grafiką, ale nieciekawych. XNA ma to zmienić w zasadniczy sposób. Dołączone do XNA klasy implementujące interfejsy do bibliotek generujących grafikę oraz dźwięk mają znakomicie ułatwić programowanie tej technicznej sfery gier, a to pozwoli na skupienie się na tym, co najważniejsze, a więc na projektowaniu świata i logiki gry. Korzystanie z udogodnień środowiska Visual C#, choćby podpowiadanie i uzupełnianie kodu oraz dołączona pełna dokumentacja wraz z przykładami, i same zalety języka C# dają gwarancje, że te obietnice Microsoft mogą mieć pokrycie w rzeczywistości. Wykorzystanie zarządzanej platformy i nowoczesnego języka C# niewątpliwie będą miały również wpływ na stabilność gry. Teraz gry pisane są zwykle w C++, który ma opinię wydajnego (szybkiego, potężnego), ale czasami niebezpiecznego, nawet w doświadczonych rękach. Potwierdza to ilość błędów w grach, nawet tych komercyjnych. W tej sytuacji wykorzystanie zabezpieczeń wpisanych w zarządzaną platformę i język C# jest przynajmniej godna rozważenia. Ponadto XNA GSE będzie wyposażona w dodatkowe narzędzia, które mają wspomóc publikowanie gier. Najczęściej wspomnianym jest mechanizm weryfikowania wykorzystywanych przez gry plików, który ma usuwać z gotowego pakietu gry te pliki, które nie są przez nią wykorzystywane. A tych podobno jest zwykle całkiem sporo (Microsoft podaje jako przykład swoją własną grę, która po weryfikacji znacznie schudła ). Architektura XNA Platforma XNA podzielona jest na moduły. Może lepszym terminem jest warstwy. Najbliżej sprzętu, na którym uruchamiana jest gra jest warstwa aplikacji. Odpowiada za inicjalizację urządzeń oddanych we władanie XNA oraz za obsługę jej biblioteki komponentów na danej platformie sprzętowej. Wyżej leży warstwa grafiki. W tej chwili opiera się na wspomaganym sprzętowo interfejsie Direct3D w wersji z DirectX 9.0c. W przeciwieństwie do zarządzanego DirectX (MDX 1.0), XNA bazuje na programowalnym potoku shaderów. To ozna- Listing 1. Pełen kod gry zawierający rozszerzenie klasy Game namespace XNA2D public class Game1 : Microsoft.Xna.Framework.Game Texture2D stexture; SpriteBatch sspritebatch; protected override void LoadGraphicsContent(bool loadallcontent) if (loadallcontent) sspritebatch = new SpriteBatch(this.graphics.Gr aphicsdevice); stexture = content.load<texture2d>("xna") as Texture2D; protected override void Draw(GameTime gametime) graphics.graphicsdevice.clear(color.cornflowerblue); sspritebatch.begin(spriteblendmode.alphablend); sspritebatch.draw(stexture, new Rectangle(0, 0, 100, 50), new Rectangle(0, 0, stexture.width, stexture.height), Color.White); sspritebatch.end(); base.draw(gametime); Software Developer s Journal 12/

3 Nowe technologie Co oznacza skrót XNA? Pewnie Czytelnik zastanawia się dlaczego dotąd nie podaliśmy rozwinięcia skrótu XNA. Po prostu dlatego, że go nie ma. W FAQ można znaleźć nawet żart jego twórców, którzy na pytanie o to co kryje się za XNA odpowiadają: XNA s Not Acronymed. cza, że do wygenerowania każdej, nawet najbardziej prostej sceny będziemy musieli przygotować program dla Vertex i Pixel Shaderów. Programy dla jednostek cieniowania tworzy się tak samo jak dotychczas, tzn. za pomocą języka HLSL (ang. High Level Shader Language). Jednak aby uprościć życie początkującym programistom Microsoft przygotowało zbiór gotowych programów zawarty w klasie BasicEffect, który oferuje podstawowy tryb renderowania sceny z wykorzystaniem tekstur oraz światła. Kolejna warstwa odpowiedzialna jest za dźwięk. Zadaniem programisty-dźwiękowca jest przygotowanie paczek efektów dźwiękowych, które platforma XNA potrafi obsługiwać. Może do tego wykorzystać aplikację Microsoft Cross-Platform Audio Creation Tool (w skrócie XACT). W owych paczkach zawarta jest informacja o poziomie głośności, parametrach miksowania kanałów i inne parametry audio. Rola programisty scalającego projekt polega w przypadku dźwięku jedynie na włączeniu takiej paczki do projektu aplikacji, wczytaniu jej w odpowiednim miejscu do pamięci i uruchomieniu dźwięku. Nie interesują już go szczegóły dotyczące dźwięku te informacje zawarte zostały już w paczkach dźwięków pochodzących z aplikacji XACT. Najbliżej gracza jest warstwa wyjścia, która jest wspólnym dla XNA w Windows i w Xbox 360 interfejsem obsługującym kontrolery wykorzystywane do kontroli aplikacji (klawiatura, mysz, gamepad). XNA dysponuje też warstwą pomocniczą, która zajmuje się przekształceniami matematycznymi, które intensywnie wykorzystywane są w grach i przy transformacjach trójwymiarowych scen. Dostępne są zatem typy implementujące wektory trójwymiarowe, macierze, płaszczyzny wraz z metodami odpowiedzialnymi za ich algebrę i przekształcenia. Ciekawie brzmi również zapowiedź dodania warstwy odpowiedzialnej za realistyczną symulację zjawisk fizycznych (np. wpływ grawitacji na zachowanie przedmiotów na scenie), która, jeżeli wiązałaby się ze wsparciem sprzętowym, mogłaby doprowadzić do poważnego przełomu w realizmie gier komputerowych. Przyszłość XNA Microsoft deklaruje, że bezpłatna wersja XNA przeznaczona jest przede wszystkim dla hobbystów i eksperymentujących z programowaniem studentów. Nie trudno się jednak domyślić, że prawdziwym przeznaczeniem, podobnie jak w przypadku darmowej wersji środowiska Visual C#, jest promocja profesjonalnej edycji planowanej na lato tego roku. Nie zmienia to jednak faktu, że XNA i XNA GSE są niezwykle ciekawym pomysłem, który warty jest uważnej obserwacji. Jest to technologia, która nadal jest w początkowej fazie rozwoju, ale możemy się spodziewać, że dzięki wsparciu Microsoft wkrótce zaczną powstawać przeznaczone na nią profesjonalnie przygotowane gry. Nawet obecna darmowa wersja XNA GSE umożliwia tworzenie gier, które robią bardzo dobre wrażenie. A przy tym są przenaszalne - można je uruchomić na Windows i Xbox 360 (a dzięki Mono.XNA także na innych systemach i konsolach). W przypadku Xbox kryje się tu jednak pewien haczyk. Po pierwsze każdy kto zechce uruchomić przygotowany w XNA GSE kod na tej konsoli musi należeć do XNA Creators Club, a członkostwo w klubie kosztuje 99 dolarów rocznie i jest dostępne tylko dla osób, które maja wykupiony dostęp do Xbox Live. Po dru- Listing 2. Kod wyświetlający model z pliku namespace XNA3D public class Game1 : Microsoft.Xna.Framework.Game Model mymodel; Vector3 cameraposition = new Vector3(0.0f, 50.0f, f); float aspectratio = 640.0f / 480.0f; Vector3 modelposition = Vector3.Zero; protected override void LoadGraphicsContent(bool loadallcontent) if (loadallcontent) mymodel = content.load<model>("content\\models\ \statek"); protected override void Draw(GameTime gametime) graphics.graphicsdevice.clear(color.cornflowerblue); foreach (ModelMesh mesh in mymodel.meshes) foreach (BasicEffect effect in mesh.effects) effect.enabledefaultlighting(); effect.world = Matrix.CreateTranslation(mod elposition); effect.view = Matrix.CreateLookAt(cameraPos ition, Vector3.Zero, Vector3.Up); effect.projection = Matrix.CreatePerspectiv efieldofview( MathHelper.ToRadians(45.0f),aspectRatio, 1.0f, f); mesh.draw(); 50 Software Developer s Journal 12/2007

4 XNA zarządzana platforma dla gier Rysunek 2. Pocket- Jongg na platformie XNA gie gra może być wgrana do konsoli tylko za pośrednictwem komputera wyposażonego w Windows XP SP2. Użytkownicy konsoli liczą, że z czasem Microsoft udostępni jakąś witrynę pozwalająca na swobodną wymianę napisanych przez hobbystów gier XNA, ale na razie nie ma żadnego sygnału z Redmond, aby te nadzieje miały jakieś realne podstawy. Rysunek 3. Dokumentacja XNA Game Studio Express Pierwszy kontakt z XNA Czas na spojrzenie na XNA od bardziej praktycznej strony. Spróbujmy przygotować prostą aplikację, która ograniczać będzie się w prawdzie do wyświetlania prostych obiektów, ale do tego skorzystamy z większości typowych mechanizmów, na które napotykamy we wszystkich projektach XNA. Jak już wcześniej wspomnieliśmy, do tworzenia własnych aplikacji uruchamianych w platformie XNA potrzebujemy Microsoft Visual C# 2005 Express Edition oraz XNA Game Studio Express. Po ich instalacji możemy uruchomić Visual C#, w którym tworzymy nowy projekt typu Windows Game. W ten sposób powstanie szkielet nowej aplikacji. Przy projektowaniu gier dla XNA korzystamy z wszystkich zalet środowiska programistycznego Microsoft. Oznacza to, że dysponujemy możliwością uzupełniania kodu, która jest szczególnie użyteczna w przypadku nowopoznawanych bibliotek, informacją o argumentach metod i dokumentacją. Ponadto projekt, który stworzyliśmy zawiera już wszystkie standardowe metody niezbędne przy tworzeniu gry korzystającej z grafiki w XNA. Są one opatrzone wyczerpującymi komentarzami. W najprostszym przypadku zadaniem programisty jest zatem jedynie wypełnienie tych metod kodem, który określi działanie gry. Metoda, która wykonywana jest jako pierwsza to Initialize. Odpowiada za inicjalizację stanu wykorzystywanych obiektów oraz za wykonanie czynności wstępnych np. wczytanie paczek z dźwiękami. Następnie, w celu dostarczenia obiektów graficznych zostanie wykonana metoda LoadGraphicsContent, która odpowiada za wczytanie obiektów 2D (np. tekstur) i 3D do pamięci. Oczywiście jest również metoda odpowiedzialna za usunięcie tych obiektów z UnloadGraphicsContent. Przy prostych aplikacjach nie jest wykorzystywana przez programistę, ponieważ platforma XNA, podobnie, jak platforma.net jest zarządzana, a więc za usuwanie obiektów odpowiedzialny jest wbudowany w platformę garbage collector. Metoda ta może być jednak użyta w projektach w znacznym stopniu wykorzystujących pamięć komputera, w których warto usuwać niepotrzebne dane z pamięci, aby przygotować miejsce dla nowych danych potrzebnych do wygenerowania kolejnej sceny. Nasza aplikacja, jak każda gra, musi oczywiście reagować na bodźce z zewnątrz. Ich obróbką zajmuje się metoda Update. Jej zadaniem jest uaktualnianie stanu obiektów i przetwarzanie poleceń z zewnątrz. Tym samym to w tej metodzie zawarta będzie logika gry odpowiedzialną za przetwarzanie danych wejściowych (klawiatura, myszka, gamepad) w dane wyjściowe, a więc w wyświetlany obraz, a tym samym odpowiada za komunikacje z graczem. Polecenia rysowania obiektów na scenie nie są jednak umieszcza- Verba docent, exempla trahunt Słowa uczą, przykłady pociągają. Zgodnie z tą ideą Microsoft udostępnił zbiór tak zwanych Starter Kits, a więc projektów gier XNA, których uważna analiza może być bardziej pouczająca niż studiowanie książek o nowej platformie. Jeden z takich projektów jest nawet dołączony do XNA Game Studio Express. Jest to Spacewar Starter Kit projekt dwuwymiarowej gry dla dwóch graczy. Inny ciekawy projekt o nazwie The Racing Game Starter Kit dostępny jest na stronie creators.xna.com. Jest to bardzo rozbudowana trójwymiarowa gra wyścigowa. Po spędzeniu kilku chwil na graniu, warto zajrzeć pod jej maskę, a może nawet pokusić się o jej rozbudowę lub modyfikację. Rysunek 4. Demo techniczne prezentujące możliwości XNA wykorzystujące silnik Torque X Software Developer s Journal 12/

5 Nowe technologie ne w metodzie Update obraz powinien być tworzony w odrębnej metodzie Draw, która na podstawie uaktualnionego stanu obiektów przygotowuję scenę. Metoda ta może być bardzo rozbudowana. Nawet pusty szkielet kodu utworzony przez kreator można skompilować. Spróbujmy. Wciśnijmy w tym celu magiczny przycisk F5. Po chwili powinniśmy zobaczyć niebieską planszę okno naszej pierwszej gry. Nie jest to oczywiście nic szczególnego, obraz jest w zasadzie pusty, ale już na starcie wyposażony w trójwymiarową przestrzeń. Zresztą już za chwilę umieścimy w tej przestrzeni pierwsze obiekty. Grafika 2D Pomimo, że dzisiejszych czasach już prawie wszyscy zapomnieli o grach z grafiką 2D, naszym zdaniem programista który wchodzi w obszar programowania gier, powinien choćby liznąć generowanie płaskich obiektów, szczególnie, że ich tworzenie jest łatwiejsze niż obsługa magnetowidu. Tego typu obiekty od dawien dawna (tj. od epoki Commodore C64) nazywane są sprite ami, co zwykle tłumaczy się jako duszki. Proces tworzenia dwuwymiarowego obiektu rozpoczynamy od wczytania tekstury jaką zostanie on pokryty. Służy do tego metoda Load obiektu typu ContentManager. Pozwala ona przypisać plik z teksturą do obiektu typu Texture- 2D. Dzięki temu możemy swobodnie manipulować i wyświetlać zawartość tekstury (Listing 1). Jeżeli dysponujemy tymi obiektami, możemy bez przeszkód wyświetlić obiekt wywołując metodę Draw na rzecz instancji klasy SpriteBatch. Jej parametrami są: instancja klasy Texture2D z przypisaną teksturą, prostokąt, na którym ma być wyświetlony obiekt, prostokąt wyznaczający fragment tekstury, który ma być użyty oraz tzw. kolor modulacji. W przypadku, gdy za kolor modulacji użyta jest biel, kolory tekstury wyświetlane są bez modyfikacji. Na płycie dołączonej do czasopisma znajduje się opisana powyżej aplikacja w rozszerzonej wersji, która nadaje się do samodzielnej analizy. Wydaje nam się, że prześledzenie jej działania więcej nauczy Czytelnika o tworzeniu gier 2D niż kilka stron tekstu. Nawet teraz widać jednak, że tworzenie grafiki dwuwymiarowej w XNA jest łatwe i szybkie. Dzięki temu możemy skupić się na pracy nad logiką gry. Rysunek 5. Wyświetlanie dwuwymiarowego obiektu z teksturą Rysunek 6. Obiekt trójwymiarowy Grafika 3D Uznajmy, że grafikę 2D mamy już oswojoną. Możemy zatem wkroczyć w wirtualny świat trzech wymiarów. Siłą rzeczy w tym artykule, którego jedynym celem jest tylko zaprezentowanie nowej technologii, ograniczymy się do bardzo skromnego wstępu. Temat tworzenia gier 3D w XNA jest bowiem niemal nie do wyczerpania. Jednak, o czym zdążyliśmy się już przekonać, praca z XNA jest bardzo efektywna, ciekawe efekty możemy uzyskać już za pomocą kilku linii kodu. Taki będzie nasz przykład gry 3D. Sama filozofia tworzenia i wyświetlania obiektów 3D nie różni się bardzo od tworzenia sprite ów. Musimy jednak dysponować plikiem modelu, tj. plikiem zawierającym opis trójwymiarowego obiektu łącznie z teksturami, który chcemy pokazać na scenie. Plik ten dodajemy do projektu (okno Solution Explorer) jako Content Pipeline. Aby wczytać ów obiekt do pamięci po uruchomieniu gry, należy użyć instancji klasy ContentManager, a dokładnie jej metody Load. Po tym możemy go po prostu wyświetlić metodą Draw. Cały proces wygenerowania modelu na scenie zawarty jest w kodzie widocznym na Listingu 2. Jeśli pracujemy z plikami standardowo obsługiwanymi przez Content Pipeline, cała odpowiedzialność za wczytanie i obsługę tekstur modelu spoczywa na środowisku XNA. Takimi formatami plików są na przykład.fbx,.x lub.png. Mniej przyjemnie jest, jeżeli dysponujemy plikiem, który nie jest obsługiwany przez XNA. Wówczas to na programistę spada obowiązek przygotowania kodu wczytującego i interpretującego jego zawartość. Jednak zanim rozpoczniemy pisanie odpowiedniego kodu, warto sprawdzić, czy nie został on już przygotowany przez członków bardzo prężnej społeczności miłośników XNA. Już teraz są dostępne w Internecie, oczywiście gratis, komponenty do XNA, w tym komponenty rozszerzające obsługę formatów graficznych przez Content Pipeline. Wyświetlenie obiektu (w naszym przypadku statku kosmicznego Rysunek 6), to jedno, a jego ruch to zupełnie osobna sprawa. Listing 2. zawiera wyłącznie kod wyświetlający model z pliku. Jeżeli Czytelnik chce dowiedzieć się, w jaki sposób nim poruszać, może przyjrzeć się projektowi umieszczonemu na CD dołączonym do czasopisma, w którym projekt trójwymiarowej gry został rozszerzony o możliwość kierowania statkiem kosmicznym i efekty dźwiękowe. Możemy jednak zapewnić, że nie jest to bardziej skomplikowane niż 52 Software Developer s Journal 12/2007

6 W Sieci oficjalna strona XNA w witrynie Microsoft polska strona poświęcona platformie XNA strony z poradnikami uczącymi XNA witryna projektu Mono.XNA witryna dla projektantów gier XNA wiadomości i nowinki ze świata XNA to, czym zajmowaliśmy się do tej pory. Dwa opisane powyżej proste projekty aplikacji XNA miały Czytelnika przekonać, że programowanie gier w nowej platformie Microsoft jest łatwiejsze niż korzystając z Win32 i DirectX. Mam nadzieję, że nam to się udało i że polskie środowisko programistów doceni nową możliwość i amatorskie gry dla XNA zaczną powstawać także w naszym kraju. Podsumowanie XNA cały czas ewoluuje powiększając jednocześnie grono swoich zwolenników. Niedawno Microsoft ogłosił, że do nadchodzącego wydania XNA 2.0 doda obsługę komunikacji sieciowej (zarówno w wersji na blaszaka, jak i Xbox 360). Wszystkie społeczności internetowe skupione wokół XNA wyczekują na szczegóły odnośnie implementacji nowej usługi na konsoli bo do tej pory w ogóle nie było na tej platformie żadnego mechanizmu udostępniającego taką funkcjonalność. Kolejną niespodzianką jest rezygnacja z opłat za narzędzia developerskie pozwalające na rozwijanie kodu dla XNA w Visual Studio (także w pełnej wersji Professional). Wydaje się jasne, że łączy się to z zapowiadaną promocją XNA także jako narzędzia do profesjonalnego tworzenia gier komercyjnych. Byłoby to doskonałym remedium na stale rosnący koszt gier i być może przełożyłoby się także na cenę końcowego produktu, ale to ostatnie zostanie pewnie tylko naszym niespełnionym marzeniem. Mimo wszystko mam nadzieję, że za parę lat będzie powstawać dużo ciekawych gier komputerowych bazujących właśnie na XNA Framework, co przełoży sie nie tylko na ich jakość, ale także stabilność - spory problem dzisiejszych gier działających na platformie Win32 i DirectX. Chociaż XNA nie jest jeszcze rozwiązaniem idealnym, to udostępnia szybką i bezpieczną bazę dla tworzenia gier komputerowych. Wieloplatformowość i bezpłatne udostępnianie środowiska oraz aplikacji dodatkowych, w tym developerskich, powoduje, że XNA zdobywa coraz większą popularność. Dzięki swojej prostocie i dostępności jest to idealne rozwiązanie dla studentów, uczelni i małych firm programistycznych. Nie ponosząc żadnych nakładów finansowych dostajemy zaawansowane środowisko oraz rozbudowaną i uniwersalna bazę dla naszych gier komputerowych i innych aplikacji korzystających z grafiki 3D. Ponadto za pośrednictwem wielu stron internetowych możemy nieodpłatnie pobrać gotowe komponenty, które rozszerzają możliwości XNA i dodatkowo skracają czas poświęcany na przygotowanie kodu aplikacji lub gry. Cała funkcjonalność XNA przekłada się na oszczędność czasu oraz pieniędzy. Software Developer s Journal 12/2007

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Systemy wirtualnej rzeczywistości. Komponenty i serwisy Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki

Bardziej szczegółowo

Grafika 3D na przykładzie XNA 3.1

Grafika 3D na przykładzie XNA 3.1 Jacek Matulewski, Tomasz Dziubak Grafika 3D na przykładzie XNA 3.1 ITA-106 Wersja 1.02 (XNA 3.1, PS 2.0) Toruo, listopad 2010 2010 Jacek Matulewski, Tomasz Dziubak. Autor udziela prawa do bezpłatnego kopiowania

Bardziej szczegółowo

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński MonoGame Wieloplatformowe gry w C# Mateusz Cicheński Plan prezentacji Założenia Alternatywy Narzędzia Różnice między WP8, ios, Android DEMO Podsumowanie Założenia CEL: Stworzenie wieloplatformowej gry

Bardziej szczegółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

Bardziej szczegółowo

Król Łukasz Nr albumu: 254102

Król Łukasz Nr albumu: 254102 Król Łukasz Nr albumu: 254102 Podstawy o Delphi Język programowania, którego można używać w środowiskach firmy Borland, Embarcadero, Microsoft (Delphi Prism), oraz w środowisku Lazarus. Narzędzia te są

Bardziej szczegółowo

Zastosowania Robotów Mobilnych

Zastosowania Robotów Mobilnych Zastosowania Robotów Mobilnych Temat: Zapoznanie ze środowiskiem Microsoft Robotics Developer Studio na przykładzie prostych problemów nawigacji. 1) Wstęp: Microsoft Robotics Developer Studio jest popularnym

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin HENRYKOWSKI Nr albumu: 158069 Praca magisterska na kierunku Informatyka Archiwizacja

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski -

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski - S t r o n a 2 SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski - Copyright by Artur Niewiarowski 2013 ISBN: 978-83-937802-0-4 - Artur Niewiarowski Self-Publishing - All rights reserved. Wszelkie prawa

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma

Bardziej szczegółowo

Politechnika Poznańska, Instytut Informatyki, SUM-TWO

Politechnika Poznańska, Instytut Informatyki, SUM-TWO Politechnika Poznańska, Instytut Informatyki, SUM-TWO 11 kwietnia 2015 Historia DirectX Gry pod DOS korzystały z własnych bibliotek graficznych. Pierwsze wersje Windows umożliwiały tworzenie grafiki tylko

Bardziej szczegółowo

D O K U M E N T A C J A

D O K U M E N T A C J A Państwowa Wyższa Szkoła Zawodowa w Tarnowie Instytut Politechniczny Informatyka Stosowana III r. D O K U M E N T A C J A Snake 3D Piotr Gębiś Paweł Gładysz Dokumentacja do projektu Snake 3D. W dokumencie

Bardziej szczegółowo

Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows

Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows Phone 7. Skąd i jakie paczki pobrać. Coś napiszemy :-)

Bardziej szczegółowo

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

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej. Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.

Bardziej szczegółowo

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4

Międzyplatformowy interfejs systemu FOLANessus wykonany przy użyciu biblioteki Qt4 Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Agnieszka Holka Nr albumu: 187396 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych: Egzaminy na plus Stres na minus! Zdawaj bezpłatne egzaminy Microsoft, Linux, C++ z nami i zadbaj o swoją karierę. Oferujemy Ci pierwsze certyfikaty zawodowe w Twojej przyszłej karierze, które idealnie

Bardziej szczegółowo

Podstawy programowania. Wprowadzenie

Podstawy programowania. Wprowadzenie Podstawy programowania Wprowadzenie Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania znaleźć matematyczne

Bardziej szczegółowo

9.1.2. Ustawienia personalne

9.1.2. Ustawienia personalne 9.1.2. Ustawienia personalne 9.1. Konfigurowanie systemu Windows Systemy z rodziny Windows umożliwiają tzw. personalizację ustawień interfejsu graficznego poprzez dostosowanie wyglądu pulpitu, menu Start

Bardziej szczegółowo

Programowanie telefonów z Windows Phone 7, cz. 3

Programowanie telefonów z Windows Phone 7, cz. 3 Programowanie telefonów z Windows Phone 7, cz. 3 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

Bardziej szczegółowo

Referat Pracy Dyplomowej

Referat Pracy Dyplomowej Referat Pracy Dyplomowej Team Pracy: Projekt i realizacja gry w technologii HTML5 z wykorzystaniem interfejsu programistycznego aplikacji Facebook Autor: Adam Bartkowiak Promotor: dr inż. Roman Simiński

Bardziej szczegółowo

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Koło Naukowe Informatyków FRAKTAL Opracował : Michał Wójcik, II rok MU IiE CZYM JEST

Bardziej szczegółowo

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost; Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze

Bardziej szczegółowo

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt 1. Wprowadzenie Wymagania wstępne: wykonanie ćwiczeń Adresacja IP oraz Implementacja aplikacji sieciowych z wykorzystaniem interfejsu gniazd

Bardziej szczegółowo

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński

Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński Programowanie aplikacji na iphone. Wstęp do platformy ios. Łukasz Zieliński Plan Prezentacji. Programowanie ios. Jak zacząć? Co warto wiedzieć o programowaniu na platformę ios? Kilka słów na temat Obiective-C.

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: obowiązkowy na specjalności: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE

Bardziej szczegółowo

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w C. dr inż. Stanisław Wszelak Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++

Bardziej szczegółowo

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod Nazwa Nazwa w języku angielskim Obowiązuje od roku akademickiego 2012/2013 Programy grafiki rastrowej,

Bardziej szczegółowo

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Tworzenie i obsługa wirtualnego laboratorium komputerowego Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego

Bardziej szczegółowo

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

Bardziej szczegółowo

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx 1. WPROWADZENIE Program AutoCAD ma wielu użytkowników i zajmuje znaczące miejsce w graficznym

Bardziej szczegółowo

Gry Komputerowe Laboratorium 1. Zajęcia organizacyjne Animacja z uwzględnieniem czasu. mgr inż. Michał Chwesiuk 1/22. Szczecin,

Gry Komputerowe Laboratorium 1. Zajęcia organizacyjne Animacja z uwzględnieniem czasu. mgr inż. Michał Chwesiuk 1/22. Szczecin, Gry Komputerowe Laboratorium 1 Zajęcia organizacyjne mgr inż. Michał Chwesiuk 1/22 projektowych Zajęcia projektowe składają się zajęć (plus jedno zajęcie godzinne). Zajęcia polegają na programowania grafiki

Bardziej szczegółowo

Wpisany przez Mateusz Ponikowski Czwartek, 01 Listopad 2012 11:37 - Zmieniony Czwartek, 01 Listopad 2012 14:42

Wpisany przez Mateusz Ponikowski Czwartek, 01 Listopad 2012 11:37 - Zmieniony Czwartek, 01 Listopad 2012 14:42 Jeżeli posiadasz komputer z oryginalnym systemem Windows może za niewielkie pieniądze cieszyć się najnowszą edycją "okienek". Microsoft przygotował preferencyjne warunki dla użytkownicy którzy chcąc przesiąść

Bardziej szczegółowo

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Spis treści Wprowadzenie...n...n... 5 Jak korzystać z tej książki?...t... 6 Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Podsumowanie...t...t...15 Rozdział 2. Rozdział

Bardziej szczegółowo

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER Karta przedmiotu Podstawy programowania procesorów graficznych realizowanego w ramach projektu PO WER 2017-2019 Wydział Inżynierii Elektrycznej i Komputerowej Kierunek studiów: Informatyka Profil: Ogólnoakademicki

Bardziej szczegółowo

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii

Bardziej szczegółowo

Mikołaj Kania Waldemar Korłub Jakub Krajewski

Mikołaj Kania Waldemar Korłub Jakub Krajewski Mikołaj Kania Waldemar Korłub Jakub Krajewski Wprowadzenie do projektowania gry strategicznej w oparciu o XNA Framework Mobilizacja Nasibu Isle XNA Framework Wirtualny świat rozgrywki Elementy 2D Elementy

Bardziej szczegółowo

Procesowa specyfikacja systemów IT

Procesowa specyfikacja systemów IT Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom: 1. QT creator, pierwsze kroki. Qt Creator wieloplatformowe środowisko programistyczne dla języków C++, JavaScript oraz QML, będące częścią SDK dla biblioteki Qt. Zawiera w sobie graficzny interfejs dla

Bardziej szczegółowo

TWORZENIE PREZENTACJI MS POWERPOINT

TWORZENIE PREZENTACJI MS POWERPOINT TWORZENIE PREZENTACJI MS POWERPOINT Wstęp TWORZENIE PREZENTACJI MS POWERPOINT Czasami zdarza się, że zostajemy poproszeni o poprowadzenia spotkania czy szkolenia w firmie, w której pracujemy lub po prostu

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

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

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

Bardziej szczegółowo

Pierwszy projekt. Na początku warto wspomnieć, że program WebSite X5 dostępy jest w 3 wariantach: Start, Evolution oraz Professional

Pierwszy projekt. Na początku warto wspomnieć, że program WebSite X5 dostępy jest w 3 wariantach: Start, Evolution oraz Professional Projektowanie stron może być proste? Sprawdzamy. {reklama-artykul} Tworzenie stron internetowych to w teorii zagadnienie skomplikowane, często wymagające zaawansowanej wiedzy z dziedziny programowania.

Bardziej szczegółowo

World Wide Web? rkijanka

World Wide Web? rkijanka World Wide Web? rkijanka World Wide Web? globalny, interaktywny, dynamiczny, wieloplatformowy, rozproszony, graficzny, hipertekstowy - system informacyjny, działający na bazie Internetu. 1.Sieć WWW jest

Bardziej szczegółowo

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

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania Autor: Anna Nowak Promotor: dr inż. Jan Kowalski Kategorie: gra logiczna Słowa kluczowe: Sudoku, generowanie plansz, algorytmy,

Bardziej szczegółowo

16) Wprowadzenie do raportowania Rave

16) Wprowadzenie do raportowania Rave 16) Wprowadzenie do raportowania Rave Tematyka rozdziału: Przegląd wszystkich komponentów Rave Tworzenie nowego raportu przy użyciu formatki w środowisku Delphi Aktywacja środowiska Report Authoring Visual

Bardziej szczegółowo

Programowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska

Programowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska Programowanie gier 3D w HTML5 Andrzej P.Urbański Politechnika Poznańska Moje marzenie Od dawna jest znany pakiet Open GL napisany w C++ i bardzo ułatwiający tworzenie gier 3D Zaproponowałem kiedyś jako

Bardziej szczegółowo

5.4. Tworzymy formularze

5.4. Tworzymy formularze 5.4. Tworzymy formularze Zastosowanie formularzy Formularz to obiekt bazy danych, który daje możliwość tworzenia i modyfikacji danych w tabeli lub kwerendzie. Jego wielką zaletą jest umiejętność zautomatyzowania

Bardziej szczegółowo

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych) I. WSTĘP Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych) Algorytm - sposób na osiągnięcie celu w pewnych ograniczonych krokach. Program komputerowy realizuje zawsze algorytm.

Bardziej szczegółowo

Webowy generator wykresów wykorzystujący program gnuplot

Webowy generator wykresów wykorzystujący program gnuplot Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki

Bardziej szczegółowo

GRY KOMPUTEROWE 3D OpenGL DirectX Ogre3D Crystal Space ClanLib Irrlicht SDL Ardor3D jmonkey Engine GRY KOMPUTEROWE 2D ORX Troll2D

GRY KOMPUTEROWE 3D OpenGL DirectX Ogre3D Crystal Space ClanLib Irrlicht SDL Ardor3D jmonkey Engine GRY KOMPUTEROWE 2D ORX Troll2D GRY KOMPUTEROWE 3D 1. Napisać grę komputerową 3D o dowolnej tematyce oraz dowolnego rodzaju z wykorzystaniem OpenGL (bez dodatkowych framework'ów). Mile widziane dodatkowe efekty graficzne oraz dźwiękowe.

Bardziej szczegółowo

Aplikacje w środowisku VBA. Visual Basic for Aplications

Aplikacje w środowisku VBA. Visual Basic for Aplications Aplikacje w środowisku VBA Visual Basic for Aplications Podstawowe informacje o VBA Visual Basic for Aplications, w skrócie VBA, to język programowania rozwijany przez Microsoft, którego zastosowanie pozwala

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Garmin w pockecie? Czemu nie. dr@doktorski.net

Garmin w pockecie? Czemu nie. dr@doktorski.net Garmin w pockecie? Czemu nie. dr@doktorski.net Coraz większa liczba producentów oferuje urządzenia typu PDA z wbudowanym odbiornikiem GPS a część użytkowników bezgpsowych urządzeń PDA rozbudowuje je o

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z możliwości utworzenia struktury bazy danych z

Bardziej szczegółowo

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.

Bardziej szczegółowo

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019 Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Inżynierii Lądowej obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019 Kierunek studiów: Transport Forma sudiów:

Bardziej szczegółowo

Unity 2D - prosta gra

Unity 2D - prosta gra www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest stworzenie prostej gry 2D. Prosta gra Stworzymy prostą grę, w której będziemy sterować pojazdem kosmicznym i będziemy mogli strzelać

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ

e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ e-awizo SYSTEM POTWIERDZANIA DORĘCZEŃ POCZTY ELEKTRONICZNEJ www.e-awizo.pl BrainSoft sp. z o. o. ul. Bolesława Chrobrego 14/2 65-052 Zielona Góra tel.68 455 77 44 fax 68 455 77 40 e-mail: biuro@brainsoft.pl

Bardziej szczegółowo

PREZENTACJE MULTIMEDIALNE cz.2

PREZENTACJE MULTIMEDIALNE cz.2 Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni z przedmiotu Podstawy Informatyki Kod przedmiotu: TS1C 100 003 Ćwiczenie pt. PREZENTACJE MULTIMEDIALNE cz.2

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

PDM wbudowany w Solid Edge

PDM wbudowany w Solid Edge PDM wbudowany w Solid Edge Firma GM System Integracja Systemów Inżynierskich Sp. z o.o. została założona w 2001 roku. Zajmujemy się dostarczaniem systemów CAD/CAM/CAE/PDM. Jesteśmy jednym z największych

Bardziej szczegółowo

1.Wstęp. 2.Generowanie systemu w EDK

1.Wstęp. 2.Generowanie systemu w EDK 1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).

Bardziej szczegółowo

PROGRAMOWANIE DLA KAŻDEGO

PROGRAMOWANIE DLA KAŻDEGO Program pilotażowy dotyczący wprowadzenia nauki programowania w szkole PROGRAMOWANIE DLA KAŻDEGO Szkoła Podstawowa im. Mikołaja Kopernika w Sławkowie 1. W roku szkolnym 2016/2017 wprowadziliśmy do klas

Bardziej szczegółowo

biegle i poprawnie posługuje się terminologią informatyczną,

biegle i poprawnie posługuje się terminologią informatyczną, INFORMATYKA KLASA 1 1. Wymagania na poszczególne oceny: 1) ocenę celującą otrzymuje uczeń, który: samodzielnie wykonuje na komputerze wszystkie zadania z lekcji, wykazuje inicjatywę rozwiązywania konkretnych

Bardziej szczegółowo

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania - 1 doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.edu.pl http://www.tjeleniewski.wstt.edu.pl Cele przedmiotu Umiejętność zastosowania i oceny przydatności paradygmatów

Bardziej szczegółowo

Modelowanie Informacji o Budynku (BIM)

Modelowanie Informacji o Budynku (BIM) Modelowanie Informacji o Budynku (BIM) Główne obiekty BIM www.akademiamiedzi.pl Europejski Instytut Miedzi ul. św. Mikołaja 8-11 50-125 Wrocław e-mail: biuro@instytutmiedzi.pl tel.: (+48) 71 78 12 502

Bardziej szczegółowo

Wykład I. Wprowadzenie do baz danych

Wykład I. Wprowadzenie do baz danych Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles

Bardziej szczegółowo

Wykład 4. Rendering (1) Informacje podstawowe

Wykład 4. Rendering (1) Informacje podstawowe Wykład 4. Rendering (1) Informacje podstawowe Z punktu widzenia dzisiejszego programowania gier: Direct3D jest najczęściej wykorzystywanym przez profesjonalnych deweloperów gier API graficznym na platformie

Bardziej szczegółowo

Platformy Programowania

Platformy Programowania Platformy Programowania Ćwiczenie 1 4 x Hello World! Środowisko programistyczne, w którym będziemy pracować do wakacji: Microsoft Visual Studio 2010 Profesional 1. Utwórz aplikację konsolową. Po uruchomieniu

Bardziej szczegółowo

Miniaturowy rejestrator AUDIO-VIDEO, Video grabber HDMI, nagrywarka HDMI, streaming, id4mobile GrabberHD

Miniaturowy rejestrator AUDIO-VIDEO, Video grabber HDMI, nagrywarka HDMI, streaming, id4mobile GrabberHD MDH System Strona 1 MDH-SYSTEM ul. Bajkowa 5, Lublin tel./fax.81-444-62-85 lub kom.693-865-235 e mail: info@mdh-system.pl Miniaturowy rejestrator AUDIO-VIDEO, Video grabber HDMI, nagrywarka HDMI, streaming,

Bardziej szczegółowo

Plan wykładu. Akcelerator 3D Potok graficzny

Plan wykładu. Akcelerator 3D Potok graficzny Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D

Bardziej szczegółowo

Zintegrowany system usług certyfikacyjnych. Dokumentacja użytkownika. Obsługa wniosków certyfikacyjnych i certyfikatów. Wersja dokumentacji 1.

Zintegrowany system usług certyfikacyjnych. Dokumentacja użytkownika. Obsługa wniosków certyfikacyjnych i certyfikatów. Wersja dokumentacji 1. Dokumentacja użytkownika Zintegrowany system usług certyfikacyjnych Obsługa wniosków certyfikacyjnych i certyfikatów Wersja dokumentacji 1.05 Unizeto Technologies SA - www.unizeto.pl Autorskie prawa majątkowe

Bardziej szczegółowo

Utworzenie pliku. Dowiesz się:

Utworzenie pliku. Dowiesz się: Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program

Bardziej szczegółowo

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

Bardziej szczegółowo

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Tworzenie aplikacji Web Alicja Zwiewka. Page 1 Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową

Bardziej szczegółowo

Środowiska i platformy programistyczne

Środowiska i platformy programistyczne Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja elektronicznego dziennika ocen ucznia Autor: Grzegorz Dudek wykonanego w technologii ASP.NET We współczesnym modelu edukacji, coraz powszechniejsze

Bardziej szczegółowo

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis MATERIAŁY DO ZAJĘĆ I Podstawowe pojęcia Spis treści I. Algorytm II. Schemat blokowy III. Struktury danych IV. Program komputerowy V. Opis środowiska programistycznego VI. Obsługa wejścia wyjścia VII. Przykład

Bardziej szczegółowo

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) KARTA MODUŁU / KARTA PRZEDMIOTU Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. Kod Nazwa Nazwa w języku angielskim Obowiązuje od roku akademickiego 2012/2013 Programy grafiki rastrowej,

Bardziej szczegółowo

Sieciowe Technologie Mobilne. Laboratorium 2

Sieciowe Technologie Mobilne. Laboratorium 2 Sieciowe Technologie Mobilne Laboratorium 2 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 2 Na dzisiejszym laboratorium skupimy się na implementacji

Bardziej szczegółowo

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji. Spis Treści 1. Wprowadzenie... 2 1.1 Wstęp... 2 1.2 Cel pracy... 2 1.3 Zakres pracy... 2 1.4 Użyte technologie... 2 1.4.1 Unity 3D... 3 2. Sztuczna inteligencja w grach komputerowych... 4 2.1 Zadanie sztucznej

Bardziej szczegółowo

Pomoc do programu Oferent

Pomoc do programu Oferent Pomoc do programu Oferent Wersja dokumentu: 1.1 Data ostatniej modyfikacji: 12.03.2012 Informacja o zmianach w stosunku do poprzedniej wersji dokumentu: Dodano informację o wymaganiach platformy Silverlight

Bardziej szczegółowo

Technologia Flash cieszy się coraz większą popularnością. Liczba dostępnych

Technologia Flash cieszy się coraz większą popularnością. Liczba dostępnych Flash i PHP 01 Technologia Flash cieszy się coraz większą popularnością. Liczba dostępnych narzędzi do tworzenia prostych oraz złożonych interaktywnych animacji wzrasta z dnia na dzień. Trzeba przyznać,

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU GRAFICZNE MODELOWANIE

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,

Bardziej szczegółowo

Opis funkcji modułu Konwerter 3D

Opis funkcji modułu Konwerter 3D Opis funkcji modułu Konwerter 3D www.cadprojekt.com.pl Kliknij na tytuł rozdziału, aby przejść do wybranego zagadnienia MODUŁ KONWERTER 3D...3 Wygląd i funkcje okna modułu Konwerter 3D...3 Konwertowanie

Bardziej szczegółowo

programowanie w oparciu o platformę netbeans w praktyce

programowanie w oparciu o platformę netbeans w praktyce programowanie w oparciu o platformę netbeans w praktyce Adam Kędziora. Netbeans innovators grants. Mechanizm lookup jako panorama firm. Węzły w netbeans. Mechanizm lookup jako torba z narzędziami. Dwa

Bardziej szczegółowo

1.3. Tworzenie obiektów 3D. Rysunek 1.2. Dostępne opcje podręcznego menu dla zaznaczonego obiektu

1.3. Tworzenie obiektów 3D. Rysunek 1.2. Dostępne opcje podręcznego menu dla zaznaczonego obiektu 1. Edytor grafiki Draw 1.1. Okno programu Draw W bezpłatnym pakiecie OpenOffice zawarty jest program graficzny Draw (rysunek 1.1), wyposażony w liczne narzędzia do obróbki obiektów. Program możesz uruchomić,

Bardziej szczegółowo

MAMP: Można to pobrać i zainstalować z XAMPP: Można go pobrać i zainstalować z

MAMP: Można to pobrać i zainstalować z   XAMPP: Można go pobrać i zainstalować z WordPress : Omówienie I Instalacja Na początek, dlaczego byłbyś zainteresowany wykorzystaniem WordPressa razem z PhoneGap? Zapytałbym: "Dlaczego byś nie?" Moim zdaniem WordPress jest jednym z najłatwiejszych

Bardziej szczegółowo

Czym są właściwości. Poprawne projektowanie klas

Czym są właściwości. Poprawne projektowanie klas Z akcesorów get i set korzysta każdy kto programuje w C#. Stanowią one duże udogodnienie w programowaniu obiektowym. Zapewniają wygodę, bezpieczeństwo i znacząco skracają kod. Akcesory są ściśle związane

Bardziej szczegółowo