Pętle Gry. rozwiązania dla gier realtime. Jan Darowski. 14 maja 2014

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

Download "Pętle Gry. rozwiązania dla gier realtime. Jan Darowski. 14 maja 2014"

Transkrypt

1 rozwiązania dla gier realtime 14 maja 2014

2 Problemy 1 Utrzymanie płynności gry 2 Różny charakter obiektów gry (budynek, gracz, system osiągnięć) 3 Rózne akcje wykonywane na poszczególnych obiektach (animowanie, wybieranie przeciwnika) 4 Synchronizacja ze światem zewnętrznym (użytkownik, inne instancje gry) 5 Sprawiedliwe aktualizowanie wszystkich obiektów (niezależnie od obciążenia) 6 Utrzymanie kolejności aktualizowania obiektów

3 Najprostsze rozwiązania while (1) { foreach ( GameObject & go, gameobjects ) go. update (); } Zależne od sprzętu Zależne od obciążenia Brak podziału wykonywanych akcji według częstotliwości

4 Najprostsze rozwiązania while (1) { wait ( lastupdate + INTERVAL - time ()); lastupdate = time (); } foreach ( GameObject & go, gameobjects ) go. update (); Zależne od obciążenia Brak podziału wykonywanych akcji według częstotliwości

5 Zmienny czas wywołania while (1) { foreach ( GameObject & go, gameobjects ) go. update ( time () - lastupdate ); lastupdate = time (); } Niezależne od obciążenia lub sprzętu 100% wykorzystanie procesora Konieczność implementacji obsługi czasu wewnątrz update() Dobre przy liczeniu fizyki i animacji - brak lagów

6 Wiele niezależnych pętli gry while (1) { wait ( lastupdate1 + INTERVAL - time ()); lastupdate1 = time (); foreach ( GameObject & go, gameobjects ) go. update11 (); foreach ( GameObject & go, gameobjects ) go. update12 (); if ( lastupdate2 + INTERVAL2 > time ()){ lastupdate2 = time (); } } foreach ( GameObject & go, gameobjects ) go. update2 (); Ponownie - zależność od obciążenia Możliwość rzadszego wykonywania ciężkich akcji

7 Rozwiązanie Ale w końcu mamy Qt i sensowne timery.

8 Rozwiązanie Ale w końcu mamy Qt i sensowne timery. Niezależność od sprzętu Pasuje do kodu sterowanego zdarzeniami Częściowa niezależność od obciążenia Możliwość updateowania różnych rzeczy co różny czas Dodatkowe nakłady na timery (wywoływane systemowo) Możliwość wykonywania ciężkich działań gdy procesor jest wolny (QtConcurrent) Brak kontroli nad kolejnością wykonywania działań

9 Predykcja zachowań Co zrobić kiedy obiektów gry jest zbyt dużo i nie nadążamy z ich aktualizacją? Udawać że aktualizujemy Koniecznie aktualizować grafikę Aktualizować fizykę (a przynajmniej część, np bez detekcji kolizji) Pomijać część informacji o zmianach, być może nie są już potrzebne (małe bufory na zdarzenia jednego typu)

10 Update() Do tej pory skupialiśmy się na samej strukturze pętli gry. Trzeba jednak zintegrować ją z odpowiednią implementacją obiektów. Możliwe podejścia:

11 Update() Do tej pory skupialiśmy się na samej strukturze pętli gry. Trzeba jednak zintegrować ją z odpowiednią implementacją obiektów. Możliwe podejścia: Obiekty zawierają tylko dane, aktualizuje je główna funkcja w pętli gry. Każda klasa opisująca jakiś obiekt zawiera osobną implementację update() Dziedziczenie funkcji update(). Być może wielodziedziczenie Strategie (Brainzzzz) Strategia na dekoratorach Animatory

12 Dziedziczenie update() 1 Problemy z wielodziedziczeniem 2 Możliwe nieintuicyjne dziedziczenia (budynek - statek matka) 3 Spora nadmiarowość kodu - niektóre akcje mogą mieć duże części wspólne 4 Długie ścieżki dziedziczenia - problemy w utrzymaniu kodu 5 Mnożenie liczby klas posiadających te same atrybuty przez niewielkie różnice w zachowaniu (żołnierz, żołnierz z super umiejętnościami)

