slide-puzzle

Puzzle 4x4

Opis funkcjonalności aplikacji i jej założenia

Aplikacja jest grą polegającą na ułożeniu pojedynczych kafelków tak aby wspólnie ułożyły obrazek w całość w jak najkrótszym czasem. Grafika jest podzielona na 16 części z jedną pustą umożliwiając przesuwanie sąsiednich. Gra kończy się gdy wszystkie kafelki zostaną ułożone poprawne. Każde rozpoczęcie nowej gry powoduje ponownie pomieszanie kolejności kafelek i zresetowanie zegara. Aplikacja została napisana obiektowo w Javie i jest przystosowana do współpracy z JRE 1.9. Można ją zbudować używając MVN.

Diagram przypadków użycia i jego opis

Behaviour diagram

Użytkownik po włączeniu aplikacji rozpoczyna grę przyciskiem z ikonką Play. Po rozpoczęciu gry może:

Diagram klas

Class diagram

Powyższy rysunek przedstawia diagram klas aplikacji. Dziedziczenie klas w tym projekcie zostało zredukowane do minimum i zostało to zastosowane celowo na rzecz kompozycji oraz zasady single responsibility.

Dokumentacja kodu źródłowego

Warstwa logiki aplikacji

Głównym założeniem tejże klasy jest operowanie na state aplikacji, niestety w tym przypadku jest on mutable głównie ze względu wielkość wymiaru i specyfikę samego języka.

Warstwa widoku aplikacji

Warstwa ta odpowiada za reprezentacje ruchów użytkownika na ekranie. Renderuje ogólny state aplikacji.

Podsumowanie

Projekt został zrealizowany zgodnie z pierwotnymi założeniami a podczas jego implementacji nie natrafiono na żadne trudności.

Zbudowanie paczki

mvn package

Zrzut ekranu

Screenshot

Ikony

Ikony stworzone przez Freepik z www.flaticon.com licencjonowane przez CC 3.0 BY

Autorzy

Mateusz Bagiński cziken58@gmail.com
Artur Jakiel

Licencja

GNU