Ciao a tutti! Questo è il mio primo post su questo forum.
Sono uno studente al terzo anno di ingegneria informatica e, come progetto di tesi, devo sviluppare un RPG da tavolo (non so se posso rivelare il titolo) insieme ad altri due miei compagni. Avevo un dubbio sulla gestione di un mazzo di carte un po' strano: questo mazzo è composto di 90 carte, così strutturate:
13 carte bianche, 13 nere, 13 grigie, 13 rosa, 13 arancio, 13 blu e 12 jolly. Sono in conflitto aperto con gli altri due perché io pensavo di vedere il mazzo come un Deque di carte:
es. public class Card {
private String color; //abbiamo optato per la stringa e per un parser che inizializzi poi il colore
//metodi getter e setter
}
public class Deck {
private Deque<Card> deck;
//costruttore
// metodi per pescare, scartare
}
I miei compagni invece mi hanno imposto per loro comodità di vedere l'oggetto "Card" con attributi il colore e l'intero "numCards", che simboleggia il numero di carte di quel colore presente nel mazzo. Questa implementazione probabilmente è più efficiente dal punto di vista computazione, ma sinceramente mi sembra molto più difficile da gestire: per esempio, gli scarti andrebbero simulati solamente tramite l'incremento/decremento di un contatore, e inoltre avrei bisogno di creare una classe "mazzo garbage". Sarebbe anche inutilmente complesso il meccanismo del pescare le carte.
Secondo voi quale implementazione è più conveniente?
P.S. a chi è interessato posso inviare il diagramma UML del progetto