public async Task <IActionResult> NovoJogo(string playerName, string playerClass)
        {
            HttpClient client = MyGameHTTPClient.Client;
            string     path   = "/api/NewGame";

            GameApiRequest req  = new GameApiRequest(playerName, playerClass);
            string         json = JsonConvert.SerializeObject(req);

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, path);

            request.Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.SendAsync(request);

            if (!response.IsSuccessStatusCode)
            {
                return(Redirect("NovoJogo"));
            }

            string json_r = await response.Content.ReadAsStringAsync();

            GameApiResponse gr = JsonConvert.DeserializeObject <GameApiResponse>(json_r);

            Jogo novoJogo = new Jogo(playerName, playerClass);

            novoJogo.AtualizarJogo(gr);
            Repositorio.AdicionarJogo(novoJogo);

            return(View("Jogo", novoJogo));
        }
Exemple #2
0
 public string InserirJogo(string sCampeonato, int idRodada, int idJogo, string sSiglaMandante, string sSiglaVisitante, string iPlacarMandante, string iPlacarVisitante, string sLocal, string sDataHora)
 {
     try
     {
         Jogo jogoDB = new Jogo();
         jogoDB.Idrodada        = idRodada;
         jogoDB.IdJogo          = idJogo;
         jogoDB.SiglaMandante   = sSiglaMandante;
         jogoDB.SiglaVisitante  = sSiglaVisitante;
         jogoDB.PlacarVisitante = iPlacarMandante;
         jogoDB.PlacarMandante  = iPlacarVisitante;
         jogoDB.Local           = sLocal;
         jogoDB.Datahora        = sDataHora;
         jogoDB.Campeonato      = sCampeonato;
         bool bJogoCadastrado = jogoDB.BuscarJogo();
         if (bJogoCadastrado)
         {
             jogoDB.AtualizarJogo();
             return("Jogo Atualizado!");
         }
         else
         {
             jogoDB.InserirJogo();
             return("Jogo Cadastrado");
         }
     }
     catch (Exception e)
     {
         return("Erro ao cadastrar: " + e.Message);
     }
 }
        public async Task <IActionResult> Jogo(PlayerAction playerAction, int id)
        {
            HttpClient client = MyGameHTTPClient.Client;
            string     path   = "/api/Play";

            Jogo jogo = Repositorio.DevolverJogo(id); //Devolve o jogo Atual

            PlayApiRequest req  = new PlayApiRequest(jogo.ID, playerAction);
            string         json = JsonConvert.SerializeObject(req);

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, path);

            request.Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.SendAsync(request);

            if (!response.IsSuccessStatusCode)
            {
                return(Redirect("/"));
            }

            string json_r = await response.Content.ReadAsStringAsync();

            if (playerAction != PlayerAction.Quit)
            {
                GameApiResponse resposta = JsonConvert.DeserializeObject <GameApiResponse>(json_r);

                jogo.AtualizarJogo(resposta);

                if (jogo.PontosVida == 0 || resposta.Result == RoundResult.SuccessVictory)
                {
                    jogo.ScoreJogo();
                    Repositorio.AdicionarScore(jogo); //NOVO
                    return(View("Score", jogo));
                }
                else
                {
                    return(View(jogo));
                }
            }
            else
            {
                jogo.ScoreJogo();
                Repositorio.AdicionarScore(jogo); //NOVO
                return(View("Score", jogo));
            }
        }
        public async Task <IActionResult> CriarJogo(NovoJogo j)
        {
            if (ModelState.IsValid)
            {
                Jogo JogoNovo = new Jogo(j.Nome, j.PerfilTipo, j.Autonomo);
                List <RoundSummary> rsList = new List <RoundSummary>();
                HttpClient          client = NewGameHttpClient.Client;
                string path = "/api/NewGame";

                NovoJogoApiRequest req  = new NovoJogoApiRequest(j.Nome, j.PerfilTipo);
                string             json = JsonConvert.SerializeObject(req);

                HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, path);
                request.Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");

                HttpResponseMessage response = await client.SendAsync(request);

                if (!response.IsSuccessStatusCode)
                {
                    return(Redirect("/"));
                }

                string json_r = await response.Content.ReadAsStringAsync();

                GameStateApi gs = JsonConvert.DeserializeObject <GameStateApi>(json_r);

                JogoNovo.AtualizarJogo(gs);
                RepositorioJogos.AdicionarJogo(JogoNovo);
                if (JogoNovo.Autonomo == false)
                {
                    return(View("JogoIniciado", JogoNovo));
                }
                // SE FOR AUTONOMO fazer o ciclo while
                else
                {
                    while (gs.RoundNumber < JogoNovo.Rondas &&
                           (JogoNovo.Terminado == false))
                    {
                        HttpClient clientAuton = NewGameHttpClient.Client;
                        path = "/api/Play";

                        AtualizarJogoApiRequest ajAuton = new AtualizarJogoApiRequest(JogoNovo.GameID, JogoNovo.TomarAccao);
                        json = JsonConvert.SerializeObject(ajAuton);

                        request         = new HttpRequestMessage(HttpMethod.Post, path);
                        request.Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");

                        response = await clientAuton.SendAsync(request);

                        if (!response.IsSuccessStatusCode)
                        {
                            return(Redirect("/"));
                        }

                        json_r = await response.Content.ReadAsStringAsync();

                        gs = JsonConvert.DeserializeObject <GameStateApi>(json_r);

                        JogoNovo.AtualizarJogo(gs);
                        RoundSummary rs = new RoundSummary(JogoNovo);
                        rsList.Add(rs);

                        //RoundSummary rs = new RoundSummary(JogoNovo, gs.RoundNumber);
                        //RepositorioRondas.AdicionarRonda(rs);
                    }
                    if (gs.RoundNumber == JogoNovo.Rondas)
                    {
                        client = NewGameHttpClient.Client;
                        path   = "/api/Play";

                        AtualizarJogoApiRequest aja = new AtualizarJogoApiRequest(JogoNovo.GameID, PlayerAction.Quit);
                        json = JsonConvert.SerializeObject(aja);

                        request         = new HttpRequestMessage(HttpMethod.Post, path);
                        request.Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");

                        response = await client.SendAsync(request);

                        if (!response.IsSuccessStatusCode)
                        {
                            return(Redirect("/"));
                        }

                        json_r = await response.Content.ReadAsStringAsync();

                        gs = JsonConvert.DeserializeObject <GameStateApi>(json_r);


                        JogoNovo.CalcularBonus();
                        JogoNovo.Desistiu      = true;
                        JogoNovo.ResultadoJogo = ResultadoJogo.Desistiu;
                        JogoNovo.Terminado     = true;
                    }
                    RondaFinal rf = new RondaFinal(JogoNovo);
                    rf.rsList = rsList;
                    return(View("DadosJogoAutonomo", rf));
                }
            }
            else
            {
                return(View());
            }
        }
        public async Task <IActionResult> AccaoJogo(int gameid, PlayerAction action)
        {
            Jogo     JogoAtual  = RepositorioJogos.GetJogo(gameid);
            HiScores ScoreAtual = RepositorioHiScoresdbContext.GetScore(gameid);

            if (action != PlayerAction.Quit)
            {
                HttpClient client = NewGameHttpClient.Client;
                string     path   = "/api/Play";

                AtualizarJogoApiRequest aj = new AtualizarJogoApiRequest(gameid, action);
                string json = JsonConvert.SerializeObject(aj);

                HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, path);
                request.Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");

                HttpResponseMessage response = await client.SendAsync(request);

                if (!response.IsSuccessStatusCode)
                {
                    return(Redirect("/"));
                }

                string json_r = await response.Content.ReadAsStringAsync();

                GameStateApi gs = JsonConvert.DeserializeObject <GameStateApi>(json_r);

                JogoAtual.AtualizarJogo(gs);
            }
            else
            {
                HttpClient client = NewGameHttpClient.Client;
                string     path   = "/api/Play";

                AtualizarJogoApiRequest aj = new AtualizarJogoApiRequest(gameid, action);
                string json = JsonConvert.SerializeObject(aj);

                HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, path);
                request.Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");

                HttpResponseMessage response = await client.SendAsync(request);

                if (!response.IsSuccessStatusCode)
                {
                    return(Redirect("/"));
                }

                string json_r = await response.Content.ReadAsStringAsync();

                GameStateApi gs = JsonConvert.DeserializeObject <GameStateApi>(json_r);



                JogoAtual.MensagemAccao = "Desististe do Jogo";
                JogoAtual.CalcularBonus();
                JogoAtual.Desistiu      = true;
                JogoAtual.ResultadoJogo = ResultadoJogo.Desistiu;
                JogoAtual.Terminado     = true;
            }

            if (JogoAtual.Terminado && JogoAtual.Autonomo == false)
            {
                HiScores NovoScore = new HiScores();
                NovoScore.AtualizarScores(JogoAtual);
                RepositorioHiScoresdbContext.AdicionarScore(NovoScore);
            }
            if (JogoAtual.Autonomo == false)
            {
                return(View("JogoIniciado", JogoAtual));
            }
            else
            {
                return(View("JogoIniciadoAutonomo", JogoAtual));
            }
        }
