Per un gioco a due giocatori in cui il tuo avversario potrebbe essere sulla rete, la CPU stessa o vicino a te dove giocherebbe girare per turno sulla stessa macchina.
In che modo le persone progettano le classi per il riutilizzo? Sono in una situazione simile e non ho esperienza nel creare giochi così complessi.
Ma ecco quello che ho pensato,
Se sono un oggetto giocatore, dovrei solo interagire con il GameManager o GameEngine Singleton, da cui riceverò varie notifiche sullo stato del gioco.
Non mi interessa dove e chi sia il mio avversario, questo GameManager dipende dalla modalità di gioco, interagirà con gameNetworkManager, o AI mi dirà che cosa ha giocato l'avversario.
Non sono sicuro dello scenario in cui suoniamo e passiamo [turno per volta sulla stessa macchina].
Sperando in una spiegazione breve ma chiara o almeno un link a una risorsa simile.:)