Django Wars [Parte 24]: Stats do jogador

O Django Wars foi idealizado e desenvolvido no Django 1.4. Algumas funcionalidades aqui descritas podem não funcionar ou funcionar de forma diferente em outras versões do Django

Quando o jogador dá level up ele ganha pontos para distribuir em seus stats.
O que vamos fazer agora é criar a página de exibição dos stats atual e, se o usuário tiver pontos, distribuir esses pontos nos stats do usuário.

Primeiro, colocar a url no urls.py:

url(r'^stats/$', djangowars.views.player.stats, name='pagina_de_stats'),

Agora, como é de se esperar, vamos construir a view.
Esta view precisa pegar o usuário e passar para o template para a listagem dos stats.
O arquivo é o views/player.py:

# pagina de stats do jogador
def stats(request):
    if not request.user.is_authenticated():
        return redirect('pagina_de_login')
    
    #da um refrash no hp, energia e raiva do player
    player = request.user.get_profile()
    player.refresh()
    player.save()
    
    return render_to_response("stats.html", {"player": player,
                                              "vida": player.vida * 10}) # para exibir o total de vida do usuario

Por fim, só fazer o template.
OH MY GOD, tá tudo tão difícil…
To escutando Edson Gomes que um amigo do trabalho acabou de me passar.
Muito bom.

Sim, o arquivo é stats.html:

<div class="container">
    <p>
        Informações do usuário:
        Nível {{  player.nivel }}
        |
        Energia {{  player.energia_atual }}/{{ player.energia }}
        |
        Raiva {{ player.raiva_atual }}/{{ player.raiva }}
        HP: {{ player.hp }}/{{ vida }}
        |
        Carteira {{ player.carteira }}
    </p>

    <!--lista de crimes que podem ser cometidos-->
    <h3>Stats</h3>
    
    <p>Ataque: {{ player.ataque }} {% if player.pontos > 0 %}<a href="adicionar/ataque">+1</a>{% endif %}</p>
    <p>Defesa: {{ player.defesa}} {% if player.pontos > 0 %}<a href="adicionar/defesa">+1</a>{% endif %}</p>
    <p>Vida: {{ vida }} {% if player.pontos > 0 %}<a href="adicionar/vida">+1</a>{% endif %}</p>
    <p>Energia: {{ player.energia}} {% if player.pontos > 0 %}<a href="adicionar/energia">+1</a>{% endif %}</p>
    <p>Raiva: {{ player.raiva}} {% if player.pontos > 0 %}<a href="adicionar/raiva">+1</a>{% endif %}</p>
    <p>Pontos para gastar: {{ player.pontos }}</p>
    
</div> <!-- /container -->

Hoje estou com preguiça de colocar o link do código fonte do projeto que está no GitHub.

PS: Esse Edson Gomes é bom demais, fala sério!!!

One thought on “Django Wars [Parte 24]: Stats do jogador

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *