def _guess(request, game_id): game = get_object_or_404(Game, id=game_id) guesses_str = request.REQUEST['guess'] guesses = guesses_str.split(',') print guesses player = Player.objects.get( user = request.user, game = game ) try: submission = Submission.objects.get(player=player) except: submission = Submission( player = player, game = game ) submission.save() try: #lb - for debugging, in reality you shouldn't get to guess more than once submission.roleguess_set.all().delete() except: pass for guess in guesses: (other_player_id, role_id) = guess.split('=') other_player = Player.objects.get(id=other_player_id) role = Role.objects.get(id=role_id) guess = RoleGuess( other_player = other_player, role = role, submission = submission ) guess.role = role guess.save() from seeker.games import BasicRoleGame brg = BasicRoleGame(game) brg.check_submission(submission) return HttpResponse("")
def guess_for_cpus(request, game_id): game = get_object_or_404(Game, id=game_id) cpu_players = game.player_set.filter(user__is_active=False).all() from seeker.games import BasicRoleGame brg = BasicRoleGame(game) for player in cpu_players: other_players = game.player_set.exclude(user=player.user).all() roles = PlayerRole.objects.filter(player__in=game.player_set.all()).exclude(role=player.playerrole.role) try: submission = Submission.objects.get(player=player) except: submission = Submission( player = player, game = game ) submission.save() try: #lb - for debugging, in reality you shouldn't get to guess more than once submission.roleguess_set.all().delete() except: pass for other_player in other_players: role = roles[0] roles = roles[:1] guess = RoleGuess( other_player = other_player, role = role.role, submission = submission ) guess.save() brg.check_submission(submission) return HttpResponse("")