Ejemplo n.º 1
0
        public void CrearNuevasPartidas()
        {
            List <Partida> partidas         = new List <Partida>();
            var            equipo_torneos   = db.Equipo_Torneo.Where(e => e.id_torneo == TorneoModificar.id_torneo);
            long           id_equipo_torneo = 0;
            List <Equipo>  equipos          = new List <Equipo>();

            foreach (var equipo_torneo in equipo_torneos)
            {
                id_equipo_torneo = equipo_torneo.id_E_T;
                equipos.Add(db.Equipo.FirstOrDefault(e => e.id_equipo == equipo_torneo.id_equipo));
                var equipo_t_ps = db.Equipo_T_P.Where(e => e.id_E_T == equipo_torneo.id_E_T);
                foreach (var equipo_t_p in equipo_t_ps)
                {
                    Partida party = db.Partida.FirstOrDefault(e => e.id_partida == equipo_t_p.id_partida);
                    partidas.Add(party);
                }
            }// aqui ya tengo las partidas que se an ganado
            for (int i = 0; i < partidas.Count(); i += 2)
            {
                var partida1 = partidas[i];
                var partida2 = partidas[i + 1];
                // pimero obtengo los dos id de los ganadores (jugadores)
                var id1 = partida1.id_ganador;
                var id2 = partida2.id_ganador;
                //aqui ya tengo lista de equipos
                long id_equipo1       = 0;
                long id_equipo2       = 0;
                long id_equipoTorneo1 = 0;
                long id_equipoTorneo2 = 0;
                foreach (var item in equipos)// esto hago para obtener los dos id de mis equipos
                {
                    var id_equipo         = item.id_equipo;
                    var equipos_jugadores = db.Equipo_Jugador.Where(e => e.id_equipo == id_equipo);
                    foreach (var item2 in equipos_jugadores)
                    {
                        if (item2.id_usuario == id1)
                        {
                            id_equipo1       = id_equipo;
                            id_equipoTorneo1 = db.Equipo_Torneo.FirstOrDefault(e => e.id_equipo == id_equipo1 && e.id_torneo == TorneoModificar.id_torneo).id_E_T;
                        }
                        else if (item2.id_usuario == id2)
                        {
                            id_equipo2       = id_equipo;
                            id_equipoTorneo2 = db.Equipo_Torneo.FirstOrDefault(e => e.id_equipo == id_equipo2 && e.id_torneo == TorneoModificar.id_torneo).id_E_T;
                        }
                    }
                }
                // ahora que tengo toda la información necesaria hare las partidas
                Ronda nueva = new Ronda
                {
                    id_equipo1 = id_equipo1,
                    id_equipo2 = id_equipo2,
                    puntos1    = 0,
                    puntos2    = 0,
                    noRonda    = UltimaRondaJugada.noRonda + 1,
                    id_torneo  = TorneoModificar.id_torneo
                };
                db.Ronda.Add(nueva);
                db.SaveChanges();
                Partida partida = new Partida
                {
                    id_ganador      = "",
                    id_tipo_partida = 1003,
                    Tipo_Partida    = db.Tipo_Partida.Find(1003)
                };
                db.Partida.Add(partida);
                db.SaveChanges();
                Jugador_Partida jugador1 = new Jugador_Partida
                {
                    mov        = 0,
                    id_Usuario = id1,
                    id_Partida = partida.id_partida,
                    Partida    = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida),
                    Jugador    = db.Jugador.FirstOrDefault(e => e.id_usuario == id1)
                };
                Jugador_Partida jugador2 = new Jugador_Partida //
                {
                    mov        = 0,
                    id_Usuario = id2,
                    id_Partida = partida.id_partida,
                    Partida    = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida),
                    Jugador    = db.Jugador.FirstOrDefault(e => e.id_usuario == id2)
                };
                db.Jugador_Partida.Add(jugador1);
                db.Jugador_Partida.Add(jugador2);
                db.SaveChanges();
                Jugador_P_C color1 = new Jugador_P_C
                {
                    id_J_P          = jugador1.id_J_P,
                    id_color        = db.Color.FirstOrDefault(e => e.nombre == "negro").id_color,
                    Color           = db.Color.FirstOrDefault(e => e.nombre == "negro"),
                    Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador1.id_J_P)
                };
                Jugador_P_C color2 = new Jugador_P_C
                {
                    id_J_P          = jugador2.id_J_P,
                    id_color        = db.Color.FirstOrDefault(e => e.nombre == "blanco").id_color,
                    Color           = db.Color.FirstOrDefault(e => e.nombre == "blanco"),
                    Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador2.id_J_P)
                };
                db.Jugador_P_C.Add(color1);
                db.Jugador_P_C.Add(color2);
                db.SaveChanges();
                PartidaModificar = db.Partida.Find(partida.id_partida);
                for (int fila = 0; fila < 8; fila++)
                {
                    for (int columna = 0; columna < 8; columna++)
                    {
                        if (fila == 3 && columna == 3 || fila == 4 && columna == 4)
                        {
                            CrearFicha(fila, columna, "blanco", PartidaModificar.id_partida);
                        }
                        else if (fila == 3 && columna == 4 || fila == 4 && columna == 3)
                        {
                            CrearFicha(fila, columna, "negro", PartidaModificar.id_partida);
                        }
                        else if (fila == 3 && columna == 2 || fila == 2 && columna == 3 || fila == 4 && columna == 5 || fila == 5 && columna == 4)
                        {
                            CrearFicha(fila, columna, "valido", PartidaModificar.id_partida);
                        }
                        else
                        {
                            CrearFicha(fila, columna, "nulo", PartidaModificar.id_partida);
                        }
                    }
                }    // creo mis fichas y se las asigno
                db.Entry(PartidaModificar).State = EntityState.Modified;
                db.SaveChanges();
                Equipo_T_P nuev = new Equipo_T_P
                {
                    id_E_T        = id_equipoTorneo1,
                    id_partida    = partida.id_partida,
                    Partida       = db.Partida.Find(partida.id_partida),
                    Equipo_Torneo = db.Equipo_Torneo.Find(id_equipoTorneo1)
                };
                db.Equipo_T_P.Add(nuev);
                db.SaveChanges();
            }
        }
