Quindi sto costruendo un gioco di carte in cui ogni carta ha cost
, damage
e durability
, oltre a name
e description
. Ovviamente si potrebbe pensare di creare una classe Card
:
class Card {
int cost
int damage
int durability
string name
string decription
}
werewolf = Card(5, 10, 120, 'Werewolf', 'Deal double damage during night')
mage = Card(7, 40, 40, 'Mage', 'Deal damage without taking damage himself')
Ma ora il problema è che ho bisogno di più copie di ognuna di queste istanze. Ogni giocatore nel gioco può avere 2 copie di ogni carta, il che significa fino a 8 copie di ogni carta.
Alcuni attributi sono "statici", vale a dire sempre uguale a tutte le istanze simili, ad esempio name
, description
e cost
. Tuttavia, ogni istanza ha varietà in health
e damage
; un mago potrebbe finire per avere più danni dopo che un incantesimo di potenziamento è stato lanciato su di lei, e un altro ha una salute inferiore dopo essere stato danneggiato.
Quale sarebbe un buon modo per implementare e strutturare tale funzionalità? Sottoclassi o qualcosa del genere e come?