juego de rol en c++

Iniciado por marchiali, 24 Septiembre 2015, 23:49 PM

0 Miembros y 1 Visitante están viendo este tema.

marchiali

hola a todos.

resulta que tengo un ejercicio que resolver de la universad cuyo enunciado plantea la idea de un juego de rol. el enunciado es el siguiente:

en un videojuego existen tres tipos de personaje: caballero, mago y arquero. cada uno debe guardar sus cantidades de vida y mana. todos tienen un metodo atacar que recibe a otro personaje como referencia al cual va a atacar, sin embargo el ataque de cada personaje es diferente en cuanto a los atributos que consumen:
-el ataque del caballero quita 3 unidades de vida y 1 de mana al personaje que ataca.
-el ataque del arquero quita 2 unidades de vida y 2 de mana.
-el ataque del mago quita 1 unidad de vida y 3 de mana.
cada personaje tiene un metodo esta vivo, para saber si tiene vida restante y un metodo tipo que devuelve una cadena de texto con el tipo del personaje

con estas especificaciones codificar una clase juego para representar un juego simple que contenga 30 personaje de distinto tipo en un unico arreglo. en cada turno del juego se elige un personaje al azar que debe atacar a otro, elegido tambien al azar, esto debe repetirse hasta que quede solo un personaje vivo. mostrando en cada turno el tipo y la cantidad de vida de cada personaje.

quisiera un poco de ayuda sobre el planteamiento del programa, las clases y los atributos.

les agradecere cualquier tipo de ayuda.

Mod: Titulo modificado, no escribas en mayúsculas

engel lex

que llevas? que has hecho/planeado? que no sabes?

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

marchiali

tengo planteadas las clases de los personajes de esta forma

Código (cpp) [Seleccionar]
class personaje{
protected:
int vida, mana;
public:
personaje(): vida(25), mana(25){}
virtual void atacar(personaje *P)=0;
bool estavivo(){
if (vida>0){
return true;
}
return false;
}
virtual void modifvida(int damage){
vida -= damage;
}
};

class caballero: public personaje{
public:
virtual void atacar(personaje *P){
P->modifvida(3);
}
virtual string gettipo(){
return "caballero";
}
};

class mago: public personaje{
public:
virtual void atacar(personaje *P){
P->modifvida(1);
}
virtual string gettipo(){
return "mago";
}
};

class arquero: public personaje{
public:
virtual void atacar(personaje *P){
P->modifvida(2);
}
virtual string gettipo(){
return "arquero";
}
};


el problema que tengo es que no se como manejar los objetos de las clases para que funcionen dentro de un mismo arreglo y asi poder restar las vidas