/// <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); }
/// <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); }