Ejemplo n.º 2
0
        public ActionResult Empate(string idRonda, string usuario1, string usuario2)
        {
            //crear nueva partida
            long id = Int64.Parse(idRonda);

            UltimaRondaJugada = db.Ronda.Find(id);
            var   id_equipo1    = UltimaRondaJugada.id_equipo1;
            var   id_equipo2    = UltimaRondaJugada.id_equipo2;
            var   equipo_torneo = db.Equipo_Torneo.FirstOrDefault(e => e.id_equipo == id_equipo1 && e.id_torneo == UltimaRondaJugada.id_torneo);
            Ronda nueva         = new Ronda
            {
                id_equipo1 = id_equipo1,
                id_equipo2 = id_equipo2,
                puntos1    = 0,
                puntos2    = 0,
                noRonda    = UltimaRondaJugada.noRonda,
                id_torneo  = UltimaRondaJugada.id_torneo
            };

            db.Ronda.Add(nueva);
            Partida partida = new Partida
            {
                id_ganador      = "",
                id_tipo_partida = 1003,
                Tipo_Partida    = db.Tipo_Partida.Find(1003)
            };

            db.Partida.Add(partida);
            db.SaveChanges();
            var             id_user1 = usuario1;
            var             id_user2 = usuario2;
            Jugador_Partida jugador1 = new Jugador_Partida
            {
                mov        = 0,
                id_Usuario = id_user1,
                id_Partida = partida.id_partida,
                Partida    = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida),
                Jugador    = db.Jugador.FirstOrDefault(e => e.id_usuario == id_user1)
            };
            Jugador_Partida jugador2 = new Jugador_Partida //
            {
                mov        = 0,
                id_Usuario = id_user2,
                id_Partida = partida.id_partida,
                Partida    = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida),
                Jugador    = db.Jugador.FirstOrDefault(e => e.id_usuario == id_user2)
            };

            db.Jugador_Partida.Add(jugador1);
            db.Jugador_Partida.Add(jugador2);
            db.SaveChanges();
            Jugador_P_C color1 = new Jugador_P_C
            {
                id_J_P          = jugador1.id_J_P,
                id_color        = db.Color.FirstOrDefault(e => e.nombre == "negro").id_color,
                Color           = db.Color.FirstOrDefault(e => e.nombre == "negro"),
                Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador1.id_J_P)
            };
            Jugador_P_C color2 = new Jugador_P_C
            {
                id_J_P          = jugador2.id_J_P,
                id_color        = db.Color.FirstOrDefault(e => e.nombre == "blanco").id_color,
                Color           = db.Color.FirstOrDefault(e => e.nombre == "blanco"),
                Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador2.id_J_P)
            };

            db.Jugador_P_C.Add(color1);
            db.Jugador_P_C.Add(color2);
            db.SaveChanges();
            PartidaModificar = db.Partida.Find(partida.id_partida);
            for (int fila = 0; fila < 8; fila++)
            {
                for (int columna = 0; columna < 8; columna++)
                {
                    if (fila == 3 && columna == 3 || fila == 4 && columna == 4)
                    {
                        CrearFicha(fila, columna, "blanco", PartidaModificar.id_partida);
                    }
                    else if (fila == 3 && columna == 4 || fila == 4 && columna == 3)
                    {
                        CrearFicha(fila, columna, "negro", PartidaModificar.id_partida);
                    }
                    else if (fila == 3 && columna == 2 || fila == 2 && columna == 3 || fila == 4 && columna == 5 || fila == 5 && columna == 4)
                    {
                        CrearFicha(fila, columna, "valido", PartidaModificar.id_partida);
                    }
                    else
                    {
                        CrearFicha(fila, columna, "nulo", PartidaModificar.id_partida);
                    }
                }
            }    // creo mis fichas y se las asigno
            db.Entry(PartidaModificar).State = EntityState.Modified;
            db.SaveChanges();
            Equipo_T_P nuev = new Equipo_T_P
            {
                id_E_T        = equipo_torneo.id_E_T,
                id_partida    = partida.id_partida,
                Partida       = db.Partida.Find(partida.id_partida),
                Equipo_Torneo = db.Equipo_Torneo.Find(equipo_torneo.id_E_T)
            };

            db.Equipo_T_P.Add(nuev);
            db.SaveChanges();
            return(RedirectToAction("Jugar", new { id = UltimaRondaJugada.id_torneo, Message = "Se ha creado una nueva partida por empate de puntos" }));
        }
