示例#1
0
 public static bool AgregarHeroe(Heroe h, Universo u)
 {
     for (int i = 0; i < u.heroes.Length; i++)
     {
         if (u.heroes[i] is null)
         {
             u.heroes[i] = h;
             return(true);
         }
     }
     return(false);
 }
示例#2
0
        static void Main(string[] args)
        {
            //	Dentro de un proyecto de tipo Consola, agregar una clase propia llamada Héroe, y definirla
            //	de la siguiente manera:
            //		class Heroe
            //		string nombre;
            //		string poder;
            //		int nivelFuerza;
            //		bool esAyudante;
            //		a.Todos los atributos deben ser privados, crear métodos set para todos.
            //			● Validar que las cadenas no estén vacías antes de asignarlas.
            //			● Validar que los enteros no sean negativos antes de asignarlos.
            //		b.Método constructor que reciba todos los parámetros menos el atributo esAyudante,
            //		para determinar este último utilizar el atributo nivelFuerza, si este es menor a 50
            //		esAyudante deberá ser inicializado en true.
            //		c.Metodo HeroeToString(), deberá retornar una cadena con los datos del personaje.
            //		d.Instanciar 3 héroes en el main, mostrarlos por consola.
            Console.WriteLine("Ejercicio-5 POO");

            Heroe h1 = new Heroe("IronMan", "Traje Hierro", 201);
            Heroe h2 = new Heroe("SuperMan", "SuperFuerza", 200);
            Heroe h3 = new Heroe("SpiderMan", "Poder Aranea", 25);

            Console.WriteLine(h1.ToString());
            Console.WriteLine(h2.ToString());
            Console.WriteLine(h3.ToString());

            Universo u1 = new Universo(3);

            Console.WriteLine(Universo.AgregarHeroe(h1, u1));
            Console.WriteLine(Universo.AgregarHeroe(h2, u1));
            Console.WriteLine(Universo.AgregarHeroe(h3, u1));

            Console.WriteLine(Universo.Enfrentar(0, 1, u1));
            Console.WriteLine(Universo.Enfrentar(1, 2, u1));
            Console.WriteLine(Universo.Enfrentar(2, 1, u1));
        }
示例#3
0
        //		b. Método estático Enfrentar, el mismo debe recibir dos ints randoms y retornar un string.
        //			● Ambos enteros representan posiciones en el array de héroes.
        //			● Se debe validar que estos enteros no sean negativos, ni más grandes que el
        //			tamaño del array
        //			● Obtener ambos objetos representados en estas posiciones, si alguno de los
        //			dos es ayudante, se lo va a considerar perdedor. En caso de que ambos sean
        //			ayudantes o no ayudantes, determinar el ganador basándose en el atributo
        //			nivelFuerza.
        //			● El método retorna el nombre del Heroe ganador (modificar la clase Heroe para
        //			tener visibilidad del atributo nombre desde otra clase, generando su respectivo
        //			método get).
        //			● En caso de que ambos niveles de fuerza sean iguales, el método Enfrentar
        //			retornara “empate”.
        //			Agregar al Program el código necesario para probar la nueva clase Universo.
        public static string Enfrentar(int num1, int num2, Universo u)
        {
            if ((num1 < u.heroes.Length && num1 >= 0) && (num2 < u.heroes.Length && num2 >= 0))
            {
                if (u.heroes[num1] is not null && u.heroes[num2] is not null)
                {
                    if ((u.heroes[num1].EsAyudante && u.heroes[num2].EsAyudante)
                        ||
                        (!u.heroes[num1].EsAyudante && !u.heroes[num2].EsAyudante))
                    {
                        if (u.heroes[num1].NivelFuerza > u.heroes[num2].NivelFuerza)
                        {
                            return($"Ganador: {u.heroes[num1].Nombre}");
                        }
                        else if (u.heroes[num1].NivelFuerza < u.heroes[num2].NivelFuerza)
                        {
                            return($"Ganador: {u.heroes[num2].Nombre}");
                        }
                        else if (u.heroes[num1].NivelFuerza == u.heroes[num2].NivelFuerza)
                        {
                            return("Empate");
                        }
                    }
                    if (u.heroes[num1].EsAyudante && !u.heroes[num2].EsAyudante)
                    {
                        return($"{u.heroes[num1].Nombre} Es el perdedor");
                    }
                    if (u.heroes[num2].EsAyudante && !u.heroes[num1].EsAyudante)
                    {
                        return($"{u.heroes[num2].Nombre} Es el perdedor");
                    }
                }
            }

            return("No hubo enfrentamiento");
        }