Ich bin in der Planungsphase eines kleinen Rollenspiels.
Der Charakter hat eine Reihe von Attributen wie Stärke, Beweglichkeit usw., die als ganze Zahlen dargestellt werden. Der Charakter wird auch eine Reihe von Angriffen haben, die als Angriffsklasse dargestellt werden.
Bei jedem Angriff möchte ich, dass er basierend auf den Charakterattributen Schaden verursacht, zB: Der Angriff "Schwerthieb" verursacht 10 dmg + den Wert der Charakterstärke.
Die Art und Weise, wie ich mir das vorgestellt habe, ist eine abstrakte Angriffsklasse mit einer abstrakten Attack-Methode. Für jeden Angriff erstelle ich eine Klasse, die die Attack-Methode implementiert.
public class SwordSlash:Attack
{
public void Attack(Character attacker, Character defender)
{
defender.DoDamage(10 + attacker.Strength);
}
}
Ich sehe, dass es ein Albtraum sein wird, dies aufrechtzuerhalten.
Hat jemand eine Idee, wie ich das auf eine schönere Weise erreichen kann?
Was ich denke, ist das Hauptproblem, wie man das korrekte Attribut eingibt, das auf dem Angriff basiert.