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(); }
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; }
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; }