Zadanie
Naimportujte si nasledujuci zdrojovy kod do IDE:
V tomto projekte neboli (ocividne) aplikovane zakladne principy objektovo orientovaneho programovania. Zanalyzujte tento projekt a upravte ho aby splnal aspon zakladne standardy a principy OOP.
Mozete aj doimplementovat niektore chybajuce herne mechaniky, absak primarne sa sustredte na opravu povodnej implementacie.
Toto su zakladne principy OOP:
Enkapsulacia (encapsulation) – napr. nie je ziaduce pracovat priamo s datami (mimo triedy)
Dedenie (inheritance) – hladame ci vieme napr. vytvorit nadriedu z ktorej vieme zdedit (prebrat) jej vlastnosti a metody
Polymorfizmus (overriding, overloading) – potrebujem mat pri dedeni specificke spravanie v podtriede? potrebujem sa specificky rozhodovat napriklad pri utoku podla toho na koho utocim?
Abstrakcia (abstraction) – napriklad je potrebne aby bolo mozne zo vsetkych tried vytvarat objekty?
Dbajte napriklad aj na spravne clenenie tried alebo balikov.
Poznamky:
Vasa implementacia by mala splnat aj tieto poziadavky:
Meno (name) objektov nie je mozne menit. Zabezpecte aby bolo mozne meno nastavit iba pri vytvarani noveho objektu (mimo tela samotnej triedy/podtriedy).
Pokial najdete logicku chybu v implementacii, tak ju pokojne opravte.
Bonus:
Vytvorte simulaciu subojov (nahodny pocet Steve vs nahodny pocet Creeperov (nemusite dodrziavat vsetky herne mechaniky), vlasnosti mozu byt tiez inicializovane nahodne). Implementaciu mozete (pravdepodobne aj potrebujete) upravit pre potreby tejto ulohy.
Pozor! V tomto tyzdni uz ste za pracu na cviceniach hodnoteni.