Example #1
0
    def create_game(cls, game_name, player_list, goal_x, goal_y):
        game = Game()
        game.game_name = game_name
        game.goal_x = goal_x
        game.goal_y = goal_y
        game.is_active = False
        game.player_list = player_list
        game.winner = ''
        game.save()

        for player_name in player_list:
            if not Player.get_player_by_player_name(player_name):
                player = Player.create_player(player_name, game_name)

        return game
Example #2
0
    def test_update_player_location(self):
        """Functional: posting to update_player_location should update the x, y
        location of the player."""
        post_data = {'location_x': '234.234', 'location_y': '432.432'}
        response = self.client.post(
            reverse('update_player_location', args=[self.player.player_name]),
            post_data)

        player = Player.get_player_by_player_name(self.player.player_name)
        self.assertEqual(player.location_x, u'234.234')
        self.assertEqual(player.location_y, u'432.432')
def update_player_location(request, player_name):
    player = Player.get_player_by_player_name(player_name)

    if not player:
        raise Http404

    location_x = request.POST.get('location_x')
    location_y = request.POST.get('location_y')

    player.update_location(location_x, location_y)

    return HttpResponse(simplejson.dumps({}), mimetype="application/json")
Example #4
0
def update_player_location(request, player_name):
    player = Player.get_player_by_player_name(player_name)

    if not player:
        raise Http404

    location_x = request.POST.get('location_x')
    location_y = request.POST.get('location_y')

    player.update_location(location_x, location_y)

    return HttpResponse(simplejson.dumps({}), mimetype="application/json")
Example #5
0
def build_player(player_name, location_x, location_y):
    """Builds a user with the given attributes. If the required attributes are
    missing they will be defaulted."""

    player = Player()
    player.player_name = player_name
    player.location_x = location_x
    player.location_y = location_y
    player.save()

    return player
def pick_up_flag(request, player_name):
    player = Player.get_player_by_player_name(player_name)

    if not player:
        raise Http404

    game_name = request.POST.get('game_name')
    flag = Flag.get_flag_by_game_name(game_name)
    if abs(flag.location_x - player.location_x) < 1 and abs(flag.location_y - player.location_y) < 1:
        player.pick_up_flag(flag)
        return HttpResponse(simplejson.dumps({}), mimetype="application/json")

    raise HttpResponseBadRequest('can\'t reach')
    def test_update_player_location(self):
        """Functional: posting to update_player_location should update the x, y
        location of the player."""
        post_data = {
            'location_x': '234.234',
            'location_y': '432.432'
        }
        response = self.client.post(reverse('update_player_location',
                                            args=[self.player.player_name]),
                                    post_data)

        player = Player.get_player_by_player_name(self.player.player_name)
        self.assertEqual(player.location_x, u'234.234')
        self.assertEqual(player.location_y, u'432.432')
def get_player(request, player_name):
    player = Player.get_player_by_player_name(player_name)

    if not player:
        return HttpResponse(content='player not found', status=404)

    response_data = {
        'location_x': player.location_x,
        'location_y': player.location_y,
        'player_name': player.player_name,
        'flags': player.flag_list,
        'games': player.game_list
    }
    return HttpResponse(simplejson.dumps(response_data), mimetype="application/json")
Example #9
0
def pick_up_flag(request, player_name):
    player = Player.get_player_by_player_name(player_name)

    if not player:
        raise Http404

    game_name = request.POST.get('game_name')
    flag = Flag.get_flag_by_game_name(game_name)
    if abs(flag.location_x - player.location_x) < 1 and abs(
            flag.location_y - player.location_y) < 1:
        player.pick_up_flag(flag)
        return HttpResponse(simplejson.dumps({}), mimetype="application/json")

    raise HttpResponseBadRequest('can\'t reach')
Example #10
0
def get_player(request, player_name):
    player = Player.get_player_by_player_name(player_name)

    if not player:
        return HttpResponse(content='player not found', status=404)

    response_data = {
        'location_x': player.location_x,
        'location_y': player.location_y,
        'player_name': player.player_name,
        'flags': player.flag_list,
        'games': player.game_list
    }
    return HttpResponse(simplejson.dumps(response_data),
                        mimetype="application/json")
Example #11
0
def tag_nearest_player(request, player_name):
    player = Player.get_player_by_player_name(player_name)
    game_name = request.POST.get('game_name')
    game = Game.get_game_by_game_name(game_name)

    closest_player = None
    nearest = settings.TAG_RANGE
    for player_to_tag in game.player_list:
        if player_to_tag != player.player_name:
            distance = player.distance_to_player(player_to_tag)
            if distance < nearest:
                nearest = distance
                closest_player = player_to_tag
    if closest_player:
        player.tag_player(closest_player, game)

    return HttpResponse(simplejson.dumps({}), mimetype="application/json")
Example #12
0
def tag_nearest_player(request, player_name):
    player = Player.get_player_by_player_name(player_name)
    game_name = request.POST.get('game_name')
    game = Game.get_game_by_game_name(game_name)

    closest_player = None
    nearest = settings.TAG_RANGE
    for player_to_tag in game.player_list:
        if player_to_tag != player.player_name:
            distance = player.distance_to_player(player_to_tag)
            if distance < nearest:
                nearest = distance
                closest_player = player_to_tag
    if closest_player:
        player.tag_player(closest_player, game)

    return HttpResponse(simplejson.dumps({}), mimetype="application/json")
Example #13
0
def create_player(request):
    player_name = request.POST.get('player_name')
    if not Player.get_player_by_player_name(player_name):
        player = Player.create_player([], player_name)

    return HttpResponse(simplejson.dumps({}), mimetype="application/json")
Example #14
0
def create_player(request):
    player_name = request.POST.get('player_name')
    if not Player.get_player_by_player_name(player_name):
        player = Player.create_player([], player_name)

    return HttpResponse(simplejson.dumps({}), mimetype="application/json")
Example #15
0
 def add_player_to_game(self, player_name):
     if player_name not in self.player_list:
         player = Player.get_player_by_player_name(player_name) or Player.create_player(player_name, self.game_name)
         player.add_game_to_player(self.game_name)
         self.player_list.append(player_name)
         self.save()