Die Idee ist Grundsätzlich richtig, nur würde ich mir über den Aufbau noch Gedanken machen.
Code:
interface IDamage
{
int TakeDamage(int mode, int damage);
int GetDamageMode();
void DirectDamage(int damage);
}
class RPGObject
{
private int health;
private Vector3f position;
//.... propertys und sowas
}
class Human : RPGObject
{
private HumanDamage Damagesystem;
// ....blablabla
void TakeFightAction(IDamage damagesystem)
{
....
}
}
class HumanDamage : IDamage
{
int TakeDamage(int mode, int damage)
{
....
}
int GetDamageMode()
{
....
}
void DirectDamage(int damage)
{
....
}
}
Dies Stellt eine Sinnvolle Schnittstelle dar( Ist allerdings sicher noch ein Fehler drin ), welche demonstrieren soll wie man ein Schadenssystem erstellt!
Dies ist nur ein kurzer Hinweiss von mir wie man ein Spiel mithilfe von Klassen und Interfaces aufbauen
kann.
Wenn man mit Interfaces Arbeitet kann man sich einige Lästige Dinge Erspaaren, und kann unabhängig von Fähigkeiten und Spezialfähigkeiten ein Spiel Programmieren welches auch ohne Fehler läuft. Dazu muss man eben wie oben im Beispiel gezeigt z.b. eine Sinnvolle Schnittstelle für das Schadenssystem programmieren.