13 Strategie - Brainzzzz Każdy obiekt posiada wskaźnik na swój mózg - obiekt opisujący działanie głównego obiektu 1 Możliwość oddzielenia opisu atrybutów od logiki 2 Znowu - dużo klas i wielodziedziczenie 3 Redundancja kodu 4 Możliwość zmiany zachowań obiektu w trakcie gry (uśpiony guardian, patrolujący, ścigający)

14 Dekoratory Sposób na zastąpienie dziedziczenia, można użyć zarówno na samym obiekcie jak i na jego mózgu.

15 Wady i zalety 1 Możliwość tworzenia dowolnych kombinacji obiekt - zachowanie 2 Brak dziedziczenia 3 Mała redundancja kodu 4 Brak sposobu na łatwe podzielenie akcji według okresu wykonywania 5 Możliwość pomyłki przy kolejności inicjowania dekoratora (złe zagnieżdżenie)

16 Animatory - pochodzenie Niektóre silniki, takie jak Irrlicht wykorzystują Animatory, rozwiązanie pozwalające szybko dodawać logikę typowych zachowań do dowolnego obiektu gry.

17 Animatory - pochodzenie Niektóre silniki, takie jak Irrlicht wykorzystują Animatory, rozwiązanie pozwalające szybko dodawać logikę typowych zachowań do dowolnego obiektu gry. 1 Animowanie kolejnych klatek 2 Zatrzymywanie się przy zderzeniu 3 Wchodzenie na niewielkie podwyższenia 4 Grawitacja Dodawanie animatora jest realizowane przez wywołanie metody silnika samej gry, na węźle danego obiektu.

18 Animatory - podstawowe założenia 1 Obiekty gry jedynie przechowują dane - nie zawierają logiki zachowań 2 Animatory są częścią silnika, nie obiektów 3 Każdy animator może działać na potencjalnie dowolnym obiekcie gry 4 Każdy obiekt może być obsługiwany przez wiele animatorów 5 Animatory mogą mieć różny czas aktualizacji 6 Animatory mają łatwy dostęp do danych zawartych w silniku (Gameplay) 7 Każdy animator dba o kolejność aktualizowanych przez siebie obiektów

19 Animatory - architektura Każdy animator posiada częstotliwość aktualizacji, priorytet, listę aktualizowanych obiektów i wskaźnik do Gameplay Gameplay inicjalizuje wszystkie animatory Dla każdego występującego czasu aktualizacji tworzy osobną warstwę Warstwa składa się z posortowanych po priorytecie animatorów i timera o odpowiednim okresie aktualizacji Timer co określony czas wywołuje update() wszystkich animatorów należących do danej warstwy Update() animatora polega na wykonaniu tej samej akcji na wszystkich obiektach z listy, zawsze w tej samej kolejności Animatory mogą korzystać ze swoich wyników zapisywanych w mapie QString - QVariant

20 Animatory - zady i walety Relatywnie mało timerów Dowolne mieszanie obiektów z zachowaniami Dopuszczalne różne czasy aktualizacji Stała kolejność aktualizowania obiektów Bezpieczeństwo wywołania animatorów gwarantowane globalnie, nie osobno dla każdego obiektu Krótki kod dodający nowy obiekt o typowym zachowaniu Brak pewności czy obiekt posiada parametry wymagane przez dany animator Niewygodne wczytywanie obiektów - konieczność niezależnego pamiętania animatorów dla każdego obiektu Łatwość debugowania - można dowolny, mały fragment działania obiektów testować niezależnie Brak redundancji kodu

21 Skryptowanie - Po co? Czemu dobrze jest skryptować fragmenty logiki gry? Brak konieczności rekompilacji przy niewielkich zmianach Możliwość szybszej pracy przy szlifowaniu zachowań i sprawdzaniu różnych wariantów Mniejsze wymagania dot. osoby pracującej nad logiką Ułatwia pisania kodu łatwego w dostosowaniu do innych projektów

22 Skryptowanie -Jak to robić poprawnie Skryptować jedynie najwyższą warstwę logiki Skrypty powinny być możliwie proste Skomplikowane fragmenty trzymać w kodzie - są od razu sprawdzane przez kompilator, są szybsze Skryptowane powinny być fragmenty, które wynikają z mechaniki opisywalnej graczowi Przekazywać minimum danych, z maksymalną wartością

23 Skryptowanie -Bridge Pattern Pozwala na niezależne łączenie rodzajów obiektów ze sposobami implementacji. Przykład: Animatory, Warunki zwycięstwa, Menu HUD Przykład Inkscape: Narzędzia rysowania, konwertery, filtry

24 Skryptowanie w Qt QScriptEngine engine ; QObject * someobject = new MyObject ; QScriptValue objectvalue = engine. newqobject ( someobject ); engine. globalobject (). setproperty (" myobject ", objectvalue ); engine. globalobject (). setproperty (" foo ", 123) ; qdebug () << engine. evaluate (" foo * 2 + myobject. scale "). tonumber ();

25 Skryptowanie w Qt QScriptEngine engine ; QObject * someobject = new MyObject ; QScriptValue objectvalue = engine. newqobject ( someobject ); engine. globalobject (). setproperty (" myobject ", objectvalue ); engine. globalobject (). setproperty (" foo ", 123) ; qdebug () << engine. evaluate (" foo * 2 + myobject. scale "). tonumber (); Connect: QScriptEngine eng ; QLineEdit * edit = new QLineEdit (...) ; QScriptValue handler = eng. evaluate ( "( function ( text ) { print ( text was changed to, text ); })"); q ScriptConnect ( edit, SIGNAL ( textchanged ( const QString &)), QScriptValue (), handler );

26 Dziękuję za uwagę.

Unity 3D - pierwsze skrypty

Unity 3D - pierwsze skrypty www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest napisanie pierwszych, prostych skryptów, m.in wyświetlających upływający czas gry oraz jej stan. Wykorzystamy projekt z poprzednich

Bardziej szczegółowo

Unity. Platforma do tworzenia gier dla różnych systemów docelowych, m.in.: Windows, macos, ios, Android, Powstała w 2005 r., obecnie wersja 5.3.

Unity. Platforma do tworzenia gier dla różnych systemów docelowych, m.in.: Windows, macos, ios, Android, Powstała w 2005 r., obecnie wersja 5.3. Unity Unity Platforma do tworzenia gier dla różnych systemów docelowych, m.in.: Windows, macos, ios, Android, Powstała w 2005 r., obecnie wersja 5.3.5 Unity Wymagania systemowe: Windows 7SP1, 8, 10 Mac

Bardziej szczegółowo

Architektura gier komputerowych na wybranych przykładach. Krzysztof Rosiński

Architektura gier komputerowych na wybranych przykładach. Krzysztof Rosiński Architektura gier komputerowych na wybranych przykładach Krzysztof Rosiński Agenda Pong podstawowe moduły gry Agenda Pong podstawowe moduły gry. Reprezentacja obiektów. Agenda Pong podstawowe moduły gry.

Bardziej szczegółowo

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r Gry Komputerowe Laboratorium 4 Teksturowanie Kolizje obiektów z otoczeniem mgr inż. Michał Chwesiuk 1/29 Klasa Stwórzmy najpierw klasę TextureManager, która będzie obsługiwała tekstury w projekcie. 2/29

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

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

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów Operatory są elementami języka C++. Istnieje zasada, że z elementami języka, takimi jak np. słowa kluczowe, nie można dokonywać żadnych zmian, przeciążeń, itp. PRZECIĄŻANIE OPERATORÓW Ale dla operatorów

Bardziej szczegółowo

Programowanie gier eventy. Dalton & Cartman KNTG Polygon, 21 grudnia 2015 r.

