Nasz klient potrzebuje grę Hangman w języku Java.
Gra jest bardzo prosta:
- losuje słowo i wyświetla "kreskami" ile to słowo ma liter
- mogę zgadywać czy dana litera pojawiła się w słowie
- jeśli trafiłem, gra odkrywa gdzie ta litera pojawia się w słowie (wszystkie wystąpienia)
- jeśli nie trafiłem, infografika przedstawiająca status gry przybliża mnie do przegranej
- jeśli zgadnę wszystkie litery w słowie przed wykorzystaniem wszystkich prób - wygrywam
- jeśli nie uda mi się - przegrywam
Zasoby na ten projekt są limitowane. Otrzymane finansowanie pozwala nam poświęcić na ten projekt 3 godziny pracy maksymalnie trojga programistów. Zarząd liczy na Wasz sukces! Opóźnienie nie wchodzi w grę.
Żeby było łatwiej, otrzymujecie projekt animacji z działu grafików. Nasz lingwista opracował listę słów do użycia w grze, a nasz specjalista ds. wizjonerstwa dodatkowo narysował koncepcję oczekiwanego produktu. Prawie wszystko jest więc gotowe. Wystarczy dodać trochę kodu.
To już chyba wiesz?
Ale na wszelki wypadek:
- Jedna osoba z pary forkuje ten projekt.
- W ustawieniach repozytorium dodaje drugiej prawa zapisu do projektu (Settings -> Collaborators -> Add people). Zaproszone osoby muszą zaakceptować zaproszenie!
- Obydwie osoby klonują sforkowane repozytorium na komputer, importują do IDE i patrzą co jest w środku.
- Razem projektujecie implementację i ustalacie podział prac.
- Pracujecie, wykorzystując wszystko co poznaliście w Javie do tej pory oraz system kontroli wersji.
Przed ustalonym wyżej deadlinem specjalista ds. koordynacji projektów sprawdzi i oceni postęp prac i jakość implementacji.
Do dzieła!
Klient oczekuje jeszcze kilku funkcjonalności. Nie powinno to być problemem, bo przecież zaprojektowaliście kod tak, by był otwarty na rozszerzanie, ale zamknięty na modyfikacje, prawda?
- gra powinna pozwalać na wybór długości słowa
- gra powinna pozwalać na zmianę animacji (i możliwej liczby prób wynikającej z niej)
- gra powinna umieć zapytać o słowo do gry z serwisu Wordnik zamiast z podanego pliku