Ho una classe Game
.
Questa classe deve prendere tre argomenti passati nel suo costruttore:
- Elenco dei pezzi di gioco
- Dimensioni scheda
- Posizionamento del pezzo di gioco 'motore'
Sto vagando per il design del motore di posizionamento dei pezzi del gioco. Questo oggetto ha bisogno dell'elenco di pezzi di gioco e delle dimensioni della tavola per determinare dove posizionare i pezzi.
Le opzioni che posso vedere sono:
- Il motore di posizionamento prende l'elenco dei pezzi e le dimensioni della scheda nel suo costruttore e ha un metodo di generazione che restituisce l'elenco dei pezzi e il loro posizionamento
- Simile a 1 ma l'elenco di pezzi e dimensioni della scheda vengono impostati come proprietà dopo l'istanziazione e quindi c'è il metodo Genera come sopra.
- Il motore di posizionamento prende la dimensione della scheda come argomento del costruttore o imposta come una proprietà e poi c'è un metodo Genera che prende un pezzo come parametro e quindi restituisce il posizionamento per quel pezzo.
Sto cominciando a oscillare verso la terza opzione in quanto ciò consente al gioco di gestire le cose, altrimenti il gioco potrebbe avere una lista di pezzi e una dimensione della tavola diversa dal "motore" di piazzamento. Anche generare la posizione di partenza per un pezzo alla volta sembra più "corretto".
Come faresti?