Tworzenie gier w JavaScript – obiekty blokujące ruch

W dzisiejszym poście opiszę kolejną technikę przydatną podczas tworzenia gier 2d. Chodzi o blokowanie ruchu jednych obiektów innymi obiektami.

Jest to tak naprawdę wariacja kolizji z paroma dodatkowymi haczykami. Tym razem jako przykładu, znów użyję mojego psa 🙂 .

obiekty blokujące ruch Czytaj dalej Tworzenie gier w JavaScript – obiekty blokujące ruch

TDD dla początkujących – Jasmine i Karma

Czas na kolejny post z serii „TDD dla początkujących”. Ostatnim razem przedstawiłem podstawowe założenia metodologii TDD. Zilustrowałem też przykładem proces tworzenia oprogramowania zorientowanego testowo. Na koniec obiecałem, że opiszę dwa przydatne narzędzia, znacznie usprawniające pracę w TDD.

Te narzędzia to Jasmine i Karma. Jasmine jest frameworkiem, dającym programistom JS wiele przydatnych funkcji, pomagających w tworzeniu testów. Karma służy do automatycznego uruchamiania tych testów.

TDD dla początkujących Czytaj dalej TDD dla początkujących – Jasmine i Karma

TDD dla początkujących – co to jest TDD?

TDD jest coraz bardziej popularne wśród osób tworzących programy. Na pewno każdemu obiła się o uszy ta zbitka liter, ale czy każdy wie co ona oznacza?

TDD to skrót od Test-Driven Development, czyli tworzenie programów zorientowane testowo. Brzmi to dziwacznie i chyba nie wiele tłumaczy. Spokojnie, w tym poście postaram się wyjaśnić o co chodzi. Jak zawszę, wszystko zilustruję jasnymi przykładami.

co to jest TDD Czytaj dalej TDD dla początkujących – co to jest TDD?

„Git. Rozproszony system kontroli wersji.” Recenzja

W dzisiejszych czasach, bardzo dużo programistów pracuje w zespołach, których członkowie rozmieszczeni są na całym świecie. Nic dziwnego, że narzędzia do synchronizacji danych i kontroli wersji, stały się tak popularne, wręcz niezbędne. Nawet jeżeli pracujesz sam przy małych projektach, system kontroli wersji, znacznie ułatwi Ci pracę. Zresztą, chyba nie muszę nikogo przekonywać, że takie rozwiązania są przydatne, to powinien wiedzieć każdy, kto chociaż trochę interesuje się programowaniem 🙂

Książka, o której dziś będzie mowa, to wprowadzenie do takiego systemu kontroli wersji. Jest to Git. Rozproszony system kontroli wersji autorstwa Włodzimierza Gajdy. Omawiany w niej system to oczywiście ogromnie popularny Git.

"Git. Rozproszony system kontroli wersji." Recenzja Czytaj dalej „Git. Rozproszony system kontroli wersji.” Recenzja

Struktury danych w JavaScripcie – Tablica z haszowaniem

Pora na kolejną strukturę danych. Tym razem będzie to tablica z haszowaniem, zwana także mapą z haszowaniem. Podobnie jak słownik, jest to sposób na implementację tablicy asocjacyjnej (takiej, w której użytkownik ma dostęp do wartości dzięki kluczom). Atutem tablicy z haszowaniem jest to, że dostęp ten jest bardzo szybki.

Struktury danych w JavaScripcie – Tablica z haszowaniem Czytaj dalej Struktury danych w JavaScripcie – Tablica z haszowaniem

AngularJS dla początkujących – Filtry w AngularJS część druga

W dzisiejszym wpisie będę kontynuował posta, w którym omawiałem filtry w AngularJS. Ostatnim razem opisałem jak działają filtry orderBy oraz Filter.

Filtry przypisuję do dyrektywy ng-repeat. Dzięki nim wyświetlone zostają tylko te dane modelu, które zgadzają się z filtrem. Filtry jako wartości przyjmowały konkretne zmienne według których filtrowano dane. Dziś pokaże przykłady jak jako wartości filtrów używać funkcji.

Filtry w AngularJS Czytaj dalej AngularJS dla początkujących – Filtry w AngularJS część druga

Javascript wykrywanie kolizji w grach – część trzecia

W poprzednich wpisach pokazywałem jak wykrywać kolizje pomiędzy obiektami kwadratowymi i obiektami okrągłymi. Te metody wystarczą na wykrycie prawie każdej kolizji w grach dwu wymiarowych. Nawet jeżeli kształty nie do końca będą prostokątne lub okrągłe, zawsze można je mniej więcej opisać kwadratem lub kołem. Gra na pewno będzie sprawiała wrażenie realistycznej 🙂

Póki co pokazywałem jedynie przypadki, w których w grze były tylko dwa obiekty. W tym poście opiszę jak efektywnie wykrywać kolizje pomiędzy wieloma obiektami.

Javascript wykrywanie kolizji Czytaj dalej Javascript wykrywanie kolizji w grach – część trzecia

Struktury danych w JavaScripcie – Słownik

Czas najwyższy na kolejny post z serii o strukturach danych. Tym razem bardzo prosta do zaimplementowania struktura – słownik.

Słownik składa się z danych połączonych w pary: klucz i wartość. Klucza używamy aby znaleźć przypisaną do niego wartość. Jak łatwo się domyślić klucze mają unikatowe wartości – nie mogą się powtarzać. Dobrym przykładem (i często przytaczanym), ilustrującym tę strukturę to książka adresowa. Imię i nazwisko to klucz, po którym szukamy w książce adresowej wartości czyli adresu.

Struktury danych w JavaScripcie – Słownik Czytaj dalej Struktury danych w JavaScripcie – Słownik

AngularJS dla początkujących – Filtry w AngularJS część pierwsza

W dzisiejszym poście opiszę jak działają filtry w AngularJS. Są one kolejnym bardzo przydatnym mechanizmem w tym frameworku. Możliwość filtrowania danych jest wręcz niezbędna w każdej aplikacji, która obsługuje dużą ilość informacji. Na szczęście w Angularze jest to bardzo proste. Używając przykładów, dokładnie zademonstruje działanie narzędzi do filtrowania i sortowania.

Filtry w AngularJS Czytaj dalej AngularJS dla początkujących – Filtry w AngularJS część pierwsza

Tworzenie gier w JavaScript: kolizje – część druga

Wykrywanie kolizji jest zdecydowanie jednym z najważniejszych aspektów logiki tworzenia gier. Tworzenie gier w JavaScript nie wyróżnia się pod tym względem. W poprzednim poście opisałem jak wykrywać kolizje bazując na prostokątach granicznych. Jest to bardzo proste i wygodne podejście, jednak nie zawsze na tyle dokładne, na ile chciałby programista.

W dzisiejszym poście przedstawię inny sposób na wykrywanie kolizji. Bazuje on nie na prostokątach lecz na kołach. To powoduje, że w pewnych sytuacjach jest on o wiele dokładniejszy.

Tworzenie gier w JavaScript Czytaj dalej Tworzenie gier w JavaScript: kolizje – część druga