Estoy en la fase de planificación de un pequeño juego de estilo RPG.
El personaje tendrá un conjunto de atributos, como fuerza, agilidad, etc., que se representan como enteros. El personaje también tendrá un conjunto de ataques representados como una clase de ataque.
En cada ataque quiero que haga daño basado en los atributos de los personajes, por ejemplo: el ataque "corte de espada" hará 10 dmg + el valor de la fuerza de los personajes.
La forma en que pensaba hacer esto es tener una clase de ataque abstracta, que tiene un método de ataque abstracto, y para cada ataque creo una clase que implementa el método de ataque.
public class SwordSlash:Attack
{
public void Attack(Character attacker, Character defender)
{
defender.DoDamage(10 + attacker.Strength);
}
}
Veo que esto hará que sea una pesadilla mantenerlo.
¿Alguien tiene una idea de cómo puedo lograr esto de una manera más agradable?
Lo que creo que es el problema principal es cómo ingresar el atributo correcto, basado en el ataque.