Exemple #6
0
        public void BuscarResultadoGloboEsporte(string sUrl, string sCampeonato)
        {
            string sCodePage = code(sUrl);

            int    num          = sCodePage.IndexOf("lista-de-jogos-item");
            int    length       = sCodePage.Length - num;
            string sCodeFiltro1 = sCodePage.Substring(num, length);


            num    = sCodeFiltro1.IndexOf("lista-de-jogos-item");
            length = sCodeFiltro1.IndexOf("aside");
            string sCodeFiltro2 = sCodeFiltro1.Substring(num, length);


            string[] separator = new string[]
            {
                "lista-de-jogos-item"
            };
            string[] array      = sCodeFiltro2.Split(separator, StringSplitOptions.RemoveEmptyEntries);
            string[] separator2 = new string[]
            {
                "content="
            };
            string[] separator3 = new string[]
            {
                "placar-jogo-informacoes-local"
            };
            string[] separator4 = new string[]
            {
                "placar-jogo-equipes-placar-mandante"
            };
            string[] separator5 = new string[]
            {
                "placar-jogo-equipes-placar-visitante"
            };
            string[] separator6 = new string[]
            {
                "placar-jogo-informacoes"
            };
            string[] separator7 = new string[]
            {
                "/span"
            };
            int num2 = 0;

            string[] array2 = array;
            for (int i = 0; i < array2.Length; i++)
            {
                string text4 = array2[i];
                int    num3  = num2;
                num2 = num3 + 1;
                string[] array3 = text4.Split(separator2, StringSplitOptions.RemoveEmptyEntries);
                length = array3[3].IndexOf(">");
                string text5 = array3[3].Substring(0, length);
                length = array3[4].IndexOf(">");
                string   text6  = array3[4].Substring(0, length);
                string[] array4 = text4.Split(separator3, StringSplitOptions.RemoveEmptyEntries);
                length = array4[1].IndexOf("<");
                string   text7  = array4[1].Substring(1, length);
                string[] array5 = text4.Split(separator4, StringSplitOptions.RemoveEmptyEntries);
                length = array5[1].IndexOf("<");
                string   text8  = array5[1].Substring(1, length);
                string[] array6 = text4.Split(separator5, StringSplitOptions.RemoveEmptyEntries);
                length = array6[1].IndexOf("<");
                string   text9  = array6[1].Substring(1, length);
                string[] array7 = text4.Split(separator6, StringSplitOptions.RemoveEmptyEntries);
                length = array7[1].IndexOf("<");
                string   text10 = array7[1].Substring(1, length);
                string[] array8 = array7[2].Split(separator7, StringSplitOptions.RemoveEmptyEntries);
                length = array8[1].IndexOf("<");
                string text11 = array8[1].Substring(1, length);

                Jogo jogo = new Jogo();
                jogo.Idrodada        = 0;
                jogo.IdJogo          = num2;
                jogo.SiglaMandante   = BuscarSigla(text5.Replace(">", "").Replace('"', ' ').Replace("<", ""));
                jogo.SiglaVisitante  = BuscarSigla(text6.Replace(">", "").Replace('"', ' ').Replace("<", ""));
                jogo.PlacarMandante  = text8.Replace(">", "").Replace('"', ' ').Replace("<", "");
                jogo.PlacarVisitante = text9.Replace(">", "").Replace('"', ' ').Replace("<", "");
                jogo.Campeonato      = sCampeonato;



                if (jogo.PlacarMandante.Trim().Equals(""))
                {
                    jogo.Status         = "A";
                    jogo.PlacarMandante = "0";
                }
                else
                {
                    jogo.Status = "E";
                }


                if (jogo.PlacarVisitante.Trim().Equals(""))
                {
                    jogo.PlacarVisitante = "0";
                }

                jogo.Datahora = text10.Replace(">", "").Replace('"', ' ').Replace("<", "") + "-" + text11.Replace(">", "").Replace('"', ' ').Replace("<", "");
                jogo.Local    = text7.Replace(">", "").Replace('"', ' ').Replace("<", "");
                string sLocal = text7.Replace(">", "").Replace('"', ' ').Replace("<", "");
                Jogo   jogoDB = new Jogo();
                jogoDB.Idrodada        = jogo.Idrodada;
                jogoDB.IdJogo          = jogo.IdJogo;
                jogoDB.SiglaMandante   = jogo.SiglaMandante;
                jogoDB.SiglaVisitante  = jogo.SiglaVisitante;
                jogoDB.PlacarVisitante = jogo.PlacarVisitante;
                jogoDB.PlacarMandante  = jogo.PlacarMandante;
                jogoDB.Local           = jogo.Local;
                jogoDB.Datahora        = jogo.Datahora;
                jogoDB.Campeonato      = sCampeonato;
                bool bJogoCadastrado = jogoDB.BuscarJogo();

                jogo.Local = sLocal;
                if (bJogoCadastrado)
                {
                    jogo.AtualizarJogo();
                }
                else
                {
                    jogo.InserirJogo();
                }
            }
        }
