Exemplo n.º 1
0
        /// <summary>
        /// Devuelve una lista de los legendarios atrapados
        /// </summary>
        /// <returns></returns>
        public static List <Pokemon> LegendariosCapturados()
        {
            //El array de legendarios capturados no puede ser más de 5 porque hay un ejemplar por legendario

            List <Pokemon> legendariosCapturados = new List <Pokemon>();

            int[] dexLegendarios = new int[PC.Legendarios.Length];

            #region Obtener el nroDex de los pokemons legendarios
            for (int pos = 0; pos < dexLegendarios.Length; pos++)
            {
                dexLegendarios[pos] = PC.Legendarios[pos].NroDex;
            }
            #endregion

            #region Obtener los pokemones que coincidan con el dex de los legendarios

            for (int posPC = 0; posPC < PC.Boxes.Length; posPC++)
            {
                //Quiero obtener todos los pokemon de cada uno de las boxes
                LogicaBox boxBL          = new LogicaBox(PC.Boxes[posPC]);
                Pokemon[] pokemonesEnBox = boxBL.ObtenerTodosLosCapturados();

                for (int posBOX = 0; posBOX < pokemonesEnBox.Length; posBOX++)
                {
                    //Voy a recorrer cada una de las boxes y me fijo si el pokemon de esa box
                    if (dexLegendarios.Contains(pokemonesEnBox[posBOX].NroDex))
                    {
                        legendariosCapturados.Add(pokemonesEnBox[posBOX]);
                    }
                }
            }


            #endregion

            return(legendariosCapturados);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Calcula el nivel promedio de todos los pokemones capturados.
        /// </summary>
        /// <returns>Un entero que nos indica el nivel promedio</returns>
        public static int NivelPromedioCapturados()
        {
            int totalNivel    = 0;
            int promedioNivel = 0;

            foreach (Box box in PC.Boxes)
            {
                LogicaBox boxBL = new LogicaBox(box);

                foreach (Pokemon pokemon in boxBL.ObtenerTodosLosCapturados())
                {
                    totalNivel += pokemon.Nivel;
                }
            }

            //Evitar que arroje excepcion por dividir por 0, si no se capturaron pokemones
            if (totalNivel != 0)
            {
                promedioNivel = (int)Math.Floor((decimal)totalNivel / (TotalPokemonCapturados() - CantHuevosEncontrados()));
            }


            return(promedioNivel);
        }