Programowanie gier eventy. Dalton & Cartman KNTG Polygon, 21 grudnia 2015 r. Programowanie gier eventy Dalton & Cartman KNTG Polygon, 21 grudnia 2015 r. Przykład z życia Jasełki Jasełki 1. Narodziny Jezuska 2. Pojawienie się gwiazdy 3. Przybycie pastuchów i mędrców (x: 100, y:

Bardziej szczegółowo

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1

Autor: dr inż. Zofia Kruczkiewicz, Programowanie aplikacji internetowych 1 Wątki 1. Wątki - wprowadzenie Wątkiem nazywamy sekwencyjny przepływ sterowania w procesie, który wykonuje dany program np. odczytywanie i zapisywanie plików Program Javy jest wykonywany w obrębie jednego

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest

Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest Pętle Pętla to pewien fragment kodu, który jest wykonywany wielokrotnie. Wyobraź sobie taką sytuację. Piszesz program do szyfrowania danych. Dane są szyfrowane kolejno bajt po bajcie. Załóżmy, że plik

Bardziej szczegółowo

Sieciowe Technologie Mobilne. Laboratorium 4

Sieciowe Technologie Mobilne. Laboratorium 4 Sieciowe Technologie Mobilne Laboratorium 4 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 4 Urozmaicone zostaną animacje potworów, aby odpowiadały

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop. 2017 Spis treści Przedmowa 11 1. Jak w programie 21 Czym jest program? 21 Uruchamianie interpretera języka Python 22 Pierwszy

Bardziej szczegółowo

Gry Komputerowe Laboratorium 3. Organizacja obiektów sceny Kolizje obiektów. mgr inż. Michał Chwesiuk 1/20. Szczecin, r

Gry Komputerowe Laboratorium 3. Organizacja obiektów sceny Kolizje obiektów. mgr inż. Michał Chwesiuk 1/20. Szczecin, r Gry Komputerowe Laboratorium 3 Organizacja obiektów sceny obiektów mgr inż. Michał Chwesiuk 1/20 Diagram Klas 2/20 Stwórz nową klasę GameObject. Klasa ta będzie klasą abstrakcyjną, z niej będą dziedziczyć

Bardziej szczegółowo

Zasoby. Musimy zaimportować zasoby dla gry z Asset Store

Zasoby. Musimy zaimportować zasoby dla gry z Asset Store Gra 2D w Unity Tworzymy projekt Pusty projekt Zasoby Musimy zaimportować zasoby dla gry z Asset Store Potwierdzamy import Zasoby Scena Zapisujemy naszą na razie pustą scenę, najlepiej w podkatalogu Assets/Scenes

Bardziej szczegółowo

Uniwersytet Łódzki dla dzieci 27.02.2011

Uniwersytet Łódzki dla dzieci 27.02.2011 Uniwersytet Łódzki dla dzieci 27.02.2011 Jak jeździć autkiem po zielonej łące, czyli tworzymy grę komputerową Plan zajęć 1. Czym jest gra? 2. Rodzaje gier 3. Gry kiedyś i dzisiaj 4. Trochę o grafice komputerowej

Bardziej szczegółowo

Ćwiczenie 22 Dynamiczne wczytywanie tekstu z pliku.txt

Ćwiczenie 22 Dynamiczne wczytywanie tekstu z pliku.txt Dynamiczne wczytywanie tekstu z pliku.txt Wykonamy dwa zadania z wczytywaniem zewnętrznych plików tekstowych. W pierwszym zadaniu wczytamy jeden plik tekstowy. W drugim podejściu za pomocą przycisków będziemy

Bardziej szczegółowo

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski Aplikacje mobilne Pliki zasobów, grafiki, menu, podpinanie zdarzeń dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski Pliki zasobów Jak już robiliśmy wcześniej sporo rzeczy w Androidzie umieszczamy

Bardziej szczegółowo

PHP: bloki kodu, tablice, obiekty i formularze

PHP: bloki kodu, tablice, obiekty i formularze 1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują

Bardziej szczegółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15. Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop. 2017 Spis treści Wstęp 15 Podziękowania 23 Listy kontrolne 25 Tabele 27 Rysunki 29 Część I Proces budowy oprogramowania

Bardziej szczegółowo

Analiza i projektowanie obiektowe 2016/2017. Wykład 8: Przypisywanie obiektom odpowiedzialności (2)

Analiza i projektowanie obiektowe 2016/2017. Wykład 8: Przypisywanie obiektom odpowiedzialności (2) Analiza i projektowanie obiektowe 2016/2017 Wykład 8: Przypisywanie obiektom odpowiedzialności (2) Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Wzorce

Bardziej szczegółowo

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o

Wprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa

Bardziej szczegółowo

Zad. 6: Sterowanie robotem mobilnym

Zad. 6: Sterowanie robotem mobilnym Zad. 6: Sterowanie robotem mobilnym 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia

Bardziej szczegółowo

Wymagania edukacyjne z informatyki w klasie V

Wymagania edukacyjne z informatyki w klasie V Wymagania edukacyjne z informatyki w klasie V Wymagania konieczne K dotyczą zagadnień elementarnych, stanowiących swego rodzaju podstawę, powinien je zatem opanować każdy uczeń. Wymagania podstawowe P

Bardziej szczegółowo

Unity 3D - efekty strzelania, koniec gry

Unity 3D - efekty strzelania, koniec gry www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest: dodanie efektów strzelania, takich jak iskra podczas wystrzału, czy dziury po kulach; stworzenie poruszającego się obiektu, po zderzeniu

Bardziej szczegółowo

Podstawowe elementy GUI cz. 2 i 3 - zadania

Podstawowe elementy GUI cz. 2 i 3 - zadania Podstawowe elementy GUI cz. 2 i 3 - zadania Jak już robiliśmy wcześniej sporo rzeczy w Androidzie umieszczamy w plikach xml (np. strings.xml). Jest to dobra praktyka, w plikach zasobów możemy umieszczać

Bardziej szczegółowo

Interfejsy i klasy wewnętrzne

Interfejsy i klasy wewnętrzne Interfejsy i klasy wewnętrzne mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Interfejs klasy sposób komunikacji z jej obiektami (zestaw składowych publicznych). Określa on zestaw

Bardziej szczegółowo

Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych

Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych Ćwiczenie nr 8 - Modyfikacje części, tworzenie brył złożonych Wprowadzenie Utworzone elementy bryłowe należy traktować jako wstępnie wykonane elementy, które dopiero po dalszej obróbce będą gotowymi częściami

Bardziej szczegółowo

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

Unity 3D - własny ekran startowy i menu gry www.math.uni.lodz.pl/ radmat Cel ćwiczeń Celem bieżących ćwiczeń jest stworzenie własnego ekranu startowego oraz menu gry. Własny ekran startowy Tworzymy nowy, pusty obiekt GameObject Create Empty i nadajemy

Bardziej szczegółowo

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji: Technologia wykonania projektu: HTML5 Javascript: o jquery (1.9.1), o CreateJS (0.6.1): EaselJS, TweenJS, PreloadJS. Części funkcjonalne projektu: Strona internetowa pliki strony internetowej zlokalizowane

Bardziej szczegółowo

Metody optymalizacji soft-procesorów NIOS

Metody optymalizacji soft-procesorów NIOS POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Być może jesteś doświadczonym programistą, biegle programujesz w Javie, Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie 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 edytora graficznego struktury bazy danych, który

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

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import Fraction.h #import <stdio.h> #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

R o g e r A c c e s s C o n t r o l S y s t e m 5

R o g e r A c c e s s C o n t r o l S y s t e m 5 R o g e r A c c e s s C o n t r o l S y s t e m 5 Nota aplikacyjna nr 003 Wersja dokumentu: Rev. B Uprawnienia Uwaga: Niniejszy dokument dotyczy RACS v5.2 (VISO 1.2.2 lub nowszy) Wprowadzenie W systemie

Bardziej szczegółowo

Optymalizacja programów Open Source. Profilery wysokiego poziomu część 1. Krzysztof Lichota

Optymalizacja programów Open Source. Profilery wysokiego poziomu część 1. Krzysztof Lichota Optymalizacja programów Open Source Profilery wysokiego poziomu część 1 Krzysztof Lichota lichota@mimuw.edu.pl strace strace Wypisuje wywołania funkcji systemowych wraz z najważniejszymi parametrami Zasada

Bardziej szczegółowo

Podstawy programowania w Qt4

Podstawy programowania w Qt4 Podstawy programowania w Qt4 Rafał Rawicki 21 kwietnia 2007 Co to jest Qt? Zestaw bibliotek dla języka C++ oraz narzędzia roszerzające jego możliwości Ponad 400 klas Introspekcja oraz mechanizm sygnałów

Bardziej szczegółowo

Problem Próby rozwiązania Maszyna stanów Inne zastosowania Podsumowanie. Maszyny stanów. Programowanie gier bez Unity, cz. 3.

Problem Próby rozwiązania Maszyna stanów Inne zastosowania Podsumowanie. Maszyny stanów. Programowanie gier bez Unity, cz. 3. Maszyny stanów Programowanie gier bez Unity, cz. 3 Piotr Korgul Koło Naukowe Twórców Gier Polygon 3 grudnia 2014 r. Cykl Programowanie gier bez Unity 1 Jak zorganizować prace nad grą? 2 Jak działa gra?

Bardziej szczegółowo

Strzelanka dla dwóch graczy

Strzelanka dla dwóch graczy Strzelanka dla dwóch graczy Zadanie 5: Strzelanie Dodanie zmiennej globalnej W naszej grze pojawia się problem. Skąd pocisk ma wiedzieć, w którą stronę lecieć? Pocisk nie może sprawdzić kąta nachylenia

Bardziej szczegółowo

Tworzenie prostych gier w programie GameMaker

Tworzenie prostych gier w programie GameMaker Tworzenie prostych gier w programie GameMaker Grzegorz Madejski Spotkania akademickie - poziom gimnazjum INFORMATYKA 2 lipca 2012 r. Wydział Matematyki, Fizyki i Informatyki Uniwersytet Gdański Innowacyjny

Bardziej szczegółowo

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML

Perl a XML. Narzędzia informatyczne w językoznawstwie. Generowanie danych XML - Przykład. Generowanie danych XML. Perl - Przetwarzanie XML Perl a XML Narzędzia informatyczne w językoznawstwie Perl - Przetwarzanie XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 31 modułów w CPAN zawiera w

Bardziej szczegółowo

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Operatory logiczne Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych Podstawowe

Bardziej szczegółowo

Visual Basic Debugging and Error Handling

Visual Basic Debugging and Error Handling Visual Basic Debugging and Error Handling Typy błędów 1. Compile-Time, (wykrywane w czasie kompilacji np. błąd w składni) 2. Run-Time, (pojawiające się podczas wykonywania programu, np. zły typ danych

Bardziej szczegółowo

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0 Słowem wstępu Część rodziny języków XSL Standard: W3C XSLT 1.0-1999 razem XPath 1.0 XSLT 2.0-2007 Trwają prace nad XSLT 3.0 Problem Zakładane przez XML usunięcie danych dotyczących prezentacji pociąga

Bardziej szczegółowo

Projektowanie obiektowe Wzorce projektowe

Projektowanie obiektowe Wzorce projektowe Projektowanie obiektowe Wzorce projektowe Gang of Four Kreacyjne wzorce projektowe (wzorce konstrukcyjne) 1 Roadmap Memento Factory Method Abstract Factory Prototype Builder 2 Wzorce konstrukcyjne wzorce

Bardziej szczegółowo

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Metody statyczne i klasowe Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) PO w. VI Jesień 2013 1 / 23 W poprzednich odcinkach... Klasy kategorie obiektów Przynależność

Bardziej szczegółowo

Język Java część 2 (przykładowa aplikacja)

Język Java część 2 (przykładowa aplikacja) Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa

Bardziej szczegółowo

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw Informatyzacja Przedsiębiorstw Microsoft Dynamics NAV 2016 Development Environment C/AL Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 1 Plan zajęć 1 Informacje ogólne dotyczące środowiska deweloperskiego

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

ECDL Podstawy programowania Sylabus - wersja 1.0

ECDL Podstawy programowania Sylabus - wersja 1.0 ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy

Bardziej szczegółowo

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące

Bardziej szczegółowo

Symulacja samochodu z kamerą stereowizyjną. Krzysztof Sykuła 15 czerwca 2007

Symulacja samochodu z kamerą stereowizyjną. Krzysztof Sykuła 15 czerwca 2007 Symulacja samochodu z kamerą stereowizyjną Krzysztof Sykuła 15 czerwca 2007 1 1 Opis wykonanego projektu Symulacja samochodu z kamerą stereowizyjną była pretekstem do napisania Engine u 3D, wykorzystującego

Bardziej szczegółowo

Zad. 5: Sterowanie robotem mobilnym

Zad. 5: Sterowanie robotem mobilnym Zad. 5: Sterowanie robotem mobilnym 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie

Bardziej szczegółowo

AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5.

AJAX. Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5. AJAX Wykonał: Marcin Ziółkowski, AGH Kraków, AiR rok 5. Czym jest AJAX? AJAX (Asynchronous JavaScript And XML) nie jest nową technologią, ale nowym sposobem wykorzystania kombinacji istniejących technologii

Bardziej szczegółowo

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku. Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).

