Add README.md
This commit is contained in:
parent
32fb46db9f
commit
8c1495992f
39
README.md
Normal file
39
README.md
Normal file
@ -0,0 +1,39 @@
|
||||
# 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
|
Loading…
Reference in New Issue
Block a user