Ejemplo n.º 1
0
        /// <summary>
        /// Ordena a los jugadores en una cola priorizando al primer jugador y los demas de
        /// forma aleatoria
        /// </summary>
        /// <returns>Una cola con los jugadores ordenados para iniciar el juego</returns>
        public Queue <Jugador> ObtenerOrdenJugadores()
        {
            Queue <Jugador> jugadoresOrdenados = new Queue <Jugador>();
            var             jugador            = ElegirJugadorInicial();

            jugadoresOrdenados.Enqueue(jugador);
            Jugadores.Remove(jugador);
            while (Jugadores.Count > 0)
            {
                jugador = Jugadores[aleatorio.Next(Jugadores.Count)];
                jugadoresOrdenados.Enqueue(jugador);
                Jugadores.Remove(jugador);
            }
            return(jugadoresOrdenados);
        }
Ejemplo n.º 2
0
 public void ExpulsarJugador(string name)
 {
     try
     {
         Jugador jugadorExpulsado = Jugadores.First(j => j.Nombre == name);
         TarjetasRojas++;
         Jugadores.Remove(jugadorExpulsado);
         if (TarjetasRojas >= 5)
         {
             LoseForWException ex = new LoseForWException(Seleccion.Nombre);
             ex.NombreEquipo = Seleccion.Nombre;
             throw ex;
         }
         Console.WriteLine($"El jugador {jugadorExpulsado.Nombre} fue expulsado");
     }
     catch (InvalidOperationException)
     {
         Console.WriteLine("No existe ese jugador para expulsarlo del equipo " + Seleccion.Nombre);
     }
 }
        public Gestionar_Jugadores()
        {
            Console.Clear();
            if (Jugadores.Count >= 1 && Contador >= 1)
            {
                do
                {
                    Console.WriteLine("MENÚ:\n1. Crear jugadores\n2. Eliminar jugadores\n3. Asignar Equipo\n4. Quitar jugador");
                    opcion = Convert.ToInt32(Console.ReadLine());
                } while (opcion < 1 || opcion > 4);
            }
            else
            {
                do
                {
                    Console.Clear();
                    Console.WriteLine("MENÚ:\n1. Crear jugadores");
                    opcion = Convert.ToInt32(Console.ReadLine());
                } while (opcion != 1);
            }
            if (opcion == 1)
            {
                Console.Clear();
                //Comprobar existencia del Jugador en la lista
                do
                {
Agregar:
                    Console.WriteLine("Nombre: ");
                    Nombre_jugador = Console.ReadLine();
                    resultado      = Regex.IsMatch(Nombre_jugador, @"[a-zA-Z]");
                    if (Jugadores.Contains(Nombre_jugador.ToUpper()))
                    {
                        Console.WriteLine("{0} ya existe en la lista de Jugadores");
                        goto Agregar;
                    }
                } while (resultado == false);
                //Añadir jugador a la lista "Jugadores"
                Jugadores.Add(Nombre_jugador.ToUpper());
                //Crear Archivo Binario con Nombre de nuevo jugador
                Players = new FileStream($"{Nombre_jugador.ToUpper()}.dat", FileMode.Create, FileAccess.Write);
                btp     = new BinaryWriter(Players);
                do
                {
                    Console.WriteLine("Posición de {0}: ", Nombre_jugador);
                    posicion  = Console.ReadLine();
                    resultado = Regex.IsMatch(posicion, @"[a-zA-Z]");
                } while (resultado == false);
Again:
                try
                {
                    Console.WriteLine("Cantidad de goles de {0}: ", Nombre_jugador);
                    cantidad = Convert.ToInt32(Console.ReadLine());
                }
                catch (Exception)
                {
                    Console.WriteLine("Ingresar solo números");
                    Console.ReadKey();
                    goto Again;
                }
                btp.Write(Nombre_jugador.ToUpper());
                btp.Write(posicion.ToUpper());
                btp.Write(cantidad);
                Players.Close();
                btp.Close();
            }
            if (opcion == 2)
            {
                do
                {
Pregunta:
                    Console.WriteLine("Ingrese el nombre del jugador a eliminar:");
                    Nombre_jugador = Console.ReadLine();
                    resultado      = Regex.IsMatch(Nombre_jugador, @"[a-zA-Z]");
                    if (Jugadores.Contains(Nombre_jugador))
                    {
                        Jugadores.Remove(Nombre_jugador);
                        File.Delete($"{Nombre_jugador.ToUpper()}.dat");
                    }
                    else
                    {
                        Console.WriteLine("El jugador ingresado NO EXISTE");
                        goto Pregunta;
                    }
                } while (resultado == false);
            }
            if (opcion == 3)
            {
                Console.Clear();
                // Comprobar si jugador existe
                do
                {
Jugador:
                    Console.Clear();
                    Console.WriteLine("Elija el jugador:");
                    Nombre_jugador = Console.ReadLine();
                    resultado      = Regex.IsMatch(Nombre_jugador, @"[a-zA-Z]");
                    if (Jugadores.Contains(Nombre_jugador.ToUpper()))
                    {
                        resultado = true;
                    }
                    else
                    {
                        Console.WriteLine("El Jugador ingresado NO EXISTE");
                        goto Jugador;
                    }
                } while (resultado == false);
                //Comprobar si equipo existe
                do
                {
Equipo:
                    Console.Clear();
                    Console.WriteLine("Elija el equipo para {0}", Nombre_jugador);
                    Nombre_equipo = Console.ReadLine();
                    resultado     = Regex.IsMatch(Nombre_jugador, @"[a-zA-Z]");

                    if (Equipos.Contains(Nombre_equipo.ToUpper()))
                    {
                        foreach (string objeto in Equipos)
                        {
                            //Añadiendo Jugadores al Equipo Correspondiente
                            if (objeto.ToUpper().Equals(Nombre_equipo.ToUpper()))
                            {
                                Team = new StreamWriter($"{objeto.ToUpper()}.txt", true);
                                Team.WriteLine(Nombre_jugador.ToUpper());
                                Team.Close();
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("El equipo ingresado NO EXISTE");
                        goto Equipo;
                    }
                } while (resultado == false);
            }
        }