Mi codigo:
Un poco largo pero es por que instancie mas objetos de Antiheroes/Superheroes:
//Siempre debajo de la lista:
using System.Text;
using Constructor.Models;
//Los poderes instanciados, utilizados para Superheroes y Antiheroes.
SuperPoder superfuerza = new SuperPoder();
superfuerza.Nombre = "super fuerza";
superfuerza.Habilidad = "super fuerza";
superfuerza.Descripcion = "Capacidad de usar super fuerza y levantar objetos muy pesados.";
superfuerza.Nivel = NivelPoder.NivelDiez;
SuperPoder regeneracion = new SuperPoder();
regeneracion.Nombre = "regeneracion";
regeneracion.Nivel = NivelPoder.NivelCinco;
regeneracion.Descripcion = "Capacidad de regenerar vida.";
regeneracion.Nivel = NivelPoder.NivelDiez;
SuperPoder visionlaser = new SuperPoder();
visionlaser.Nombre = "vision laser";
visionlaser.Habilidad = "Vision Laser";
visionlaser.Descripcion = "Capacidad de usar vision laser";
visionlaser.Nivel = NivelPoder.NivelDiez;
SuperPoder invulnerabilidad = new SuperPoder();
invulnerabilidad.Nombre = "Invulnerabilidad";
invulnerabilidad.Habilidad = "Invulnerabilidad";
invulnerabilidad.Descripcion = "Capacidad de no sentir daño ante ataques de cualquier tipo.";
invulnerabilidad.Nivel = NivelPoder.NivelDiez;
SuperPoder telequinesis = new SuperPoder();
telequinesis.Nombre = "Telequinesis";
telequinesis.Habilidad = "Telequinesis";
telequinesis.Descripcion = "Super capacidad para mover objetos con la mente.";
telequinesis.Nivel = NivelPoder.NivelDiez;
//Instanciando el primer objeto superheroe Superman:
SuperHeroe superman = new SuperHeroe();
superman.Id = 1;
superman.Nombre = "Superman";
superman.IdentidadSecreta = "Clark Kent";
superman.Ciudad = "Metropolis";
superman.PuedeVolar = true;
List<SuperPoder> poderesSuperman = new List<SuperPoder>();
poderesSuperman.Add(superfuerza);
poderesSuperman.Add(visionlaser);
superman.SuperPoderes = poderesSuperman;
string resultSuperPoderes = superman.UsarSuperPoderes();
Console.WriteLine(resultSuperPoderes);
//Instanciando el primer objeto Antiheroe - Wolverine:
AntiHeroe wolverine = new AntiHeroe();
wolverine.Id = 5;
wolverine.Nombre = "Wolverine";
wolverine.IdentidadSecreta = "Logan";
wolverine.PuedeVolar = false;
List<SuperPoder> PoderesWolverine = new List<SuperPoder>();
PoderesWolverine.Add(regeneracion);
PoderesWolverine.Add(superfuerza);
wolverine.SuperPoderes = PoderesWolverine;
string resultWolverinePoderes = wolverine.UsarSuperPoderes();
Console.WriteLine(resultWolverinePoderes);
//Instanciando el segundo objeto Antiheroe - Juggernaut:
AntiHeroe juggernaut = new AntiHeroe();
juggernaut.Id = 6;
juggernaut.Nombre = "Juggernaut";
juggernaut.IdentidadSecreta = "Cain Marco";
juggernaut.PuedeVolar = false;
List<SuperPoder> PoderesJuggernaut = new List<SuperPoder>();
PoderesJuggernaut.Add(regeneracion);
PoderesJuggernaut.Add(superfuerza);
PoderesJuggernaut.Add(invulnerabilidad);
juggernaut.SuperPoderes = PoderesJuggernaut;
string resultJuggernautPoderes = juggernaut.UsarSuperPoderes();
Console.WriteLine(resultJuggernautPoderes);
//Instanciando el tercer objeto AntiHeroe - Modok:
AntiHeroe modok = new AntiHeroe();
modok.Id = 7;
modok.Nombre = "Modok";
modok.IdentidadSecreta = "George Tarleton";
modok.PuedeVolar = true;
List<SuperPoder> PoderesModok = new List<SuperPoder>();
PoderesModok.Add(regeneracion);
PoderesModok.Add(superfuerza);
PoderesModok.Add(invulnerabilidad);
PoderesModok.Add(telequinesis);
PoderesModok.Add(visionlaser);
modok.SuperPoderes = PoderesModok;
string resultModokPoderes = modok.UsarSuperPoderes();
Console.WriteLine(resultModokPoderes);
string accionAntiHeroe = modok.RealizarAccionDeAntiHeroe("Robar antiguos objetos cosmicos");
Console.WriteLine(accionAntiHeroe);
SuperHeroRecord superHeroRecord = new(1, "Superman", "Clark Kent");
SuperHeroRecord superHeroRecord2 = new(1, "Superman", "Clark Kent");
Console.WriteLine(superHeroRecord == superHeroRecord2);
enum NivelPoder {
NivelCero,
NivelUno,
NivelDos,
NivelTres,
NivelCuatro,
NivelCinco,
NivelSeis,
NivelSiete,
NivelOcho,
NivelNueve,
NivelDiez
}
public record SuperHeroRecord(int Id, string Nombre, string IdentidadSecreta);