Wizja projektu - m11chal/infun-games GitHub Wiki

Wstęp

Celem projektu jest stworzenie 2 komponentów webowych - gier: Mahjong oraz gry polegającej na narysowaniu ścieżki Eulera (One Touch Draw). Będą one częścią systemu umożliwiającego rozwiązywanie zadań online.

Mahjong

Mahjong to gra polegająca na usuwaniu par jednakowych płytek z planszy przy czym płytki nie mogą być blokowane z góry ani z obu boków.

Wymagania funkcjonalne

  • użytkownik wybiera parę jednakowych płytek do usunięcia z planszy, które nie są blokowane
  • płytki zostają usunięte tylko wtedy, gdy wybrane płytki są jednakowe
  • nie można wybrać płytek, które są blokowane
  • zakończenie gry, gdy gracz usunie wszystkie pary płytek
  • konfigurowalna trudność na podstawie wieku uczestnika
  • po zakończeniu gry przeniesienie na stronę z wynikami
  • w komponencie zawarta krótka instrukcja gry

Wymagania niefunkcjonalne

  • interfejs komponentu dostosowany do potrzeb serwera zadań
  • gra z białym tłem i kolorowymi elementami
  • możliwość gry na smartfonie - responsywność
  • brak zależności w Internecie

Konfiguracja poziomu trudności

Liczba płytek jest zależna od wieku. Może ona wynosić od 20 do 56.

Liczbę płytek, w zależności od wieku, można określić następująco:

  • 20, gdy wiek <= 3
  • 24 + 2 * (wiek - 4), gdy 3 < wiek < 20
  • 56, gdy 20 <= wiek

One Touch Draw

Gra w której należy poprowadzić linię rozpoczynając od wybranego punktu tak, aby przechodziła przez każdą krawędź dokładnie raz.

Wymagania funkcjonalne

  • gracz wybiera kolejno punkty, przez które będzie przechodziła linia
  • gra zostaje zakończona, gdy linia przejdzie przez każdą krawędź dokładnie raz
  • gracz przegrywa, gdy nie jest możliwy dalszy ruch, a nie wszystkie z krawędzi zostały wykorzystane
  • konfigurowalna trudność na podstawie wieku uczestnika
  • po zakończeniu gry przeniesienie na stronę z wynikami
  • w komponencie zawarta krótka instrukcja gry

Wymagania niefunkcjonalne

  • interfejs komponentu dostosowany do potrzeb serwera zadań
  • gra z białym tłem i kolorowymi elementami
  • możliwość gry na smartfonie - responsywność
  • brak zależności w Internecie

Konfiguracja poziomu trudności

Liczba punktów łączących krawędzie zależna jest od wieku. Może ona wynosić od 4 do 12.

Liczbę punktów łączących krawędzie, w zależności od wieku, można określić następująco:

  • 4, gdy wiek <= 3
  • floor((wiek + 5) / 2), gdy 3 < wiek < 19
  • 12, gdy 19 <= wiek