예제 #1
0
def home(request):
    host_scores = []
    users = User.objects.all()
    for user in users:
        score = get_user_score(user)
        host_scores.append(UserScores(name=user.username, score=score))
    host_scores.sort(key=operator.attrgetter('score'))
    host_scores.reverse()

    if request.user.is_authenticated() and get_player(request.user) is not None and get_active_game(request.user):
        return render(request, 'home.html',
                      {'game': get_active_game(request.user), 'user_scores': host_scores[0:5]})
    else:
        return render(request, 'home.html', {'host_games': get_host_games(), 'user_scores': host_scores[0:5]})
예제 #2
0
def load_game(request):
    game = Game.objects.filter(pk=get_active_game(request.user).pk)

    player = Player.objects.filter(user=request.user)
    units = get_units(player.first())
    settlements = get_settlements(player.first())

    opponent = Player.objects.filter(game=game.first()).exclude(user=request.user)
    opponent_units = json.dumps([])
    opponent_settlements = json.dumps([])
    if opponent.exists():
        opponent_units = get_opponent_units(player.first(), opponent.first())
        opponent_settlements = get_opponent_settlements(player.first(), opponent.first())

    game = serializers.serialize('json', game, use_natural_keys=True)
    player = serializers.serialize('json', player, use_natural_keys=True)
    opponent = serializers.serialize('json', opponent, use_natural_keys=True)

    data = {'game': game, 'player': player, 'units': units, 'settlements': settlements, 'opponent': opponent,
            'opponent_units': opponent_units, 'opponent_settlements': opponent_settlements}

    return HttpResponse(json.dumps(data), content_type='application/json')