Exemplo n.º 1
0
        public static void AsignarTitularesRandom(EquipoPartido eq)
        {
            Random         rand = new Random();
            List <Jugador> jug  = new List <Jugador>();

            eq.Titulares = new List <Jugador>();
            int id;

            //eq.Titulares.Clear();
            foreach (Jugador juga in eq.equipo.Jugadores)
            {
                if (juga.posicion == "Arquero")
                {
                    jug.Add(juga);
                }
            }
            id = rand.Next(0, jug.Count - 1);
            eq.Titulares.Add(jug[id]);
            jug.Clear();

            foreach (Jugador juga in eq.equipo.Jugadores)
            {
                if (juga.posicion == "Defensor")
                {
                    jug.Add(juga);
                }
            }
            for (int i = 0; i < 4; i++)
            {
                id = rand.Next(0, jug.Count - 1);
                eq.Titulares.Add(jug[id]);
                jug.Remove(jug[id]);
            }
            jug.Clear();

            foreach (Jugador juga in eq.equipo.Jugadores)
            {
                if (juga.posicion == "Mediocampista")
                {
                    jug.Add(juga);
                }
            }
            for (int i = 0; i < 4; i++)
            {
                id = rand.Next(0, jug.Count - 1);
                eq.Titulares.Add(jug[id]);
                jug.Remove(jug[id]);
            }
            jug.Clear();

            foreach (Jugador juga in eq.equipo.Jugadores)
            {
                if (juga.posicion == "Delantero")
                {
                    jug.Add(juga);
                }
            }
            for (int i = 0; i < 2; i++)
            {
                id = rand.Next(0, jug.Count - 1);
                eq.Titulares.Add(jug[id]);
                jug.Remove(jug[id]);
            }
            jug.Clear();
        }
Exemplo n.º 2
0
        public static void AsignarGol(Random ran, int PosRandom, ref string goleador, EquipoPartido equipo)
        {
            List <Jugador> jug = new List <Jugador>();

            jug.Clear();
            PosRandom = ran.Next(0, 100);
            if (PosRandom <= 1)
            {
                foreach (Jugador juga in equipo.Titulares)
                {
                    if (juga.posicion == "Arquero")
                    {
                        jug.Add(juga);
                    }
                }
            }

            if (PosRandom >= 2 && PosRandom <= 15)
            {
                foreach (Jugador juga in equipo.Titulares)
                {
                    if (juga.posicion == "Defensor")
                    {
                        jug.Add(juga);
                    }
                }
            }

            if (PosRandom >= 16 && PosRandom <= 45)
            {
                foreach (Jugador juga in equipo.Titulares)
                {
                    if (juga.posicion == "Mediocampista")
                    {
                        jug.Add(juga);
                    }
                }
            }


            if (PosRandom >= 46 && PosRandom <= 100)
            {
                foreach (Jugador juga in equipo.Titulares)
                {
                    if (juga.posicion == "Delantero")
                    {
                        jug.Add(juga);
                    }
                }
            }
            PosRandom = ran.Next(0, jug.Count());
            goleador  = jug[PosRandom].nombre + " " + jug[PosRandom].apellido;
        }
Exemplo n.º 3
0
        private void BTNJugar_Click_1(object sender, EventArgs e)
        {
            Equipo Loc = new Equipo();
            Equipo Vis = new Equipo();

            Loc = (Equipo)comboBox1.SelectedItem;
            Vis = (Equipo)comboBox2.SelectedItem;
            EquipoPartido Local     = new EquipoPartido();
            EquipoPartido Visitante = new EquipoPartido();

            Local.equipo     = Loc;
            Visitante.equipo = Vis;
            Local.Titulares  = Equipopart;
            EquipoPartido.AsignarTitularesRandom(Visitante);
            if (Local.equipo.nombre == Visitante.equipo.nombre || Local.equipo.nombre == "" || Visitante.equipo.nombre == "")
            {
                MessageBox.Show("Por favor ingrese correctamente los equipos");
            }
            else
            {
                if (Local.Titulares.Count != 11)
                {
                    EquipoPartido.AsignarTitularesRandom(Local);
                    MessageBox.Show("Al no poner 11 titulares, irá con formación al azar");
                }
                string formacion = "";
                foreach (Jugador j in Local.Titulares)
                {
                    formacion += j.apellido + ", ";
                }
                string formacion2 = "";
                foreach (Jugador j in Visitante.Titulares)
                {
                    formacion2 += j.apellido + ", ";
                }
                MessageBox.Show("Titulares de " + Local.equipo.nombre + ":" + Environment.NewLine + formacion + Environment.NewLine + "Titulares de " + Visitante.equipo.nombre + ":" + Environment.NewLine + formacion2);
                int    gol1            = 0;
                int    gol2            = 0;
                int    num1            = 0;
                int    num2            = 0;
                int    fuerzalocal     = Local.fuerza;
                int    fuerzavisitante = Visitante.fuerza;
                int    periodo         = 0;
                int    golanterior     = 0;
                int    golanterior2    = 0;
                int    IDgol           = 0;
                string goleador        = "";
                for (int i = 0; i < 6; i++)
                {
                    periodo++;
                    Estado.CalcularFuerza(ref num1, ref num2, rand, fuerzalocal, fuerzavisitante);
                    Gol.CalcularGoles(num1, num2, rand, ref gol1, ref gol2);
                    //timer1.Start();
                    if (gol1 != golanterior)
                    {
                        for (int l = 0; l < gol1 - golanterior; l++)
                        {
                            Gol.AsignarGol(rand, IDgol, ref goleador, Local);
                            Gol.AsignarMinuto(periodo, ref minutogol);
                            this.dgvLocal.Rows.Add(goleador, Convert.ToString(minutogol) + "'");
                            IDgol    = 0;
                            goleador = "";
                        }
                    }
                    if (gol2 != golanterior2)
                    {
                        for (int m = 0; m < gol2 - golanterior2; m++)
                        {
                            Gol.AsignarGol(rand, IDgol, ref goleador, Visitante);
                            Gol.AsignarMinuto(periodo, ref minutogol);
                            this.dgvVisitante.Rows.Add(goleador, Convert.ToString(minutogol) + "'");
                            IDgol    = 0;
                            goleador = "";
                        }
                    }
                    tiempopart     += Settings.Default.MinutoPeriodo;
                    lblminutos.Text = Convert.ToString(tiempopart) + "'";
                    lblgolloc.Text  = Convert.ToString(gol1);
                    lblgolvis.Text  = Convert.ToString(gol2);
                    golanterior     = gol1;
                    golanterior2    = gol2;
                    MessageBox.Show("Avanzar");
                    Thread.Sleep(200);
                }
            }
            int amarillas          = 0;
            int rojas              = 0;
            int amarillaslocal     = 0;
            int rojaslocal         = 0;
            int amarillasvisitante = 0;
            int rojasvisitante     = 0;

            Tarjeta.AsignacionTarjetas(rand, amarillas, rojas, ref amarillaslocal, ref amarillasvisitante, ref rojaslocal, ref rojasvisitante);
            MessageBox.Show("Cantidad de amarillas del local: " + amarillaslocal + Environment.NewLine + "Cantidad de rojas del local: " + rojaslocal);
            MessageBox.Show("Cantidad de amarillas del visitante: " + amarillasvisitante + Environment.NewLine + "Cantidad de rojas del visitante: " + rojasvisitante);
            //dgvLocal.Sort(dgvLocal.Columns(1), ListSortDirection.Ascending);
            BTNJugar.Enabled = false;
        }