Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/05/2005, 16:36
yogurete
 
Fecha de Ingreso: mayo-2005
Mensajes: 68
Antigüedad: 19 años, 6 meses
Puntos: 0
Ejercicio en c++

Buenas, tendría que hacer una reconversión de código de c++ y ando algo perdidillo en el tema..

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:
int menuJugadores(){
cout<<”1.-JugadorAleatorio”<<endl;
cout<<”2.-JugadorCíclico”<<endl;
cout<<”3.-JugadorMemoria”<<endl;
cout<<endl;
return pideOpcion(3);
}
En main.cc
Código:
string nombreJugador(int i){
switch (i) {
case1:return ”aleatorio”;
case2:return ”ciclico”;
case3:return ”memoria”;
}
}
En juego.cc
Código:
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();
}
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.

La clase se llamaría catalogojugadores y su declaración podría ser:

Código:
classCatalogoJugadores{
public:
classJugadorInexistente{};
Jugador* crearJugador(const string&) const
throw(JugadorInexistente);
void obtenerNombresTiposJugadores(vector<string>&) const
throw();
};
Lo que no sé es cómo podría seguir ahora, para añadirle las nuevas funcionalidades.

Gracias por adelantado :)