Bardziej szczegółowo

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Projekt Hurtownia, realizacja rejestracji dostaw produktów Projekt Hurtownia, realizacja rejestracji dostaw produktów Ćwiczenie to będzie poświęcone zaprojektowaniu formularza pozwalającego na rejestrację dostaw produktów dla naszej hurtowni. Dane identyfikujące

Bardziej szczegółowo

Funkcje i instrukcje języka JavaScript

Funkcje i instrukcje języka JavaScript Funkcje i instrukcje języka JavaScript 1. Cele lekcji a) Wiadomości Uczeń : zna operatory i typy danych języka JavaScript, zna konstrukcję definicji funkcji, zna pętlę If i For, Do i While oraz podaje

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Struktury systemów operacyjnych

Struktury systemów operacyjnych Struktury systemów operacyjnych Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Cele wykładu 1. Opis usług dostarczanych przez OS

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania 1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych

Bardziej szczegółowo

Podstawy technologii WWW

Podstawy technologii WWW Podstawy technologii WWW Ćwiczenie 14 AJAX, czyli jak odświeżyć bez odświeżania, część trzecia Na dzisiejszych zajęciach będziemy kontynuować realizację serwisu do wymiany wiadomości z wykorzystaniem technologii

Bardziej szczegółowo

Brain Game. Wstęp. Scratch

