Volviendo a ver este curso, me di cuenta que crear un objeto apartir de la clase "SuperHeroe" esta mandado a recoger, o a mi me parece que no me gusta.
Hice todo, pero en vez de superheroe, puse Heroe, del tipo de personajes de juegos como Warcraft:
//... OOP - Again { 02 - 05 - 2024 }
//... Reforzar encapsulamiento, herencia y abstraccion.
//... Instanciamos nuestro primer super heroe:
Heroe Minrith = new Heroe();
Minrith.id = 1;
Minrith.nombre = "Minrith"; //... Nombre Minrith tomado del universo de Tolkien.
Minrith.genero = Genero.Hombre;
Minrith.nivel = 99;
Minrith.vida = 9000;
//... Se instancia la descripcion de cada item del heroe:
//... Instanciamos los items = Baston antiguo:
Item bastonAntiguo = new Item(); //... 1.
bastonAntiguo.Nombre = "Baston antiguo.";
bastonAntiguo.Descripcion = "Baston que incrementa un 50% el ataque del heroe.";
bastonAntiguo.durabilidad = Durabilidad.Indestructible; //... Indestructible el baston.
//... Instanciamos los items = Amuleto:
Item amuletoElemental = new Item(); //... 2.
amuletoElemental.Nombre = "Amuleto elemental.";
amuletoElemental.Descripcion = "Amuleto que incrementa las habilidades elementales.";
amuletoElemental.durabilidad = Durabilidad.debil; //... Debil el amuleto.
//... Instanciamos los items = Espada devoradora:
Item espadaDevoradora = new Item(); //... 3.
espadaDevoradora.Nombre = "Espada devoradora.";
espadaDevoradora.Descripcion = "Espada unica, esta incrementa la defensa del heroe en un 100%.";
espadaDevoradora.durabilidad = Durabilidad.Resistente; //... Resistente la espada.
//... Instanciamos los items = Escudo de obsidiana:
Item escudoObsidiana = new Item(); //... 4.
escudoObsidiana.Nombre = "Escudo de obsidiana.";
escudoObsidiana.Descripcion = "Escudo que protege el 50% de los ataque de un enemigo.";
escudoObsidiana.durabilidad = Durabilidad.vulnerable; //... Vulnerable el escudo.
//... Declaramos los poderes y su forma de iteracion:
Minrith.superPoderes = new[]
{
"Rayo de hielo.",
"Tormenta de fuego.",
"Hidras de rayo.",
"Esfera de luz.",
"Meteoritos de fuego."
};
//... Declaramos los objetos y su forma de iteracion:
Minrith.listaItems = new[]
{
"Baston antiguo.",
"Amuleto elemental.",
"Espada deboradora de fuego.",
"Escudo de obsidiana"
};
//... Asi iteramos sobre el array:
Console.WriteLine(Minrith.listaItems[4]);
//... Creamos la clase:
//... Descartamos las propiedades que no son innecesarias.
class Heroe //... Es Heroe pero tiene poderes sobrenaturales.
{
public int id;
public string nombre;
public Genero genero;
public int nivel; //... Esto representa el nivel del heroe.
public int vida; //... Esto representa el nivel de vida del heroe.
public string[] superPoderes;
public string[] listaItems; //... Lista de items fisicos que el heroe posee.
}
//... Agregamos una clase para la descripcion y nombre de los items:
class Item
{
public string Nombre;
public string Descripcion;
public Durabilidad durabilidad;
}
public enum Durabilidad
{
Indestructible = 200,
Resistente = 150,
vulnerable = 100,
debil = 50
}
public enum Genero
{
Hombre = 1,
Mujer = 2,
}