Exemple #7
0
        public void BuscarResultadoUol(string sUrl, string sCampeonato)
        {
            string sCodePage = code(sUrl);

            int    num          = sCodePage.IndexOf("rodadas");
            int    length       = sCodePage.Length - num;
            string sCodeFiltro1 = sCodePage.Substring(num, length);


            //  num = sCodeFiltro1.IndexOf("lista-de-jogos-item");
            //  length = sCodeFiltro1.IndexOf("aside");
            //  string sCodeFiltro2 = sCodeFiltro1.Substring(num, length);


            string[] separator = new string[]
            {
                "li class"
            };
            string[] arrayJogos = sCodeFiltro1.Split(separator, StringSplitOptions.RemoveEmptyEntries);

            string[] separator2 = new string[]
            {
                "article"
            };
            string[] separator3 = new string[]
            {
                "div class"
            };
            string[] separator4 = new string[]
            {
                "gols"
            };
            string[] separator5 = new string[]
            {
                "placar-jogo-equipes-placar-visitante"
            };
            string[] separator6 = new string[]
            {
                "placar-jogo-informacoes"
            };
            string[] separator7 = new string[]
            {
                "/span"
            };

            int num2    = 0;
            int iRodada = 0;
            int iJogo   = 0;

            for (int k = 1; k < arrayJogos.Length; k++)
            {
                string sLinhaRodada = arrayJogos[k];
                int    num3         = num2;
                num2 = num3 + 1;
                string[] arrayLinhaJogo = sLinhaRodada.Split(separator2, StringSplitOptions.RemoveEmptyEntries);

                for (int j = 0; j < arrayLinhaJogo.Length; j++)
                {
                    string sJogo = arrayLinhaJogo[j];
                    if (j == 0)
                    {
                        try
                        {
                            iJogo = 1;
                            int    iPosIni  = sJogo.IndexOf("Rodada");
                            int    iTamanho = sJogo.Length - iPosIni;
                            string sRodada  = sJogo.Substring(iPosIni, iTamanho);
                            iPosIni = 0;
                            int iPosFIm = sRodada.IndexOf("<");
                            sRodada = sRodada.Substring(0, iPosFIm);

                            sRodada = String.Join("", System.Text.RegularExpressions.Regex.Split(sRodada, @"[^\d]"));

                            iRodada = Int32.Parse(sRodada);
                        }
                        catch
                        {
                            //   sRodada = "0";
                        }
                    }
                    else
                    {
                        string[] arrayInfoJogo = sJogo.Split(separator3, StringSplitOptions.RemoveEmptyEntries);
                        if (arrayInfoJogo.Length == 5)
                        {
                            string sInfoTime1 = arrayInfoJogo[2];
                            string sInfoTime2 = arrayInfoJogo[3];
                            string sInfoJogo  = arrayInfoJogo[4];

                            string sGolsTime1 = "";
                            string sGolsTime2 = "";
                            string sTime1     = "";
                            string sTime2     = "";
                            string sLocal     = "";
                            string sData      = "";

                            try
                            {
                                sGolsTime1 = BuscarGols_UOL(sInfoTime1);
                                sGolsTime2 = BuscarGols_UOL(sInfoTime2);
                            }
                            catch
                            {
                                sGolsTime1 = "ERRO";
                                sGolsTime1 = "ERRO";
                            }

                            try
                            {
                                sTime1 = BuscarTime_UOL(sInfoTime1);
                                sTime2 = BuscarTime_UOL(sInfoTime2);
                            }
                            catch
                            {
                                sTime1 = "ERRO";
                                sTime2 = "ERRO";
                            }

                            try
                            {
                                sLocal = BuscarLocal_UOL(sInfoJogo);
                            }
                            catch
                            {
                                sLocal = "ERRO";
                            }

                            try
                            {
                                sData = BuscarData_UOL(sInfoJogo);
                            }
                            catch
                            {
                                sData = "ERRO";
                            }



                            if (!sTime1.Equals("ERRO"))
                            {
                                Jogo jogo = new Jogo();
                                jogo.Idrodada        = iRodada;
                                jogo.IdJogo          = iJogo;
                                jogo.SiglaMandante   = BuscarSigla(sTime1, sCampeonato);
                                jogo.SiglaVisitante  = BuscarSigla(sTime2, sCampeonato);
                                jogo.PlacarMandante  = sGolsTime1;
                                jogo.PlacarVisitante = sGolsTime2;
                                jogo.Campeonato      = sCampeonato;

                                jogo.Datahora = sData;
                                jogo.Local    = sLocal;

                                bool bJogoCadastrado = jogo.BuscarJogo();
                                if (sLocal != "ERRO")
                                {
                                    jogo.Local = sLocal;
                                }

                                if (bJogoCadastrado)
                                {
                                    jogo.AtualizarJogo();
                                }
                                else
                                {
                                    jogo.InserirJogo();
                                }
                                iJogo++;
                            }
                            else
                            {
                                string ERRO = "";
                            }
                        }
                    }
                }
            }
        }
