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 :)