Főoldal
|
Regisztráció
|
Bejelentkezés
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