Jestem w fazie planowania małej gry RPG.
Postać będzie miała zestaw atrybutów, takich jak siła, zwinność itp., Które są reprezentowane jako liczby całkowite. Postać będzie miała również zestaw ataków reprezentowanych jako klasa ataku.
Przy każdym ataku chcę, aby zadawał obrażenia na podstawie atrybutów postaci, np .: atak „cięcie mieczem” spowoduje 10 dmg + wartość siły postaci.
Myślałem o tym, aby mieć abstrakcyjną klasę ataku, która ma abstrakcyjną metodę ataku, i dla każdego ataku tworzę jedną klasę, która implementuje metodę ataku.
public class SwordSlash:Attack
{
public void Attack(Character attacker, Character defender)
{
defender.DoDamage(10 + attacker.Strength);
}
}
Widzę, że będzie to koszmar do utrzymania.
Czy ktoś ma pomysł, w jaki sposób mogę to osiągnąć w lepszy sposób?
Myślę, że głównym problemem jest to, jak wprowadzić poprawny atrybut na podstawie ataku.