Brain Game. Wstęp. Scratch Scratch 2 Brain Game Każdy Klub Kodowania musi być zarejestrowany. Zarejestrowane kluby można zobaczyć na mapie na stronie codeclubworld.org - jeżeli nie ma tam twojego klubu sprawdź na stronie jumpto.cc/18cplpy

Bardziej szczegółowo

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty

Bardziej szczegółowo

Encje w Drupalu. Tworzenie własnych encji i ich wpływ na poprawę wydajności

Encje w Drupalu. Tworzenie własnych encji i ich wpływ na poprawę wydajności Encje w Drupalu Tworzenie własnych encji i ich wpływ na poprawę wydajności DrupalCamp Wrocław 2015 Grzegorz Bartman https://twitter.com/grzegorzbartman O mnie Grzegorz Bartman http://twitter.com/grzegorzbartman

Bardziej szczegółowo

5.4. Efekty specjalne

5.4. Efekty specjalne 5.4. Efekty specjalne Przedstawiliśmy już sobie sporo kwestii związanych z dodawaniem, edytowaniem czy usuwaniem elementów, które możemy zamieścić w prezentacji. Ale pomyłką było by stwierdzenie, że więcej

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

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

Języki i techniki programowania Ćwiczenia 4 Wzorce

Języki i techniki programowania Ćwiczenia 4 Wzorce Języki i techniki programowania Ćwiczenia 4 Wzorce Wzorce to metoda generacji różnych klas lub różnych funkcji. Autor: Marcin Orchel Przykład 1: Jeśli dana klasa C wykonuje obliczenia numeryczne, i wymaganiem

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

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 Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

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

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

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie

Bardziej szczegółowo

Ekran główny. Słowniczek ilustrowany. Wybór gier. Koniec programu

Ekran główny. Słowniczek ilustrowany. Wybór gier. Koniec programu Wstęp Multimedialny program przeznaczony dla najmłodszych dzieci całkowicie początkujących dla których pierwsze kroki w języku obcym to proste słówka znane z codziennego życia. Część edukacyjna obejmuje

Bardziej szczegółowo

Dlaczego GML? Gdańsk r. Karol Stachura

Dlaczego GML? Gdańsk r. Karol Stachura Dlaczego GML? Gdańsk 13.03.2017r. Karol Stachura Zanim o GML najpierw o XML Dlaczego stosuje się pliki XML: Tekstowe Samoopisujące się Elastyczne Łatwe do zmiany bez zaawansowanego oprogramowania Posiadające

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 3 - polimorfizm. dr inż. Robert Nowak - p. 1/14 Powtórzenie Powtórzenie: klasy autonomiczne: konstruktor, konstruktor kopiujacy, operator przypisania, destruktor

Bardziej szczegółowo

Wstęp do Informatyki dla bioinformatyków

Wstęp do Informatyki dla bioinformatyków Wstęp do Informatyki dla bioinformatyków Wykład 12 - Programowanie w BASHu Trochę bardziej zaawansowane Bartek Wilczyński 25.1.2016 Organizacyjne Bardzo proszę o wypełnienie ankiet w USOS Szczególnie zależy

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja

