/// <summary> /// Permite modificar el moveset del pokemon /// </summary> static void CambiarAtaquesPokemon() { LogicaBox box = new LogicaBox(LogicaPC.BoxSeleccionada); string[] nuevosAtaques; Menu.HeaderPrincipal(); MenuBox.ResetearFondo(); try { nuevosAtaques = new string[Pokemon.LimiteAtaques]; Pokemon pokemon = box.ObtenerPokemon(Validaciones.ValidarId()); if (pokemon is Huevo) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("\nNo se pueden modificar los ataques de un huevo"); } else { nuevosAtaques = Validaciones.ValidarAtaques(); box.CambiarAtaques(pokemon, nuevosAtaques); Menu.CambiarColor(ConsoleColor.Yellow); Console.WriteLine("\nEl moveset del pokemon ha sido modificado"); } } catch (NoExistePokemonException e) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine(e.Message); } Menu.EspereUnaTecla(); }
public static void Iniciar() { bool seguirEnMenu = true; do { Menu.HeaderPrincipal(); Menu.BannerMenu("Menu Modificar Pokemon"); MenuBox.ResetearFondo(); OpcionesMenu(); switch (ValidarIngresoUsuario()) { case OpcionesMenuModificar.Nombre: CambiarNombrePokemon(); break; case OpcionesMenuModificar.Ataques: CambiarAtaquesPokemon(); break; case OpcionesMenuModificar.Item: CambiarItemPokemon(); break; case OpcionesMenuModificar.Volver: seguirEnMenu = false; break; default: break; } } while (seguirEnMenu); }
/// <summary> /// Cambia el nombre del pokemon. Si se ingresa un huevo, muestra el mensaje de error. /// </summary> static void CambiarNombrePokemon() { LogicaBox box = new LogicaBox(LogicaPC.BoxSeleccionada); string nuevoNombre; Menu.HeaderPrincipal(); MenuBox.ResetearFondo(); try { Pokemon pokemon = box.ObtenerPokemon(Validaciones.ValidarId()); if (pokemon is Huevo) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("\nNo se pueden modificar el nombre de un huevo"); } else { nuevoNombre = Validaciones.ValidarCadena("Ingrese el nuevo nombre del pokemon"); box.CambiarNombre(pokemon, nuevoNombre); Menu.CambiarColor(ConsoleColor.Yellow); Console.WriteLine("\nEl nombre ha sido modificado"); } } catch (NoExistePokemonException e) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine(e.Message); } Menu.EspereUnaTecla(); }
/// <summary> /// Muestra en una tabla los pokemones pasados por parámetro. /// </summary> /// <param name="pokemonesAMostrar"></param> /// <returns>Un indicador si se pudo o no mostrar la información</returns> public static bool Mostrar(Pokemon[] pokemonesAMostrar) { Menu.HeaderPrincipal(); MenuBox.ResetearFondo(); if (pokemonesAMostrar.Length != 0) { TablaPokemon.GenerarTabla(pokemonesAMostrar); return(true); } return(false); }
static OpcionesMenuMostrar ValidarIngresoUsuario() { OpcionesMenuMostrar opcionSeleccionada; Console.Write("Seleccione una opcion: "); while (!EsOpcionValida(Console.ReadKey(), out opcionSeleccionada)) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("\nLa opcion seleccionada no es válida, vuelva a intentarlo.."); MenuBox.ResetearFondo(); Console.Write("\nSeleccione una opcion: "); } return(opcionSeleccionada); }
/// <summary> /// Simula una loading screen antes de pasar a la box seleccionada /// </summary> static void PantallaCargaABox() { Console.Clear(); Console.WriteLine($"Ingresando al menu de la box '{LogicaPC.BoxSeleccionada.Nombre}'."); Thread.Sleep(500); Console.Clear(); Console.WriteLine($"Ingresando al menu de la box '{LogicaPC.BoxSeleccionada.Nombre}'.."); Thread.Sleep(500); Console.Clear(); Console.WriteLine($"Ingresando al menu de la box '{LogicaPC.BoxSeleccionada.Nombre}'..."); Thread.Sleep(500); MenuBox.Iniciar(); }
static ConsoleColor ValidarColorBox() { ConsoleColor colorSeleccionado; Console.Write("Ingrese una opcion: "); while (!Enum.TryParse <ConsoleColor>(Console.ReadLine(), out colorSeleccionado) || !Enum.IsDefined(typeof(ConsoleColor), colorSeleccionado)) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("El color seleccionado no es valido, vuelva a intentarlo..."); MenuBox.ResetearFondo(); Console.Write("Seleccione un color: "); } return(colorSeleccionado); }
static int ValidarIngresoUsuario() { int opcionSeleccionada; Console.Write("Ingrese su opcion: "); while (!EsOpcionValida(Console.ReadLine(), out opcionSeleccionada)) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("La opcion ingresada no es válida, vuelva a intentarlo..\n"); MenuBox.ResetearFondo(); Console.Write("Ingrese su opcion: "); } Console.WriteLine(); return(opcionSeleccionada); }
/// <summary> /// Muestra los huevos que estan alojados en la box /// </summary> static void MostrarHuevos() { Menu.HeaderPrincipal(); MenuBox.ResetearFondo(); LogicaBox box = new LogicaBox(LogicaPC.BoxSeleccionada); Pokemon[] huevosPokemon = box.ObtenerHuevos(); if (!Mostrar(huevosPokemon)) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("No existen huevos en esta box"); } Menu.EspereUnaTecla(); }
/// <summary> /// Muestra todos los pokemones capturados. Se informa si no hay capturados. /// </summary> static void MostrarTodos() { Menu.HeaderPrincipal(); MenuBox.ResetearFondo(); LogicaBox box = new LogicaBox(LogicaPC.BoxSeleccionada); Pokemon[] pokemonesCapturados = box.ObtenerTodosLosCapturados(); if (!Mostrar(pokemonesCapturados)) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("No hay pokemones capturados en esta box"); } Menu.EspereUnaTecla(); }
/// <summary> /// Muestra todos los pokemones que tengan ese mismo nro de dex. Se informa si no hay capturados. /// </summary> static void MostrarPorNroDex() { Menu.HeaderPrincipal(); MenuBox.ResetearFondo(); LogicaBox box = new LogicaBox(LogicaPC.BoxSeleccionada); Pokemon[] pokemonConMismaDex = box.ObtenerPorNroPokedex(Validaciones.ValidarNroDex()); if (!Mostrar(pokemonConMismaDex)) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("No hay pokemones con esa dex en esta box"); } Menu.EspereUnaTecla(); }
static void OpcionesMenu() { int cont = 0; Console.WriteLine("Seleccione un tipo de pokebola: "); Menu.CambiarColor(ConsoleColor.Green); foreach (string tipoPokebola in Enum.GetNames(typeof(Pokebola))) { if (cont != 0) { Console.WriteLine("{0}{1}. {2}", Menu.Identar(3), cont, tipoPokebola); } cont++; } MenuBox.ResetearFondo(); Console.WriteLine("{0}. Volver al menú mostrar\n", cont); }
public static void Iniciar() { bool seguirEnMenu = true; do { Menu.HeaderPrincipal(); Menu.BannerMenu("Mostrar Pokemones"); MenuBox.ResetearFondo(); OpcionesMenu(); switch (ValidarIngresoUsuario()) { case OpcionesMenuMostrar.Todos: MostrarTodos(); break; case OpcionesMenuMostrar.PorTipo: SubMenuMostrarPorTipo.Iniciar(); break; case OpcionesMenuMostrar.PorNroDex: MostrarPorNroDex(); break; case OpcionesMenuMostrar.PorRangoNivel: MostrarPorRangoNivel(); break; case OpcionesMenuMostrar.PorPokebola: SubMenuMostrarPorPokebola.Iniciar(); break; case OpcionesMenuMostrar.Huevos: MostrarHuevos(); break; case OpcionesMenuMostrar.MenuBox: seguirEnMenu = false; break; } } while (seguirEnMenu); }
/// <summary> /// Muestra pokemon por rango de nivel /// </summary> static void MostrarPorRangoNivel() { Menu.HeaderPrincipal(); MenuBox.ResetearFondo(); LogicaBox box = new LogicaBox(LogicaPC.BoxSeleccionada); byte nivelMinimo = Validaciones.ValidarNivel($"Ingresa un nivel minimo [1-{PC.NivelMaximo}]"); byte nivelMaximo = Validaciones.ValidarNivel($"Ingresa un nivel maximo [1-{PC.NivelMaximo}]"); Pokemon[] pokemonesEnRango = box.ObtenerPorRangoNivel(nivelMinimo, nivelMaximo); if (!Mostrar(pokemonesEnRango)) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("No hay pokemones con ese rango de nivel dentro de esta box"); } Menu.EspereUnaTecla(); }
/// <summary> /// Equipa o quita el item del pokemon /// </summary> static void CambiarItemPokemon() { LogicaBox box = new LogicaBox(LogicaPC.BoxSeleccionada); Menu.HeaderPrincipal(); MenuBox.ResetearFondo(); try { Pokemon pokemon = box.ObtenerPokemon(Validaciones.ValidarId()); if (pokemon is Huevo) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("\nNo se pueden cambiar el item de un huevo"); } else { box.CambiarStatusItem(pokemon); Menu.CambiarColor(ConsoleColor.Yellow); if (pokemon.TieneItem) { Console.WriteLine("\nEl item fue desequipado"); } else { Console.WriteLine("\nEl item fue equipado"); } } } catch (NoExistePokemonException e) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine(e.Message); } Menu.EspereUnaTecla(); }
public static void Iniciar() { bool seguirEnMenu = true; do { Menu.HeaderPrincipal(); Menu.BannerMenu("Tipo de Pokebola"); MenuBox.ResetearFondo(); OpcionesMenu(); int opcionSeleccionada = ValidarIngresoUsuario(); if (opcionSeleccionada >= 1 && opcionSeleccionada < Enum.GetNames(typeof(Pokebola)).Length) { Console.Clear(); MostrarPorPokebola((Pokebola)opcionSeleccionada); } else { seguirEnMenu = false; } } while (seguirEnMenu); }