Beispiel #1
0
        public string CreateGuerrilla(guerrilla guerrillaDTO, string name)
        {
            try
            {
                Guerrilla guerrilla = new Guerrilla();
                guerrilla.Name      = guerrillaDTO.guerrillaName;
                guerrilla.Email     = guerrillaDTO.email;
                guerrilla.Faction   = guerrillaDTO.faction;
                guerrilla.Rank      = 0;
                guerrilla.Timestamp = 0;
                guerrilla.Available = true;
                _context.Guerrilla.Add(guerrilla);
                GuerrillaResources oil = new GuerrillaResources {
                    Guerrilla = guerrilla.Name, Quantity = 0, Resource = _oil
                };
                GuerrillaResources money = new GuerrillaResources {
                    Guerrilla = guerrilla.Name, Quantity = 0, Resource = _money
                };
                GuerrillaResources people = new GuerrillaResources {
                    Guerrilla = guerrilla.Name, Quantity = 0, Resource = _people
                };
                _context.GuerrillaResources.Add(oil);
                _context.GuerrillaResources.Add(money);
                _context.GuerrillaResources.Add(people);

                GuerrillaUnits bunker = new GuerrillaUnits {
                    Guerrilla = guerrilla.Name, Quantity = 0, Unit = _bunker
                };
                GuerrillaUnits assault = new GuerrillaUnits {
                    Guerrilla = guerrilla.Name, Quantity = 0, Unit = _assault
                };
                GuerrillaUnits engineer = new GuerrillaUnits {
                    Guerrilla = guerrilla.Name, Quantity = 0, Unit = _engineer
                };
                GuerrillaUnits tank = new GuerrillaUnits {
                    Guerrilla = guerrilla.Name, Quantity = 0, Unit = _tank
                };
                _context.GuerrillaUnits.Add(bunker);
                _context.GuerrillaUnits.Add(assault);
                _context.GuerrillaUnits.Add(engineer);
                _context.GuerrillaUnits.Add(tank);
                _context.SaveChanges();

                return(GetGuerrillaDTO(guerrilla.Name));
            }
            catch
            {
                throw;
            }
        }
Beispiel #2
0
        public ActionResult Registrarse(FormCollection formCollection)
        {
            ViewBag.Title = "Registrarse";

            try
            {
                Guerrilla guerrilla = new Guerrilla();
                guerrilla.GuerrillaName = formCollection["guerrillaName"];
                guerrilla.Faction       = formCollection["faction"];
                guerrilla.Email         = formCollection["email"];

                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri(IPAdrress);
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                var response = client.PostAsJsonAsync("/guerrilla/" + guerrilla.GuerrillaName, guerrilla).Result;

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(RedirectToActionPermanent("Registrarse"));
            }
        }
Beispiel #3
0
        public Respuesta Sesion([FromBody] Guerrilla guerrilla)
        {
            Respuesta r = new Respuesta();
            string    connectionString = Configuration["ConnectionStrings:DefaultConnection"];

            using (var connection = new SqlConnection(connectionString))
            {
                connection.Open();
                string sql = $"EXEC sp_Verificar '{guerrilla.correo}'";
                using (var command = new SqlCommand(sql, connection))
                {
                    using (var dataReader = command.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            r.Resultado = dataReader["resultado"].ToString();
                        }
                    }
                }
                connection.Close();
            }

            return(r);
        }
Beispiel #4
0
        public string postCrea([FromBody] Guerrilla guerrilla)
        {
            string resultado        = "";
            string connectionString = Configuration["ConnectionStrings:DefaultConnection"];

            using (var connection = new SqlConnection(connectionString))
            {
                connection.Open();
                string sql = $"EXEC sp_registrarGuerrilla '{guerrilla.correo}', '{guerrilla.nombre}', '{guerrilla.faccion}'";
                using (var command = new SqlCommand(sql, connection))
                {
                    using (var dataReader = command.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            resultado = dataReader["resultado"].ToString();
                        }
                    }
                }
                connection.Close();
            }

            return(resultado);
        }
