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