Estou na fase de planejamento de um pequeno jogo estilo RPG.
O personagem terá um conjunto de atributos, como força, agilidade, etc, que são representados como números inteiros. O personagem também terá um conjunto de ataques representados como uma classe de ataque.
Em cada ataque, quero que ele cause dano com base nos atributos dos personagens, por exemplo: o ataque "golpe de espada" fará 10 dmg + o valor da força dos personagens.
O jeito que eu estava pensando em fazer isso é ter uma classe de ataque abstrata, que tem um método de ataque abstrato, e para cada ataque eu crio uma classe que implementa o método de ataque.
public class SwordSlash:Attack
{
public void Attack(Character attacker, Character defender)
{
defender.DoDamage(10 + attacker.Strength);
}
}
Vejo que isso tornará um pesadelo para manter.
Alguém tem uma idéia de como eu posso fazer isso de uma maneira melhor?
O que eu acho que é o principal problema é como inserir o atributo correto, com base no ataque.