Beispiel #5
0
        public List <Guerrilla> Obtener(string guerrillaName)
        {
            List <Guerrilla> lista            = new List <Guerrilla>();
            string           connectionString = Configuration["ConnectionStrings:DefaultConnection"];

            using (var connection = new SqlConnection(connectionString))
            {
                connection.Open();
                string sql = $"EXEC sp_perfil '{guerrillaName}'";
                using (var command = new SqlCommand(sql, connection))
                {
                    using (var dataReader = command.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            Guerrilla g = new Guerrilla();
                            g.nombre            = dataReader["nombre"].ToString();
                            g.correo            = dataReader["usuario"].ToString();
                            g.faccion           = dataReader["faccion"].ToString();
                            g.Resourcess.People = Convert.ToInt32(dataReader["personas"]);
                            g.Resourcess.Oil    = Convert.ToInt32(dataReader["petroleo"]);
                            g.Resourcess.Money  = Convert.ToInt32(dataReader["dinero"]);
                            g.Army.Assault      = Convert.ToInt32(dataReader["asalto"]);
                            g.Army.Engineer     = Convert.ToInt32(dataReader["ingenieros"]);
                            g.Army.Tank         = Convert.ToInt32(dataReader["tanques"]);
                            g.Buuildings.Bunker = Convert.ToInt32(dataReader["bunker"]);

                            lista.Add(g);
                        }
                    }
                }
                connection.Close();
            }

            return(lista);
        }
