Írjunk egy tankot reprezentáló osztályt (MicroTank), mely képes más tankokkal harcolni!
Az osztály tagváltozói a következőek:
- Életerő (hitPoints), mely egy egész szám 0 és 1000 között.
- Támadóerő (attackRating), mely egy egész szám 1 és 200 között.
- Védekezőerő (defenseRating), mely egy egész szám 0 és 200 között.
Ügyeljünk rá, hogy a tagváltozók private adattagok legyenek!
Valósítsuk meg az osztály metódusait:
- Írjuk meg osztály konstruktorát, melyben kötelező megadni a tank támadó- és védekezőerejét! A kezdeti életerőt is lehessen megadni, de ne legyen kötelező (használjon default paramétereket: ha a programozó nem ad meg életerőt, akkor a tagváltozó kezdeti értéke 1000 lesz)!
- Írjunk egy Repair() függvényt, mely 100 ponttal növeli a tank életerejét! Ügyeljünk rá, hogy 1000 fölé sosem kerülhessen az érték.
- Írjunk egy Attack(MicroTank& otherTank) függvényt, mely támadást indít egy másik tank ellen! A függvény tartalma csakis akkor fusson le, ha a "saját" tankunk életereje nagyobb mint 0! A támadás hatására otherTank életereje csökkenjen (("saját" tankunk támadóértéke) - (otherTank védekezőereje)) értékkel! Ügyeljünk rá, hogy 0 alá nem csökkenhet a tank életereje ill. ha nagyobb otherTank védekezőereje mint a "saját" tankunk támadóereje, akkor ne változzon az életerő (ne fordulhasson elő, hogy támadás hatására növekszik otherTank életereje)!
- Írjunk egy egyszerű main függvényt, amely létrehoz két tankot, amelyek közül az egyik megtámadja a másikat. Minden esemény után írjuk ki a tankok állapotát!