Ejemplo n.º 3
0
        public void crearPartidas(long id)
        {
            // se crearan las partidas del torneo
            List <Equipo_Torneo> equipo_torneo = db.Equipo_Torneo.Where(e => e.id_torneo == id).ToList();

            for (int i = 0; i < equipo_torneo.Count(); i += 2)
            {
                var   id_1  = equipo_torneo[i].id_equipo;
                var   id_2  = equipo_torneo[i + 1].id_equipo;
                Ronda nueva = new Ronda
                {
                    id_equipo1 = id_1,
                    id_equipo2 = id_2,
                    puntos1    = 0,
                    puntos2    = 0,
                    noRonda    = 1,
                    id_torneo  = id
                };
                db.Ronda.Add(nueva);
                db.SaveChanges();
                List <Equipo_Jugador> jugadores1 = db.Equipo_Jugador.Where(e => e.id_equipo == id_1).ToList();
                List <Equipo_Jugador> jugadores2 = db.Equipo_Jugador.Where(e => e.id_equipo == id_2).ToList();
                for (int j = 0; j < jugadores1.Count(); j++)
                {
                    Partida partida = new Partida
                    {
                        id_ganador      = "",
                        id_tipo_partida = 1003,
                        Tipo_Partida    = db.Tipo_Partida.Find(1003)
                    };
                    db.Partida.Add(partida);
                    db.SaveChanges();
                    var             id_user1 = jugadores1[j].id_usuario;
                    var             id_user2 = jugadores2[j].id_usuario;
                    Jugador_Partida jugador1 = new Jugador_Partida
                    {
                        mov        = 0,
                        id_Usuario = id_user1,
                        id_Partida = partida.id_partida,
                        Partida    = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida),
                        Jugador    = db.Jugador.FirstOrDefault(e => e.id_usuario == id_user1)
                    };
                    Jugador_Partida jugador2 = new Jugador_Partida //
                    {
                        mov        = 0,
                        id_Usuario = id_user2,
                        id_Partida = partida.id_partida,
                        Partida    = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida),
                        Jugador    = db.Jugador.FirstOrDefault(e => e.id_usuario == id_user2)
                    };
                    db.Jugador_Partida.Add(jugador1);
                    db.Jugador_Partida.Add(jugador2);
                    db.SaveChanges();
                    Jugador_P_C color1 = new Jugador_P_C
                    {
                        id_J_P          = jugador1.id_J_P,
                        id_color        = db.Color.FirstOrDefault(e => e.nombre == "negro").id_color,
                        Color           = db.Color.FirstOrDefault(e => e.nombre == "negro"),
                        Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador1.id_J_P)
                    };
                    Jugador_P_C color2 = new Jugador_P_C
                    {
                        id_J_P          = jugador2.id_J_P,
                        id_color        = db.Color.FirstOrDefault(e => e.nombre == "blanco").id_color,
                        Color           = db.Color.FirstOrDefault(e => e.nombre == "blanco"),
                        Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador2.id_J_P)
                    };
                    db.Jugador_P_C.Add(color1);
                    db.Jugador_P_C.Add(color2);
                    db.SaveChanges();
                    PartidaModificar = db.Partida.Find(partida.id_partida);
                    for (int fila = 0; fila < 8; fila++)
                    {
                        for (int columna = 0; columna < 8; columna++)
                        {
                            if (fila == 3 && columna == 3 || fila == 4 && columna == 4)
                            {
                                CrearFicha(fila, columna, "blanco", PartidaModificar.id_partida);
                            }
                            else if (fila == 3 && columna == 4 || fila == 4 && columna == 3)
                            {
                                CrearFicha(fila, columna, "negro", PartidaModificar.id_partida);
                            }
                            else if (fila == 3 && columna == 2 || fila == 2 && columna == 3 || fila == 4 && columna == 5 || fila == 5 && columna == 4)
                            {
                                CrearFicha(fila, columna, "valido", PartidaModificar.id_partida);
                            }
                            else
                            {
                                CrearFicha(fila, columna, "nulo", PartidaModificar.id_partida);
                            }
                        }
                    }    // creo mis fichas y se las asigno
                    db.Entry(PartidaModificar).State = EntityState.Modified;
                    db.SaveChanges();
                    Equipo_T_P nuev = new Equipo_T_P
                    {
                        id_E_T        = equipo_torneo[i].id_E_T,
                        id_partida    = partida.id_partida,
                        Partida       = db.Partida.Find(partida.id_partida),
                        Equipo_Torneo = db.Equipo_Torneo.Find(equipo_torneo[i].id_E_T)
                    };
                    db.Equipo_T_P.Add(nuev);
                    db.SaveChanges();
                }
            }
        }