Beispiel #6
0
        public string attack(string guerrillaName, string guerrillaSrc)
        {
            Guerrilla guerrillaS = _context.Guerrilla.Where(g => g.Name.Equals(guerrillaSrc)).Single();
            Guerrilla guerrillaT = _context.Guerrilla.Where(g => g.Name.Equals(guerrillaName)).Single();

            if (guerrillaS.Available && guerrillaT.Available)
            {
                guerrillaS.Available = false;
                guerrillaT.Available = false;
                _context.Update(guerrillaS);
                _context.Update(guerrillaT);
                _context.SaveChanges();
                List <GuerrillaResources> guerrillaSrcResources = _context.GuerrillaResources.Where(g => g.Guerrilla.Equals(guerrillaSrc)).ToList();
                List <GuerrillaResources> guerrillaTgtResources = _context.GuerrillaResources.Where(g => g.Guerrilla.Equals(guerrillaName)).ToList();
                List <GuerrillaUnits>     guerrillaSrcUnits     = _context.GuerrillaUnits.Where(g => g.Guerrilla.Equals(guerrillaSrc)).ToList();
                List <GuerrillaUnits>     guerrillaTgtUnits     = _context.GuerrillaUnits.Where(g => g.Guerrilla.Equals(guerrillaName)).ToList();
                List <Unit> units   = _context.Unit.ToList();
                Team        teamSrc = new Team();
                Team        teamTgt = new Team();

                teamSrc.GUERRILLA = guerrillaSrc;
                teamSrc.LOSSES    = new losses();
                teamSrc.LOOT      = new loot();
                teamTgt.GUERRILLA = guerrillaName;
                teamTgt.LOSSES    = new losses();

                teamSrc.ASSAULT  = guerrillaSrcUnits.Where(g => g.Unit.Equals(_assault)).Single().Quantity;
                teamSrc.ENGINEER = guerrillaSrcUnits.Where(g => g.Unit.Equals(_engineer)).Single().Quantity;
                teamSrc.TANK     = guerrillaSrcUnits.Where(g => g.Unit.Equals(_tank)).Single().Quantity;
                teamSrc.BUNKER   = guerrillaSrcUnits.Where(g => g.Unit.Equals(_bunker)).Single().Quantity;

                teamSrc.OFFENSE = teamSrc.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Offense)
                                  + teamSrc.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Offense)
                                  + teamSrc.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Offense);

                teamSrc.DEFENSE = teamSrc.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Defense)
                                  + teamSrc.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Defense)
                                  + teamSrc.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Defense);

                teamSrc.LOOT_CAP = teamSrc.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Loot)
                                   + teamSrc.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Loot)
                                   + teamSrc.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Loot);

                //===========================================================================

                teamTgt.ASSAULT  = guerrillaTgtUnits.Where(g => g.Unit.Equals(_assault)).Single().Quantity;
                teamTgt.ENGINEER = guerrillaTgtUnits.Where(g => g.Unit.Equals(_engineer)).Single().Quantity;
                teamTgt.TANK     = guerrillaTgtUnits.Where(g => g.Unit.Equals(_tank)).Single().Quantity;
                teamTgt.BUNKER   = guerrillaTgtUnits.Where(g => g.Unit.Equals(_bunker)).Single().Quantity;

                teamTgt.OFFENSE = teamTgt.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Offense)
                                  + teamTgt.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Offense)
                                  + teamTgt.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Offense);

                teamTgt.DEFENSE = teamTgt.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Defense)
                                  + teamTgt.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Defense)
                                  + teamTgt.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Defense)
                                  + teamTgt.BUNKER * (units.Where(u => u.Name.Equals(_bunker)).Single().Defense);

                teamTgt.DI = ((float)teamTgt.DEFENSE / ((float)teamTgt.DEFENSE + (float)teamSrc.OFFENSE)) + (0.1f);
                teamSrc.AI = ((float)teamSrc.OFFENSE / ((float)teamTgt.DEFENSE + (float)teamSrc.OFFENSE)) + (0.1f);

                //==============================================================================
                teamSrc.LOSSES.ASSAULT = (int)Math.Floor((teamTgt.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Assault)
                                                          + teamTgt.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Assault)
                                                          + teamTgt.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Assault)
                                                          + teamTgt.BUNKER * (units.Where(u => u.Name.Equals(_bunker)).Single().Assault)) * teamTgt.DI);

                teamSrc.LOSSES.ENGINEER = (int)Math.Floor((teamTgt.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Engineer)
                                                           + teamTgt.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Engineer)
                                                           + teamTgt.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Engineer)
                                                           + teamTgt.BUNKER * (units.Where(u => u.Name.Equals(_bunker)).Single().Engineer)) * teamTgt.DI);

                teamSrc.LOSSES.TANK = (int)Math.Floor((teamTgt.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Tank)
                                                       + teamTgt.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Tank)
                                                       + teamTgt.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Tank)
                                                       + teamTgt.BUNKER * (units.Where(u => u.Name.Equals(_bunker)).Single().Tank)) * teamTgt.DI);

                //====================================================================

                teamTgt.LOSSES.ASSAULT = (int)Math.Floor((teamSrc.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Assault)
                                                          + teamSrc.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Assault)
                                                          + teamSrc.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Assault)
                                                          + teamSrc.BUNKER * (units.Where(u => u.Name.Equals(_bunker)).Single().Assault)) * teamSrc.AI);

                teamTgt.LOSSES.ENGINEER = (int)Math.Floor((teamSrc.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Engineer)
                                                           + teamSrc.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Engineer)
                                                           + teamSrc.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Engineer)
                                                           + teamSrc.BUNKER * (units.Where(u => u.Name.Equals(_bunker)).Single().Engineer)) * teamSrc.AI);

                teamTgt.LOSSES.TANK = (int)Math.Floor((teamSrc.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Tank)
                                                       + teamSrc.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Tank)
                                                       + teamSrc.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Tank)
                                                       + teamSrc.BUNKER * (units.Where(u => u.Name.Equals(_bunker)).Single().Tank)) * teamSrc.AI);

                teamTgt.LOSSES.BUNKER = (int)Math.Floor((teamSrc.ASSAULT * (units.Where(u => u.Name.Equals(_assault)).Single().Bunker)
                                                         + teamSrc.ENGINEER * (units.Where(u => u.Name.Equals(_engineer)).Single().Bunker)
                                                         + teamSrc.TANK * (units.Where(u => u.Name.Equals(_tank)).Single().Bunker)
                                                         + teamSrc.BUNKER * (units.Where(u => u.Name.Equals(_bunker)).Single().Bunker)) * teamSrc.AI);

                var rand = new Random();
                teamSrc.LOOT.MONEY = (int)Math.Round(teamSrc.LOOT_CAP * rand.NextDouble());
                teamSrc.LOOT.OIL   = (int)Math.Round(teamSrc.LOOT_CAP - teamSrc.LOOT.MONEY);

                guerrillaTgtResources.Where(r => r.Resource.Equals(_oil)).Single().Quantity   -= teamSrc.LOOT.OIL;
                guerrillaTgtResources.Where(r => r.Resource.Equals(_money)).Single().Quantity -= teamSrc.LOOT.MONEY;
                guerrillaSrcResources.Where(r => r.Resource.Equals(_oil)).Single().Quantity   += teamSrc.LOOT.OIL;
                guerrillaSrcResources.Where(r => r.Resource.Equals(_money)).Single().Quantity += teamSrc.LOOT.MONEY;

                if (guerrillaTgtResources.Where(r => r.Resource.Equals(_oil)).Single().Quantity < 0)
                {
                    guerrillaTgtResources.Where(r => r.Resource.Equals(_oil)).Single().Quantity = 0;
                }
                if (guerrillaTgtResources.Where(r => r.Resource.Equals(_money)).Single().Quantity < 0)
                {
                    guerrillaTgtResources.Where(r => r.Resource.Equals(_money)).Single().Quantity = 0;
                }

                _context.GuerrillaResources.Update(guerrillaTgtResources.Where(r => r.Resource.Equals(_oil)).Single());
                _context.GuerrillaResources.Update(guerrillaTgtResources.Where(r => r.Resource.Equals(_money)).Single());
                _context.GuerrillaResources.Update(guerrillaSrcResources.Where(r => r.Resource.Equals(_oil)).Single());
                _context.GuerrillaResources.Update(guerrillaSrcResources.Where(r => r.Resource.Equals(_money)).Single());

                guerrillaSrcUnits.Where(u => u.Unit.Equals(_assault)).Single().Quantity  -= teamSrc.LOSSES.ASSAULT;
                guerrillaSrcUnits.Where(u => u.Unit.Equals(_engineer)).Single().Quantity -= teamSrc.LOSSES.ENGINEER;
                guerrillaSrcUnits.Where(u => u.Unit.Equals(_tank)).Single().Quantity     -= teamSrc.LOSSES.TANK;
                guerrillaTgtUnits.Where(u => u.Unit.Equals(_assault)).Single().Quantity  -= teamTgt.LOSSES.ASSAULT;
                guerrillaTgtUnits.Where(u => u.Unit.Equals(_engineer)).Single().Quantity -= teamTgt.LOSSES.ENGINEER;
                guerrillaTgtUnits.Where(u => u.Unit.Equals(_tank)).Single().Quantity     -= teamTgt.LOSSES.TANK;
                guerrillaTgtUnits.Where(u => u.Unit.Equals(_bunker)).Single().Quantity   -= teamTgt.LOSSES.BUNKER;

                if (guerrillaTgtUnits.Where(u => u.Unit.Equals(_assault)).Single().Quantity < 0)
                {
                    guerrillaTgtUnits.Where(u => u.Unit.Equals(_assault)).Single().Quantity = 0;
                }
                if (guerrillaTgtUnits.Where(u => u.Unit.Equals(_engineer)).Single().Quantity < 0)
                {
                    guerrillaTgtUnits.Where(u => u.Unit.Equals(_engineer)).Single().Quantity = 0;
                }
                if (guerrillaTgtUnits.Where(u => u.Unit.Equals(_tank)).Single().Quantity < 0)
                {
                    guerrillaTgtUnits.Where(u => u.Unit.Equals(_tank)).Single().Quantity = 0;
                }
                if (guerrillaTgtUnits.Where(u => u.Unit.Equals(_bunker)).Single().Quantity < 0)
                {
                    guerrillaTgtUnits.Where(u => u.Unit.Equals(_bunker)).Single().Quantity = 0;
                }

                _context.GuerrillaUnits.Update(guerrillaSrcUnits.Where(u => u.Unit.Equals(_assault)).Single());
                _context.GuerrillaUnits.Update(guerrillaSrcUnits.Where(u => u.Unit.Equals(_engineer)).Single());
                _context.GuerrillaUnits.Update(guerrillaSrcUnits.Where(u => u.Unit.Equals(_tank)).Single());
                _context.GuerrillaUnits.Update(guerrillaTgtUnits.Where(u => u.Unit.Equals(_assault)).Single());
                _context.GuerrillaUnits.Update(guerrillaTgtUnits.Where(u => u.Unit.Equals(_engineer)).Single());
                _context.GuerrillaUnits.Update(guerrillaTgtUnits.Where(u => u.Unit.Equals(_tank)).Single());
                _context.GuerrillaUnits.Update(guerrillaTgtUnits.Where(u => u.Unit.Equals(_bunker)).Single());

                _context.SaveChanges();

                guerrillaS.Available = true;
                guerrillaT.Available = true;

                _context.Update(guerrillaS);
                _context.Update(guerrillaT);
                _context.SaveChanges();

                Team[] teams = { teamSrc, teamTgt };
                return(JsonConvert.SerializeObject(teams));
            }
            else
            {
                return("ERROR");
            }
        }
