Home - Raf0/tk GitHub Wiki

Wizja

W ramach projektu zostaną wykonane dwa komponenty-gry: Arkanoid oraz Quiz. Będą one częścią większego systemy i wraz z innymi grami będą udostępniane przez serwer użytkownikom korzystającym z przeglądarek internetowych w telefonie.

Arkanoid

Wymagania funkcjonalne

  • Sterowanie paletką na boki
  • Piłeczka odbijająca się od paletki, ścian i zbijająca bloczki
  • Strata piłeczki gdy spadnie za paletkę
  • Liczba piłeczek i długość gry w zależności od parametrów
  • Zakończenie gry gdy utraci się wszystkie piłeczki, gdy zostaną zbite wszystkie bloczki lub upłynie czas
  • Generowanie liczby bloczków w zależności od poziomu trudności, zaczynając od góry
  • Prędkość piłeczki w zależności od liczby bloczków
  • Przekazywanie uzyskanego wyniku
  • Wyświetlanie instrukcji na górze gry

Wymagania niefunkcjonalne

  • Kompatybilność interfejsu z serwerem
  • Białe tło, bardzo kolorowe bloczki, paletka i piłka
  • Dostosowanie wyglądu i sterowania do smartfonów
  • Brak zależności sieciowych

Opis

Gracz steruje paletką na boki odbijając spadającą w dół piłkę tak, aby ta zbijała umieszczone u góry różnokolorowe bloczki. Jeśli gracz nie trafi w piłkę i ta spadnie na dół, traci ją. Gra ma ustaloną maksymalną liczbę piłek i maksymalny czas po którym, o ile nie zakończyła się wcześniej, kończy się gra. Jeśli gracz wygra, jego wynik to 1. Jeśli gracz przegra, jego wynik to 3k/4n, gdzie k to liczba zbitych bloczków, a n to początkowa liczba bloczków na planszy.

Instrukcja

Steruj paletką na boki dotykając ekran z lewej lub prawej strony. Zbij wszystkie bloczki odbijając piłkę od paletki żeby wygrać. Jeśli czas minie przegrasz.

Poziom trudności

Na podstawie wieku użytkownika gra ustala poziom trudności zmieniając liczbę bloczków na planszy. Bloczki zaczynają pojawiać się od góry, schodząc coraz niżej. Minimalna liczba bloczków to 10 dla wieku 5 lat i niżej, rośnie ona o 2 z każdym kolejnym rokiem osiągając maksimum 42 bloczków dla 21 lat i więcej. Wraz ze wzrostem liczby bloczków rośnie prędkość piłki tak, aby sumaryczny czas potrzebny do zbicia wszystkich był taki sam na różnych poziomach trudności.

Liczba bloczków = max(min(42, 2*age), 10);

Prędkość piłki = max(min(5.25, age/4), 1.25) +2;

Quiz

Wymagania funkcjonalne

  • Losowanie pytań z pliku
  • Wyświetlanie pytania ze wszystkimi dostępnymi odpowiedziami
  • Wybieranie dowolnej liczby z odpowiedzi
  • Przejście do kolejnego pytania po udzieleniu odpowiedzi lub po upłynięciu czasu
  • Liczba pytań, czas i punkty karne w zależności od parametrów
  • Zakończenie gry po odpowiedzeniu na wszystkie pytania
  • Wyświetlanie czasu do końca pytania
  • Wybór pytań w zależności od poziomu trudności
  • Przekazywanie uzyskanego wyniku
  • Wyświetlanie instrukcji na górze gry

Wymagania niefunkcjonalne

  • Kompatybilność interfejsu z serwerem
  • Białe tło, bardzo kolorowe pola z odpowiedziami i pytaniem
  • Dostosowanie wyglądu i sterowania do smartfonów
  • Brak zależności sieciowych

Opis

Gracz odpowiada na zadawane pytania zaznaczając odpowiedzi i potwierdzając odpowiedź. Po udzieleniu odpowiedzi lub po upłynięciu ustalonego czasu gracz przechodzi do kolejnego pytania. Po M pytaniach gra kończy się. Za każdą poprawną odpowiedź gracz otrzymuje 1/M punktu, za błędną 0. Wynik końcowy to suma punktów za wszystkie pytania k/M, gdzie k to liczba poprawnych odpowiedzi.

Instrukcja

Odpowiadaj na pytania wybierając poprawne odpowiedzi. Możesz wybrać więcej niż 1 odpowiedź. Pamiętaj, aby zdążyć przed końcem czasu.

Poziom trudności

Każde pytanie posiada zakres wiekowy odpowiedni dla siebie. Na podstawie wieku użytkownika zostaje mu wylosowane pytanie w którego zakresie wiekowym się mieści. Jeśli nie jest dostępne takie pytanie zostaje wybrane z najbliższego zakresu. Pytania dla niskiego wieku są bardzo łatwe i dotyczą tematów interesujących dla dzieci. Dla wyższego wieku pytania są trudniejsze i dotyczą bardziej naukowych tematów.