Ejemplo n.º 4
0
        public ActionResult Cpu(string color)
        {
            //limpio base de datos
            var metodo = new JugadorController();

            metodo.LimpiarBaseDeDatos();
            //termino de limpiar partidas que no contengan un ganador
            using (db)
            {
                Partida partida = new Partida
                {
                    id_ganador      = "",
                    id_tipo_partida = 1004,
                    Tipo_Partida    = db.Tipo_Partida.Find(1004)
                };
                db.Partida.Add(partida);
                db.SaveChanges();
                Jugador_Partida jugador1 = new Jugador_Partida {
                    mov        = 0,
                    id_Usuario = User.Identity.Name,
                    id_Partida = partida.id_partida,
                    Partida    = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida),
                    Jugador    = db.Jugador.FirstOrDefault(e => e.id_usuario == User.Identity.Name)
                };
                Jugador_Partida jugador2 = new Jugador_Partida //SIEMPRE SERA EL CPU en tipo de partida contra cpu
                {
                    mov        = 0,
                    id_Usuario = "CPU",
                    id_Partida = partida.id_partida,
                    Partida    = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida),
                    Jugador    = db.Jugador.FirstOrDefault(e => e.id_usuario == "CPU")
                };
                db.Jugador_Partida.Add(jugador1);
                db.Jugador_Partida.Add(jugador2);
                db.SaveChanges();
                Jugador_P_C color1 = new Jugador_P_C
                {
                    id_J_P          = jugador1.id_J_P,
                    id_color        = db.Color.FirstOrDefault(e => e.nombre == color).id_color,
                    Color           = db.Color.FirstOrDefault(e => e.nombre == color),
                    Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador1.id_J_P)
                };
                if (color == "negro")
                {
                    color = "blanco";
                }
                else
                {
                    color = "negro";
                }
                Jugador_P_C color2 = new Jugador_P_C
                {
                    id_J_P          = jugador2.id_J_P,
                    id_color        = db.Color.FirstOrDefault(e => e.nombre == color).id_color,
                    Color           = db.Color.FirstOrDefault(e => e.nombre == color),
                    Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador2.id_J_P)
                };
                db.Jugador_P_C.Add(color1);
                db.Jugador_P_C.Add(color2);
                db.SaveChanges();
                PartidaModificar = db.Partida.Find(partida.id_partida);
                for (int fila = 0; fila < 8; fila++)
                {
                    for (int columna = 0; columna < 8; columna++)
                    {
                        if (fila == 3 && columna == 3 || fila == 4 && columna == 4)
                        {
                            CrearFicha(fila, columna, "blanco", PartidaModificar.id_partida);
                        }
                        else if (fila == 3 && columna == 4 || fila == 4 && columna == 3)
                        {
                            CrearFicha(fila, columna, "negro", PartidaModificar.id_partida);
                        }
                        else if (fila == 3 && columna == 2 || fila == 2 && columna == 3 || fila == 4 && columna == 5 || fila == 5 && columna == 4)
                        {
                            CrearFicha(fila, columna, "valido", PartidaModificar.id_partida);
                        }
                        else
                        {
                            CrearFicha(fila, columna, "nulo", PartidaModificar.id_partida);
                        }
                    }
                }    // creo mis fichas y se las asigno

                db.Entry(PartidaModificar).State = EntityState.Modified;
                db.SaveChanges();
                ViewBag.turno = "negro";
                //datos del jugador 1
                ViewBag.jugador1 = jugador1.Jugador.nombres;
                ViewBag.mov1     = jugador1.mov;
                ViewBag.color1   = color1.Color.nombre;
                ViewBag.cant_F1  = db.Ficha.Where(e => e.Color.nombre == color1.Color.nombre).Count();
                //datos del jugador 2
                ViewBag.jugador2 = jugador2.Jugador.nombres;
                ViewBag.mov2     = jugador2.mov;
                ViewBag.color2   = color2.Color.nombre;
                ViewBag.cant_F2  = db.Ficha.Where(e => e.Color.nombre == color2.Color.nombre).Count();
                return(View(PartidaModificar));
            }
        }