Marcin Domański Marcaj

Marcin Domański

Consultant

TwoZeroFourEight

Opis gry

Mając do dyspozycji strzałki na klawiaturze lub przesuwając gestem na ekranie dotykowym spychamy klocki w jednym z czterech kierunków wewnątrz planszy 4×4. Każdy ruch powoduje zderzanie się klocków, gdy kolizja nastąpi między dwoma o identycznym numerze następuje ich scalenie, a na powstałym w ten sposób klocku widnieje suma scalonych elementów. Celem jest utworzenie klocka o numerze 2048, a tym, co dość skutecznie utrudnia osiągnięcie sukcesu, jest losowe pojawianie się nowego klocka. Ten, o wartości 2, po każdym ruchu zajmuje jedno z pustych miejsc i przy zbyt nierozważnej grze potrafi dość szybko zablokować wszystkie pola uniemożliwiając dalsze ruchy.


twozerofoureight screen1

Implementacja

TwoZeroFourEight jest grą przeznaczoną na urządzenia mobilne z systemem android. Została stworzona przy użyciu platformy Phonegap, umożliwiającej budowanie aplikacji na wiele platform (iOS, Windows8, Android). Logika oraz widoki zostały napisana z użyciem biblioteki Backbone i jQuery mobile.

Każda komórka planszy jest osobnym modelem backbone. Związany nim model widoku aktualizuje się przy zmianie wartości komórki. Dodatkowo, komórki nasłuchują czy nie został wciśnięty klawisz strzałki na klawiaturze lub czy użytkownik nie przesunął palcem po ekranie (gest). Po każdej zmianie ułożenia komórek na planszy, stan gry jest zapisywany na stosie historii. Dzięki temu możliwe jest cofanie gry dowolną liczbę razy. Historia zapamiętywana jest w localStorage, dzięki temu nawet po wyłączeniu gry i ponownym uruchomieniu, będziemy mogli kontynuować przerwaną rozgrywkę.

TwoZeroFourEight wspiera również wielojęzyczność. Dzięki bibliotece i18next język przeglądarki jest automatycznie wykrywany i wszystkie komunikaty i etykiety są wyświetlane w danym języku. Aktualnie gra posiada tłumaczenie polskie i angielskie. W przypadku innego języka przeglądarki serwowane jest tłumaczenie angielskie.

Przeglądarki na urządzeniach mobilnych same wykrywają język urządzenia, dzięki temu gra jest wyświetlana w języku urządzenia mobilnego.

Download

Cały kod źródłowy jest dostępny na stronie projektu https://github.com/marcaj/TwoZeroFourEight/.

Można też pobrać gotowe apk tutaj.