projekt_gra_turowa/README.md
2024-12-09 19:42:20 +01:00

1.6 KiB

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