Exemplo n.º 1
0
    def start_game(self, snake_ids):
        """ Start a game given a tuple of snake id's. Returning a game id. """
        if len(snake_ids) == 1:
            return

        snakes = [vars(s) for s in Snake.objects.filter(id__in=snake_ids)]
        game = Game(width=10, height=10, food=5, snakes=snakes)
        game.create()
        game.run()
        GameLeaderboard(game=game).save()
Exemplo n.º 2
0
    def create(self, *args, **kwargs):
        heat = kwargs.get("heat")
        previous_game = heat.latest_game
        skip = [w.snake.id for w in heat.winners]
        print(skip)
        if previous_game is not None:
            skip.append(previous_game.winner.snake.id)
            next_snakes = [s for s in previous_game.snakes if s.id not in skip]
        else:
            next_snakes = heat.snakes
        snake_ids = [{"id": snake.id} for snake in next_snakes]

        from apps.game.models import Game
        game = Game(width=20, height=20, food=10, snakes=snake_ids)
        game.create()
        game.save()

        return super(HeatGameManager, self).create(*args, **kwargs, game=game)
Exemplo n.º 3
0
 def submit(self):
     game = Game(**self.cleaned_data)
     game.create()
     return game.run()