Sto facendo delle revisioni a una versione di console del bridge del contratto che ho realizzato in Java. La fonte può essere trovata qui: Bridge
Quindi la maggior parte del codice è terribile e ho cercato di apportare miglioramenti laddove possibile. Il gioco funziona ma il design è pessimo.
Attualmente ha tre classi: Carta ponte BridgeConsole
Tutto il codice relativo al gioco si trova in BridgeConsole ma mi è stato detto che è troppo lungo. Quindi sto pensando di separare parte del codice lì. Mi viene in mente una classe GameState (ribattezzando BridgeConsole to Main) ma non sono sicuro di come implementarla. Ho visto esempi online in cui hanno metodi come init (), cleanup (), draw (), ecc. Ma non sono sicuro di come implementarlo correttamente nel mio gioco. Non sono nemmeno sicuro di dove andrebbero i metodi per eseguire la logica AI. Un'altra possibilità è invece di usare ArrayList per tenere la mano dei giocatori, basta creare una classe di mano. Rimuovendo anche tutti i metodi statici e le variabili che ho nella classe BridgeConsole.
Sto cercando alcuni suggerimenti o suggerimenti sul buon design per questo particolare progetto. Non sono soddisfatto dal fatto di essere in grado di eseguire il gioco, vorrei che il codice fosse migliore quindi qualsiasi aiuto sarebbe apprezzato.