コード例 #1
0
        public bool NuevoReto(Reto reto)
        {
            if (reto.EsValido())
            {
                catalogo.Add(reto.GetCodigo(), reto);
            }

            return(reto.EsValido());
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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();
        }
コード例 #5
0
 public void SetRetoResuelto(Reto reto)
 {
     retos_resueltos.Add(reto);
 }