Bardziej szczegółowo

Ćwiczenie 23 Praca z plikiem.psd

Ćwiczenie 23 Praca z plikiem.psd Praca z plikiem.psd To ćwiczenie wymagać będzie dużego nakładu samodzielnej pracy z zaimportowanym plikiem.psd, w którym zawarty jest layout strony internetowej. Faza importowania pliku będzie pokazana

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie

Bardziej szczegółowo

Skrypty staticobjects.inc Tworzenie Jednostek cz. 3/6 Plik staticobjects.inc jest to plik który zawiera informacje odnośnie umieszczonych na mapie e różnych obiektów, takich jak postacie, budynki, jednostki,

Bardziej szczegółowo

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

Programowanie gier komputerowych Tomasz Martyn Wykład 4. Cykl produkcyjny wytwarzania gry (3): Prototypowanie gameplaya i UDK Kismet

Programowanie gier komputerowych Tomasz Martyn Wykład 4. Cykl produkcyjny wytwarzania gry (3): Prototypowanie gameplaya i UDK Kismet Programowanie gier komputerowych Tomasz Martyn Wykład 4. Cykl produkcyjny wytwarzania gry (3): Prototypowanie gameplaya i UDK Kismet Tworzenie logiki i mechaniki gry w UDK UnrealScript Językiem programowania

Bardziej szczegółowo

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Laboratorium 6 DIAGRAM KLAS (Class Diagram) Laboratorium 6 DIAGRAM KLAS (Class Diagram) Opisuje strukturę programu (a także zależności między nimi), co znajduje odzwierciedlenie w kodzie. Charakteryzuje zależności pomiędzy składnikami systemu: klasami,

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Signals + Threads: Qt vs. Boost

Signals + Threads: Qt vs. Boost Signals + Threads: Qt vs. Boost Adam Bujalski 2014-04-01 Adam Bujalski Signals + Threads: Qt vs. Boost 2014-04-01 1 / 22 Spis Treści 1 2 Wątki 3 Qt::QueuedConnection w boost Adam Bujalski Signals + Threads:

Bardziej szczegółowo

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw Informatyzacja Przedsiębiorstw Microsoft Dynamics NAV 2013 Development Environment C/AL Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 1 Spis treści 1 Informacje ogólne:... 3 1.1 Zmienne... 4 1.2

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia

Bezpieczeństwo systemów komputerowych. Java i JavaScript. Java i JavaScript. Java - historia Bezpieczeństwo systemów komputerowych Java i JavaScript mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Java i JavaScript używane w celu dodania cech interaktywności do stron WWW mogą

Bardziej szczegółowo

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy

Bardziej szczegółowo

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming Jarosław Kuchta Wymagania jakości w Agile Programming Wady klasycznych metod zapewnienia jakości Duży narzut na dokumentowanie Późne uzyskiwanie konkretnych rezultatów Trudność w odpowiednio wczesnym definiowaniu

Bardziej szczegółowo

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System

Bardziej szczegółowo

Programowanie obiektowe - 1.

Programowanie obiektowe - 1. Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która

Bardziej szczegółowo

Klasy abstrakcyjne, interfejsy i polimorfizm

Klasy abstrakcyjne, interfejsy i polimorfizm Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z

Bardziej szczegółowo