Foros del Web » Programación para mayores de 30 ;) » Programación General »

Ejercicio en c++

Estas en el tema de Ejercicio en c++ en el foro de Programación General en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 09/05/2005, 16:36
 
Fecha de Ingreso: mayo-2005
Mensajes: 68
Antigüedad: 19 años
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 :)
  #2 (permalink)  
Antiguo 09/05/2005, 18:57
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
nuevas funcionalidades como cual?
  #3 (permalink)  
Antiguo 09/05/2005, 22:00
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
En vez de hacer un "catalogo jugadores", deberías hacer una clase base llamada Jugador y luego derivar de ella los tipos que quisieses. Opcionalmente podrías hacer una clase Juego que lo maneje todo y sea únicamente llamada por main.
  #4 (permalink)  
Antiguo 10/05/2005, 01:02
 
Fecha de Ingreso: mayo-2005
Mensajes: 68
Antigüedad: 19 años
Puntos: 0
sí, MaxExtreme, las clases que me dices ya las tengo, la clase jugador y la clase juego. En principio es la clase juego la que maneja todo, pero lo que tengo que hacer es crear una nueva clase de catalagodejugadores que se encargue de las tres funciones anteriores, para no sobrecargar de tantas funciones a la clase juego. Y es eso por donde no se ni como empezar

Gracias por vuestra ayuda! :)

Última edición por yogurete; 10/05/2005 a las 03:25
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:03.