Executando verificação de segurança...
7

[C# .Net] APIs oficiais da SuperCell

Você sabia que a SuperCell, desenvolvedora de jogos para celular, disponibiliza apis oficiais e gratuitas para leitura de dados dos jogos BrawlStars, Clash Royale e Clash of Clans?

Fiquei curioso um dia, mas precisamente em 20/02/2022, e fui procurar alguma api para ler informações do jogo que estava jogando bastante na época, o BrawlStars.

Achei alguns apis não-oficiais, contudo, achei também essa página: https://developer.brawlstars.com/

Ao acessar, verifiquei que a documentação era simples, mas era o que eu precisava.

Criei meu token de acesso para autenticar na api, e fiz uma pequena aplicação, para monitorar alguns estatiscas do jogo, durante uma sessão de gameplay.

A aplicação rodando pode ser vista nesse video:
https://www.youtube.com/watch?v=jExhvY8x7h8

Ela é essa barra amarela na parte inferior da tela.

Quando a aplicação inicia é armazendo em uma variável o total de troféus, por exemplo, e a cada 5 segundos a aplicação consulta a api novamente. Verificando o número atual de troféus e subtraindo da variavel inicial.

Isso também é feito para indicar o total de vitórias e o saldo de vitórias obtido durante a sessão de gameplay.

O código e relativamente simples, e parte principal é essa abaixo.

private int vitorias = 0;
private int derrotas = 0;
private int trofeus = 0;
private int vitoriasInicio = 0;
private int trofeusInicio = 0;

private void Player()
{
    var client = new RestClient("https://api.brawlstars.com/v1/players/[gamertag]");
    client.Timeout = -1;
    var request = new RestRequest(Method.GET);
    request.AddHeader("Authorization", "Bearer .....");
    IRestResponse response = client.Execute(request);
    PlayerRequest resultPlayer = JsonConvert.DeserializeObject<PlayerRequest>(response.Content);

    if (vitoriasInicio <= 0)
    {
        vitoriasInicio = resultPlayer.SoloVictories + resultPlayer.DuoVictories + resultPlayer._3vs3Victories;
    }

    vitorias = resultPlayer.SoloVictories + resultPlayer.DuoVictories + resultPlayer._3vs3Victories;

    if (trofeusInicio <= 0)
    {
        trofeusInicio = resultPlayer.Trophies;
    }

    trofeus = resultPlayer.Trophies;

    lbVitoria.Text = "Total de vitórias: " + vitorias;
    lbTrofeus.Text = "Total de Troféus: " + trofeus;

    lbVitoriasSaldo.Text = "Saldo de vitórias: " + (vitorias - vitoriasInicio);
    lbTrofeusSaldo.Text = "Saldo de troféus: " + (trofeus - trofeusInicio);
}

É um código em C# relativamente simples, e pretendo liberar um vídeo depois comentando esse código.

Um grande abs.


Pessoal,
Hoje lancei um vídeo mostrando essa implementação.

https://www.youtube.com/watch?v=T3W3XWifOjM

Carregando publicação patrocinada...
2

Caraca, que legal! Joguei Clash Royale por muito tempo (quando o jogo utilizava as cartas raízes Rsrs, agora acho que o jogo perdeu a essência de um Game Mobile).

Mas gostei muito da sua dica! Daria para desenvolver uma aplicação com algum Framework para praticar conceitos de UX e até mesmo para pôr em práticas conceitos do próprio framework consultando estatísticas reais da API.

Fica aí a sugestão para quem está aprendendo um novo Framework como Angular ou React, ou qualquer outro: consumir APIs como essas para criar projetos reais.

1
1

acredito que somente para imagem externa, você colocando a url da imagem

Imagem de exemplo

![Imagem de exemplo](https://th.bing.com/th/id/R.eadbfc37672efa0e4b00d1886d64cf4a?rik=HhcQz%2b0u4ZE9Fw&riu=http%3a%2f%2fportalcarangola.com%2fwp-content%2fuploads%2f2011%2f09%2fexemplo1jh.jpg&ehk=gPdCHowqiQFCPcWNwpanO1rjIxu2r4%2bj3M9Bv1JhXMs%3d&risl=&pid=ImgRaw&r=0&sres=1&sresct=1)
0
1

Tenta usar a tag img.

Vai ficar assim:

<img src="caminho/para/imagem"></img>

Eu gosto de usar tags do HTML, já que o Markdown suporta. Talvez não seja a melhor forma, mas, funciona.

0
0