Sto scrivendo la logica di base di Pokemon Gen I in Java (8), e sto cercando di capire il modo migliore per implementare l'aspetto del gioco a turni. In questo momento ho una classe Battle che ha due Player s ciascuno con un PokemonTeam .
L'idea è che un Player prende un Turn (un Battle ha molti Turn s) e alcune azioni si verificano, ad es. attacca con Pokemon , usa Item , cambia Pokemon , ecc. Quindi, una volta che l'azione singola è stata presa, deve essere applicata durante quel turno, e poi l'altro giocatore prende il turno.
Il mio design originale, che è leggermente cambiato, assomiglia a questo:
StavoprogettandodiimplementareunasuperclasseActioneActionResult,consottoclassiperciascunodeitipidiazione(adesempioAttackActioneAttackActionResult).Masembrachesarebbeunpo'diconfusionedausare,elaresponsabilitàdiapplicaredanni,effetti,gestionedellosvenimentodiPokemon,ecc.,Tuttosiriempieinquellesottoclassi,ilchesembraunacattivaidea.
Poimisonoimbattutonel
Il modello di comando si adatta bene a un gioco a turni come Pokemon, o c'è qualcosa di più appropriato?
