Ejemplo n.º 1
0
    def lobby(self):
        user = self.user

        if user.game_state == 'playing':
            return redirect(url(controller="game", action="game"))


        send('/lobby', dict(type='enter',
                            user=user.to_dict()))

        #so, the lobby shows (somehow) a list of users not in games.
        #load the initial list
        free_users = User.select((User.q.game_state == None) & ((User.q.logged_in >= User.q.logged_out) | (User.q.logged_out == None)))

        free_users = [user for user in free_users if user.is_logged_in()]
        
        c.free_users = free_users

        c.initial_data = '""'
        #is there a pending invitation?
        if user.game and user.game.state == "invite":
            game = user.game
            user.game_state == "" #unaccept
            invited = [u.display_name for u in User.selectBy(game=game) if u != game.inviter]
            message = {'type' : 'invite', 'game' : game.channel, 
                       'inviter' : game.inviter.display_name, 
                       'min_word_len' : game.min_word_len,
                       'other_players' : invited}

            c.initial_data = dumps(message)
        return render("lobby/lobby.mako")
Ejemplo n.º 2
0
 def show_setup(self):
     user = self.user
     if not user:
         return redirect("show_login")
     c.email = user.email
     c.display_name = user.display_name
     return render("user/show_setup.mako")
Ejemplo n.º 3
0
    def game(self):

        user = self.user
        c.game = user.game
        if user.game_state != 'playing':
            user.game = None #we are mistakenly in this game
            user.game_state = None

            return redirect(url(action="lobby", controller="lobby"))

        return render("game/game.mako")
Ejemplo n.º 4
0
 def show_login(self):
     return render("user/show_login.mako")