Beispiel #7
0
        public Result attack([FromBody] Guerrilla guerrilla, string guerrillaTarget)
        {
            Guerrilla g1 = new Guerrilla();
            Guerrilla g2 = new Guerrilla();
            string    connectionString = Configuration["ConnectionStrings:DefaultConnection"];

            using (var connection = new SqlConnection(connectionString))
            {
                connection.Open();
                string sql = $"EXEC sp_atacar '{guerrilla.nombre}' ";
                using (var command = new SqlCommand(sql, connection))
                {
                    using (var dataReader = command.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            g1.nombre            = dataReader["nombre"].ToString();
                            g1.correo            = dataReader["usuario"].ToString();
                            g1.faccion           = dataReader["faccion"].ToString();
                            g1.Resourcess.People = Convert.ToInt32(dataReader["personas"]);
                            g1.Resourcess.Oil    = Convert.ToInt32(dataReader["petroleo"]);
                            g1.Resourcess.Money  = Convert.ToInt32(dataReader["dinero"]);
                            g1.Army.Assault      = Convert.ToInt32(dataReader["asalto"]);
                            g1.Army.Engineer     = Convert.ToInt32(dataReader["ingenieros"]);
                            g1.Army.Tank         = Convert.ToInt32(dataReader["tanques"]);
                            g1.Buuildings.Bunker = Convert.ToInt32(dataReader["bunker"]);
                        }
                    }
                }

                sql = $"EXEC sp_atacar '{guerrillaTarget}' ";
                using (var command = new SqlCommand(sql, connection))
                {
                    using (var dataReader = command.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            g2.nombre            = dataReader["nombre"].ToString();
                            g2.correo            = dataReader["usuario"].ToString();
                            g2.faccion           = dataReader["faccion"].ToString();
                            g2.Resourcess.People = Convert.ToInt32(dataReader["personas"]);
                            g2.Resourcess.Oil    = Convert.ToInt32(dataReader["petroleo"]);
                            g2.Resourcess.Money  = Convert.ToInt32(dataReader["dinero"]);
                            g2.Army.Assault      = Convert.ToInt32(dataReader["asalto"]);
                            g2.Army.Engineer     = Convert.ToInt32(dataReader["ingenieros"]);
                            g2.Army.Tank         = Convert.ToInt32(dataReader["tanques"]);
                            g2.Buuildings.Bunker = Convert.ToInt32(dataReader["bunker"]);
                        }
                    }
                }
                connection.Close();
            }

            int OS = (g1.Army.Assault * 80) + (g1.Army.Engineer * 30) + (g1.Army.Tank * 500);
            int DS = (g2.Army.Assault * 20) + (g2.Army.Engineer * 70) + (g2.Army.Tank * 20) + (g2.Buuildings.Bunker * 600);

            string ganador = "Perdió";

            if (OS > DS)
            {
                ganador = "Ganó";
            }

            double AI = (double)((double)OS / ((double)DS + (double)OS)) + (double)0.1;
            double DI = (double)((double)DS / ((double)OS + (double)DS)) + (double)0.1;

            //Perdidas g1
            int cantAsG1 = (int)Math.Floor(((g2.Army.Assault * 0.5) + (g2.Army.Engineer * 0.3) + (g2.Army.Tank * 5) + (g2.Buuildings.Bunker * 5)) * DI);
            int cantEnG1 = (int)Math.Floor(((g2.Army.Assault * 0.8) + (g2.Army.Engineer * 0.5) + (g2.Army.Tank * 5) + (g2.Buuildings.Bunker * 5)) * DI);
            int cantTaG1 = (int)Math.Floor(((g2.Army.Assault * 0.1) + (g2.Army.Engineer * 0.9) + (g2.Army.Tank * 0.6) + (g2.Buuildings.Bunker * 0.9)) * DI);


            //perdidas g2
            int cantAsG2 = (int)Math.Floor(((g1.Army.Assault * 0.5) + (g1.Army.Engineer * 0.3) + (g1.Army.Tank * 5)) * AI);
            int cantEnG2 = (int)Math.Floor(((g1.Army.Assault * 0.8) + (g1.Army.Engineer * 0.5) + (g1.Army.Tank * 5)) * AI);
            int cantTaG2 = (int)Math.Floor(((g1.Army.Assault * 0.1) + (g1.Army.Engineer * 0.9) + (g1.Army.Tank * 0.6)) * AI);
            int cantBuG2 = (int)Math.Floor(((g1.Army.Assault * 0.05) + (g1.Army.Engineer * 0.9) + (g1.Army.Tank * 1)) * AI);

            int loot = (g1.Army.Assault * 25) + (g1.Army.Engineer * 60) + (g1.Army.Tank * 200);


            System.Diagnostics.Debug.WriteLine("OS: " + OS + "\n" + "DS: " + DS);
            System.Diagnostics.Debug.WriteLine("AI: " + AI + "\n" + "DI: " + DI);
            System.Diagnostics.Debug.WriteLine("cantAsG1: " + cantAsG1 + "\n" + "cantEnG1: " + cantEnG1 + "\n" + "cantTaG1: " + cantTaG1);
            System.Diagnostics.Debug.WriteLine("cantAsG2: " + cantAsG2 + "\n" + "cantEnG2: " + cantEnG2 + "\n" + "cantTaG2: " + cantTaG2 + "\n" + "cantBuG2: " + cantBuG2);
            System.Diagnostics.Debug.WriteLine("Loot: " + loot);


            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string sql = $"EXEC sp_actualizarAtacante '{g1.nombre}', '{cantAsG1}', '{cantEnG1}', '{cantTaG1}','{loot}'";
                using (SqlCommand command = new SqlCommand(sql, connection))
                {
                    command.CommandType = CommandType.Text;
                    connection.Open();
                    command.ExecuteNonQuery();
                    connection.Close();
                }
            }

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string sql = $"EXEC sp_actualizarDefensor '{g2.nombre}', '{cantAsG2}', '{cantEnG2}', '{cantTaG2}', '{cantBuG2}', '{loot}'";
                using (SqlCommand command = new SqlCommand(sql, connection))
                {
                    command.CommandType = CommandType.Text;
                    connection.Open();
                    command.ExecuteNonQuery();
                    connection.Close();
                }
            }

            Result r = new Result();

            using (var connection = new SqlConnection(connectionString))
            {
                connection.Open();
                string sql = $"EXEC sp_atacar '{guerrilla.nombre}' ";
                using (var command = new SqlCommand(sql, connection))
                {
                    using (var dataReader = command.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            r.g1.nombre            = dataReader["nombre"].ToString();
                            r.g1.correo            = dataReader["usuario"].ToString();
                            r.g1.faccion           = dataReader["faccion"].ToString();
                            r.g1.Resourcess.People = Convert.ToInt32(dataReader["personas"]);
                            r.g1.Resourcess.Oil    = Convert.ToInt32(dataReader["petroleo"]);
                            r.g1.Resourcess.Money  = Convert.ToInt32(dataReader["dinero"]);
                            r.g1.Army.Assault      = Convert.ToInt32(dataReader["asalto"]);
                            r.g1.Army.Engineer     = Convert.ToInt32(dataReader["ingenieros"]);
                            r.g1.Army.Tank         = Convert.ToInt32(dataReader["tanques"]);
                            r.g1.Buuildings.Bunker = Convert.ToInt32(dataReader["bunker"]);
                        }
                    }
                }

                sql = $"EXEC sp_atacar '{guerrillaTarget}' ";
                using (var command = new SqlCommand(sql, connection))
                {
                    using (var dataReader = command.ExecuteReader())
                    {
                        while (dataReader.Read())
                        {
                            r.g2.nombre            = dataReader["nombre"].ToString();
                            r.g2.correo            = dataReader["usuario"].ToString();
                            r.g2.faccion           = dataReader["faccion"].ToString();
                            r.g2.Resourcess.People = Convert.ToInt32(dataReader["personas"]);
                            r.g2.Resourcess.Oil    = Convert.ToInt32(dataReader["petroleo"]);
                            r.g2.Resourcess.Money  = Convert.ToInt32(dataReader["dinero"]);
                            r.g2.Army.Assault      = Convert.ToInt32(dataReader["asalto"]);
                            r.g2.Army.Engineer     = Convert.ToInt32(dataReader["ingenieros"]);
                            r.g2.Army.Tank         = Convert.ToInt32(dataReader["tanques"]);
                            r.g2.Buuildings.Bunker = Convert.ToInt32(dataReader["bunker"]);
                        }
                    }
                }
                connection.Close();
            }

            //RESULTADO G1
            r.r1.nombre        = g1.nombre;
            r.r1.Army.Assault  = cantAsG1;
            r.r1.Army.Engineer = cantEnG1;
            r.r1.Army.Tank     = cantTaG1;

            r.r1.Resourcess.Oil   = loot / 2;
            r.r1.Resourcess.Money = loot / 2;


            //RESULTADO G2
            r.r2.nombre            = g2.nombre;
            r.r2.Army.Assault      = cantAsG2;
            r.r2.Army.Engineer     = cantEnG2;
            r.r2.Army.Tank         = cantTaG2;
            r.r2.Buuildings.Bunker = cantBuG2;

            r.r2.Resourcess.Oil   = loot / 2;
            r.r2.Resourcess.Money = loot / 2;

            r.resultado = ganador;

            return(r);
        }