Ebben a konzolos játékban két játékos küzd meg egymással. Egy-egy menet során a felek felváltva támadnak, az győz, aki az adott menet végén életben marad. A játékosok tulajdonságait az indításkor megadott .json fájlból olvassa ki a program.
Játék inditása:
./a.out <Karakter1 json> <Karakter2 json>
1. Feladat
Először az alapjátékot kellett elkészíteni.
2. Feladat
Elkészültek a Json-ok, melyek tartalmazzák a karakterek legfontosabb tulajdonságait (nevüket, életerejüket, támadóerejüket).
3. Feladat
- AttackSpeed
- LevelUp
- JsonParser
Van egy timer, ami ha osztható valamelyik karakter attackSpeed értékével, akkor az adott karakter támad először.
Ebben a feladatban egy olyan függvényt kellett létrehozni, mely lehetőséget biztosít a karaktereknek, hogy bizonyos tapasztalatpontok összegyűjtése során a játékban legyen lehetőségük szintet lépni, amivel különböző extrákhoz juthattak (nőtt a támadóerejük és az életerejük is).
Egy általános JasonParsert kellett készíteni, mely 3 különböző formában kaphat JSON bemenetet (fájlnévből, istream-ből és stringből).
4. Feladat
- Documentation
- Makefile
- UnitTest
- Refactor
Ki kellett egészíteni a dokumentációt a hiányzó kommentekkel.
Egy olyan Makefilet kellet készíteni, mely a kisebb scripteket összefogja és egységesíti a GHA kódokat.
Az összes metódust tesztelni kellett, hogy a helyes értékeket ad-e vissza.
A feladat az volt, hogy egy kapott main.cpp fájl alapján írjuk át a kódunkat. Módosítani kellet hozzá a Json osztályt, a Character osztályt és létre kellet hozzá hozni egy új, Hero nevű osztályt is, amely a módosított Character osztály (új néven Monster) leszármazottja. Több függvénnyel is ki kellett egészíteni a kódunkat, ezekkel sajnos nem végeztünk határidőre. Miután Closed titulust kapott a projektünk, azt hittük, hogy muszáj vizsgára mennünk és emiatt későn kezdtük el befejezni a kódot. Az összes módosítás után azonban a tesztek nem futottak le, mert a jsonparser nem tud tömböket kezelni. Ennek átírására már szintén nem maradt idő, ezért inkább a branchet nem merge-ltük, hogy olyan kódot adhassunk le a végén, ami működik.
Github-pages link: https://teaching-projects.github.io/SZE-MOSZE-2020-Lekodolhatok--Closed/index.html