Quali sono le reali differenze tra Avversario e Giocatore?
Da come le hai scritte io non ne vedo e in realtà non ce ne sono molte.
Differenziarle in questo modo ti crea confusione, in realtà un Avversario è anche un Giocatore, al max un Giocatore la cui logica decisionale è decisa dal pc, cambia il metodo "calcolaCartaDaScartare", ma il resto è uguale (come è giusto che sia).
Organizza gerarchicamente in modo diverso le classi, intanto Giocatore è padre di Avversario e ha senso. (anche se parlerei di GiocatoreElettronico non di Avversario)
La partita si gioca tra 2 giocatori (quindi Partita(Giocatore giocatore1, Giocatore giocatore2), che poi il secondo lo istanzi come Avversario è un altro discorso.
Esatto, hai l'enumerazione Seme (ed è corretto), ma avrai anche una classe che dà inizio a tutto, quindi come dire una classe Partita che distribuisce le carte ecc
In questa tieni il riferimento alla briscola, accessibile a tutti. Fatto in questo modo non hai bisogno di portarti dietro in ogni carta un flag che ti dica se hai una briscola o no. (il seme una carta ce l'ha sempre)
Allora tu devi fare le funzioni in modo che abbiano un input e un output e facciano il loro mestiere, indipendentemente da come prendi l'input e l'output.
Di come questi li generi se ne occupa una nuova classe, che a seconda delle impostazioni (che tu dai) decide di mandare tutto a video tramite GUI, command line oppure file oppure rete come ti pare.
Tu ti devi occupare di COME giochi, come ottieni le carte e l'input è un discorso a parte.

Rispondi quotando
