Program zaliczeniowy

Należy napisać program, realizujący pewną grę. Gra toczy się na planszy podzielonej na kwadratowe pola. Niektóre z tych pól są wolne, tzn. można się po nich przemieszczać, a niektóre są niedostępne (ściany). Po planszy porusza się gracz, który może w każdym ruchu przemieścić się na jedno z sąsiednich pól, pod warunkiem, że jest ono dostępne. Celem gracza jest odnalezienie skarbu, który znajduje się na jednym z pól. Sterowanie graczem odbywa się przez wprowadzanie komend z klawiatury. Plansza powinna być wyświetlana w trybie tekstowym przy pomocy znaków; po każdym ruchu plansza powinna się zaktualizować. Należy zadbać o to, odróżniać pola puste (można je wyświetlać np. jako znak .) od pól niewidocznych - zasłoniętych przez ściany z perspektywy gracza (wyświetalnych jako np. jako spacje). Program powinien umożliwiać wczytanie planszy z pliku tekstowego wybranego przez użytkownika.

Gra powinna również posiadać dodatkowe atrakcje, pozostawione do wyboru twórcy programu, np.

Wszystkie dodatkowe elementy gry należy opisać w dokumentacji.

Dodatkowe wymaganie

Program powinien używać klas - co najmniej klasy reprezentującej planszę.

Na co należy zwrócić uwagę:

  1. W przypadku użycia częsci kodu, który nie został napisany samodzielnie należy to jawnie zadeklarować.
  2. Plansza nie musi być ładna, ale powinna być czytelna.
  3. Kod programu powinien być czytelny i starannie skomentowany.

Kryteria oceny

  1. Poprawność działania. (2 pkt.)
  2. Użycie klas. (1 pkt.)
  3. Kod programu. (1 pkt.) - czytelność i opis kodu, podział na funkcje i klasy.
  4. Funkcje dodatkowe. (2 pkt.)
Rozwiązanie powinno zawierać: Rozwiązania należy nadsyłać na adres ziemians@mimuw.edu.pl w terminie do 30 czerwca.
Powodzenia
Krzysztof Ziemiański