Exemple #8
0
        public void TemGol(string sUrl)
        {
            string text   = code(sUrl);
            int    num    = text.IndexOf("lista-de-jogos-item");
            int    length = text.Length - num;
            string text2  = text.Substring(num, length);

            num    = text2.IndexOf("lista-de-jogos-item");
            length = text2.IndexOf("aside");
            string text3 = text2.Substring(num, length);

            string[] separator = new string[]
            {
                "lista-de-jogos-item"
            };
            string[] array      = text3.Split(separator, StringSplitOptions.RemoveEmptyEntries);
            string[] separator2 = new string[]
            {
                "content="
            };
            string[] separator3 = new string[]
            {
                "placar-jogo-informacoes-local"
            };
            string[] separator4 = new string[]
            {
                "placar-jogo-equipes-placar-mandante"
            };
            string[] separator5 = new string[]
            {
                "placar-jogo-equipes-placar-visitante"
            };
            string[] separator6 = new string[]
            {
                "placar-jogo-informacoes"
            };
            string[] separator7 = new string[]
            {
                "/span"
            };
            int num2 = 0;

            string[] array2 = array;
            for (int i = 0; i < array2.Length; i++)
            {
                string text4 = array2[i];
                int    num3  = num2;
                num2 = num3 + 1;
                string[] array3 = text4.Split(separator2, StringSplitOptions.RemoveEmptyEntries);
                length = array3[3].IndexOf(">");
                string text5 = array3[3].Substring(0, length);
                length = array3[4].IndexOf(">");
                string   text6  = array3[4].Substring(0, length);
                string[] array4 = text4.Split(separator3, StringSplitOptions.RemoveEmptyEntries);
                length = array4[1].IndexOf("<");
                string   text7  = array4[1].Substring(1, length);
                string[] array5 = text4.Split(separator4, StringSplitOptions.RemoveEmptyEntries);
                length = array5[1].IndexOf("<");
                string   text8  = array5[1].Substring(1, length);
                string[] array6 = text4.Split(separator5, StringSplitOptions.RemoveEmptyEntries);
                length = array6[1].IndexOf("<");
                string   text9  = array6[1].Substring(1, length);
                string[] array7 = text4.Split(separator6, StringSplitOptions.RemoveEmptyEntries);
                length = array7[1].IndexOf("<");
                string   text10 = array7[1].Substring(1, length);
                string[] array8 = array7[2].Split(separator7, StringSplitOptions.RemoveEmptyEntries);
                length = array8[1].IndexOf("<");
                string text11 = array8[1].Substring(1, length);
                Jogo   jogo   = new Jogo();
                jogo.Idrodada        = 0;
                jogo.IdJogo          = num2;
                jogo.SiglaMandante   = BuscarSigla(text5.Replace(">", "").Replace('"', ' ').Replace("<", ""));
                jogo.SiglaVisitante  = BuscarSigla(text6.Replace(">", "").Replace('"', ' ').Replace("<", ""));
                jogo.PlacarMandante  = text8.Replace(">", "").Replace('"', ' ').Replace("<", "");
                jogo.PlacarVisitante = text9.Replace(">", "").Replace('"', ' ').Replace("<", "");
                bool flag = jogo.PlacarMandante.Trim().Equals("");
                if (flag)
                {
                    jogo.Status         = "A";
                    jogo.PlacarMandante = "0";
                }
                else
                {
                    jogo.Status = "E";
                }
                bool flag2 = jogo.PlacarVisitante.Trim().Equals("");
                if (flag2)
                {
                    jogo.PlacarVisitante = "0";
                }
                jogo.Datahora = text10.Replace(">", "").Replace('"', ' ').Replace("<", "") + "-" + text11.Replace(">", "").Replace('"', ' ').Replace("<", "");
                jogo.Local    = text7.Replace(">", "").Replace('"', ' ').Replace("<", "");
                Jogo jogo2 = new Jogo();
                jogo2.Idrodada        = jogo.Idrodada;
                jogo2.IdJogo          = jogo.IdJogo;
                jogo2.SiglaMandante   = jogo.SiglaMandante;
                jogo2.SiglaVisitante  = jogo.SiglaVisitante;
                jogo2.PlacarVisitante = jogo.PlacarVisitante;
                jogo2.PlacarMandante  = jogo.PlacarMandante;
                jogo2.Local           = jogo.Local;
                jogo2.Datahora        = jogo.Datahora;
                bool flag3 = jogo2.BuscarJogo();
                if (flag3)
                {
                    bool flag4 = !jogo2.PlacarMandante.Equals(jogo.PlacarMandante.ToString());
                    if (flag4)
                    {
                        string mensagem = new Notificacao
                        {
                            Tipo      = "GOL",
                            Descricao = "tem gol",
                            Info      = JsonConvert.SerializeObject(jogo, Formatting.Indented)
                        }.EnviarNotificacaoTodos();
                        Notificacao.EnviarEmail1("*****@*****.**", "Teve Gol BR2016", mensagem);
                        jogo.AtualizarJogo();
                    }
                    else
                    {
                        bool flag5 = !jogo2.PlacarVisitante.Equals(jogo.PlacarVisitante.ToString());
                        if (flag5)
                        {
                            string mensagem = new Notificacao
                            {
                                Tipo      = "GOL",
                                Descricao = "tem gol",
                                Info      = JsonConvert.SerializeObject(jogo, Formatting.Indented)
                            }.EnviarNotificacaoTodos();
                            Notificacao.EnviarEmail1("*****@*****.**", "Teve Gol BR2016", mensagem);
                            jogo.AtualizarJogo();
                        }
                    }
                }
                else
                {
                    jogo.InserirJogo();
                }
            }
        }
