Example #1
0
        public IActionResult DadosJogo(int gameid)
        {
            Jogo JogoAtual = RepositorioJogos.GetJogo(gameid);

            return(View("DadosJogo", JogoAtual));
        }
Example #2
0
        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));
            }
        }