El programa realiza el juego de piedra, papel, tijeras, con distintas estrategias a elegir, pero el código para escoger el estilo de jugador está muy disperso en el código:
En main.cc
Código:
En main.ccint menuJugadores(){
cout<<”1.-JugadorAleatorio”<<endl;
cout<<”2.-JugadorCíclico”<<endl;
cout<<”3.-JugadorMemoria”<<endl;
cout<<endl;
return pideOpcion(3);
}
Código:
En juego.ccstring nombreJugador(int i){
switch (i) {
case1:return ”aleatorio”;
case2:return ”ciclico”;
case3:return ”memoria”;
}
}
Código:
Debería crear una clase que s'encargará del manejo de todos los estilos de los jugadores, es decir, las tres funciones anteriores que tenía dispersas, juntarlas todas en una.Jugador* seleccionarJugador(const string& nombre)
throw (Juego::JugadorInexistente){
//Funcion auxiliar para crear los distintos
//estilos de jugadores segun el nombre que se le pase
if (nombre==”aleatorio”)
return new JugadorAleatorio;
if (nombre==”ciclico”)
return new JugadorCiclico;
if (nombre==”memoria”)
return new JugadorMemoria;
throwJuego::JugadorInexistente();
}
La clase se llamaría catalogojugadores y su declaración podría ser:
Código:
Lo que no sé es cómo podría seguir ahora, para añadirle las nuevas funcionalidades.classCatalogoJugadores{
public:
classJugadorInexistente{};
Jugador* crearJugador(const string&) const
throw(JugadorInexistente);
void obtenerNombresTiposJugadores(vector<string>&) const
throw();
};
Gracias por adelantado :)