Exemple #9
0
        public async Task <IActionResult> NovoAutoJogo(int rondas)
        {
            HttpClient client = MyGameHTTPClient.Client;
            string     path   = "/api/NewGame";

            string nome = "";

            if (rondas == 3)
            {
                nome = "auto3";
            }
            else if (rondas == 7)
            {
                nome = "auto7";
            }
            else
            {
                nome = "auto0";
            }
            GameApiRequest req  = new GameApiRequest(nome, "S");
            string         json = JsonConvert.SerializeObject(req);

            HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, path);

            request.Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");

            HttpResponseMessage response = await client.SendAsync(request);

            if (!response.IsSuccessStatusCode)
            {
                return(Redirect("NovoAutoJogo"));
            }

            string json_r = await response.Content.ReadAsStringAsync();

            GameApiResponse gr = JsonConvert.DeserializeObject <GameApiResponse>(json_r);

            Jogo novoJogo = new Jogo(nome, "S");

            novoJogo.AtualizarJogo(gr);

            //int ronda = 1;
            while (novoJogo.PontosVida != 0 && gr.Result != RoundResult.SuccessVictory)
            {
                path = "/api/Play";

                if (gr.RoundNumber == rondas)
                {
                    novoJogo.Acao = PlayerAction.Quit;
                    break;
                }
                else
                {
                    novoJogo.AutoPlay(gr, rondas);
                }

                PlayApiRequest pedido = new PlayApiRequest(novoJogo.ID, novoJogo.Acao);
                json = JsonConvert.SerializeObject(pedido);

                request         = new HttpRequestMessage(HttpMethod.Post, path);
                request.Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");

                response = await client.SendAsync(request);

                if (!response.IsSuccessStatusCode)
                {
                    return(Redirect("/"));
                }

                json_r = await response.Content.ReadAsStringAsync();

                gr = JsonConvert.DeserializeObject <GameApiResponse>(json_r);
                novoJogo.AtualizarJogo(gr);
                //ronda++;
            }
            novoJogo.ScoreJogo();

            return(View("Resultados", novoJogo));
        }