Szerepjáték

Készitsünk osztályhierarchiát, mely egy szerepjáték karaktereit modellezi!

Az osztályok a következők:

Karakter (Character)
A karakter ősosztály.

Harcos (Fighter)
Karakterből származik és rendelkezik fegyverforgatási képességgel (weaponSkill), mely egy egész szám 1 és 100 között.

Varázsló (Mage)
Karakterből származik és rendelkezik varázslási képességgel (castingSkill), mely egy egész szám 1 és 100 között. Ezen felül még rendelkezik egy mana értékkel (mana), mely egy egész szám 0 és 1000 között.

Harcos-varázsló (BattleMage)
Harcosból és varázslóból származik.
  • Írjuk meg az osztályok konstruktorait, melyek az átadott paramétereknek megfelelően inicializálják a tagváltozókat!
  • Írjunk egy tisztán virtuális metódust a karakter ősosztályhoz, mely megadja a karakter támadóerejét (int AttackPower()). Implementáljuk a metódust az összes leszármazott osztályhoz! Harcosnál a támadóerő egyenlő a fegyverhasználati képességgel, varázslónál a varázslási képességgel. Azonban ha a varázsló mana értéke 0-án van, akkor a támadóereje is 0 (hisz nem tud varázsolni)! A Harcos-varázsló fegyvert forgatni és varázsolni is tud, a metódus ezek közül a nagyobb értékkel térjen vissza!
  • Írjunk egy bool IsStronger(Character& otherChar) metódust, mely eldönti, hogy melyik karakter az erősebb! Abban az esetben térjen vissza true értékkel, amennyiben az a karakter az erősebb, amelyiknek a tagfüggvényét meghívták!
  • Írjunk egy egyszerű main függvényt, amely létrehoz egy-egy példányt mindegyik karakterből, és tároljuk el őket egy tömbbe! Eresszünk össze néhány karaktert, és írjuk ki a győztest és a vesztest!





2008.02.01. 19:22:45 |  Permalink  |  Hozzászólások száma: 0  |  Tárgyszavak: Polimorfizmus


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások