public bool NuevoReto(Reto reto) { if (reto.EsValido()) { catalogo.Add(reto.GetCodigo(), reto); } return(reto.EsValido()); }
public static Reto TextToReto(string reto_text) { Reto reto = null; string[] split = reto_text.Split(':'); if (split.Length.Equals(3)) { if (Int32.TryParse(split[0], out int codigo) && Int32.TryParse(split[2], out int dificultad)) { reto = new Reto(codigo, split[1], dificultad); } } return(reto); }
public Reto PedirReto() { Reto reto = null; Console.Write("Introduce un código de reto: "); if (Int32.TryParse(Console.ReadLine(), out int codigo_reto) && codigo_reto.ToString().Length <= 3) { reto = ObtenerReto(codigo_reto); } else { Console.WriteLine("Debe introducir un código numérico de 3 dígitos\n"); } return(reto); }
public static void Main(string[] args) { CatalogoRetos catalogo = new CatalogoRetos(); Reto reto; string reto_text; do { reto_text = Console.ReadLine(); reto = Reto.TextToReto(reto_text); if (null != reto) { catalogo.NuevoReto(reto); } else { Console.WriteLine("Algún parámetro introducido no es válido"); } } while (reto_text != ""); List <Usuario> usuarios = new List <Usuario> { new Alumno("Francisco", "*****@*****.**", "1DAM"), new Alumno("Maria", "*****@*****.**", "1DAM"), new Alumno("Pedro", "*****@*****.**", "2DAW"), new Profesor("Antonio", "*****@*****.**", "Java"), new Profesor("Alberto", "*****@*****.**", "C#") }; string menu; do { Console.WriteLine("1. Salir del programa"); Console.WriteLine("2. Buscar reto"); Console.WriteLine("3. Listar por dificultad"); Console.WriteLine("4. Resolver reto"); menu = Console.ReadLine(); switch (menu) { case "2": reto = catalogo.PedirReto(); if (null != reto) { reto.Imprimir(); } else { Console.WriteLine("Reto no encontrado\n"); } break; case "3": Console.Write("Introduce un nivel de dificultad: "); if (Int32.TryParse(Console.ReadLine(), out int dificultad) && Reto.DificultadValida(dificultad)) { catalogo.ListarPorDificultad(dificultad); } else { Console.WriteLine("Debe introducir una dificultad válida\n"); } break; case "4": Console.Write("Introduce un nickname de usuario: "); string nickname = Console.ReadLine(); if (Usuario.CountByNickName(usuarios, nickname)) { reto = catalogo.PedirReto(); if (null != reto) { usuarios.FirstOrDefault(x => x.GetNickName().Equals(nickname)).SetRetoResuelto(reto); Console.WriteLine("Reto añadido correctamente al usuario: {0}\n", nickname); } else { Console.WriteLine("Reto no encontrado\n"); } } else { Console.WriteLine("Usuario no encontrado\n"); } break; } } while (menu != "1"); foreach (Usuario usuario in usuarios) { usuario.Imprimir(); } Console.ReadKey(); }
public void SetRetoResuelto(Reto reto) { retos_resueltos.Add(reto); }