Sono nella fase di pianificazione di un piccolo gioco in stile RPG.
Il personaggio avrà una serie di attributi, come forza, agilità, ecc. Che sono rappresentati come numeri interi. Il personaggio avrà anche una serie di attacchi rappresentati come una classe di attacco.
Ad ogni attacco voglio che faccia danni in base agli attributi dei personaggi, ad esempio: l'attacco "barra della spada" farà 10 dmg + il valore della forza dei personaggi.
Il modo in cui stavo pensando di fare questo è avere una classe di attacco astratta, che ha un metodo di attacco astratto, e per ogni attacco creo una classe che implementa il metodo di attacco.
public class SwordSlash:Attack
{
public void Attack(Character attacker, Character defender)
{
defender.DoDamage(10 + attacker.Strength);
}
}
Vedo che questo lo renderà un incubo da mantenere.
Qualcuno ha un'idea di come posso farlo in un modo migliore?
Quello che penso sia il problema principale è come inserire l'attributo corretto, in base all'attacco.