projekt_gra_turowa/README.md

39 lines
1.6 KiB
Markdown
Raw Normal View History

2024-12-09 19:42:20 +01:00
# Zadanie projektowe: Taktyczna gra turowa
Zaprojektuj i zaimplementuj mechanizm walki w grze taktycznej na planszy 5x5. <br />
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