# Zadanie projektowe: Taktyczna gra turowa Zaprojektuj i zaimplementuj mechanizm walki w grze taktycznej na planszy 5x5.
Gra nie musi posiadać graficznego interfejsu użytkownika, ani mechanizmu wprowadzania danych przez użytkownika. Obiekty gry mogą być tworzone wprost w kodzie (main). Ważne jest jednak by nie były to zmienne globalne itp. a należy skorzystać z klas. ## Część 1: System jednostek bojowych 1. Stwórz abstrakcyjną klasę bazową Jednostka z podstawowymi atrybutami: * zdrowie (punkty życia) * siła ataku * zasięg ataku (liczba pól) * szybkość ruchu (ilość pól na turę) * operacje otrzymaj_obrazenia, czy_zyje 2. Zaimplementuj klasy pochodne reprezentujące różne typy jednostek: * Rycerz - silny w walce wręcz, duże zdrowie, zasięg 1 * Lucznik - atak dystansowy, małe zdrowie, zasięg 3 * Kusznik - średni atak dystansowy, średnie zdrowie, zasięg 2 * Piechur - zbalansowany, średnie zdrowie, zasięg 1 ## Część 2: System planszy 1. Zaimplementuj klasę Plansza reprezentującą pole bitwy: * Plansza 5x5 pól * Możliwość dodawania i usuwania jednostek * Sprawdzanie kolizji i zajętości pól * Wyświetlanie aktualnego stanu planszy 2. Zastosuj wzorzec Singleton dla planszy ## Część 3: System walki * wykonajAtak(atakujacy, cel) * sprawdzZasieg(atakujacy, cel) * obliczObrazenia(atakujacy, cel) ## Wymagania implementacyjne 1. Zastosowanie zasad SOLID: 2. Implementacja prostego interfejsu tekstowego: * Wyświetlanie planszy w konsoli * Pokazywanie stanu jednostek