Example #1
0
    def get(self):
        # validate user to allow game to begin
        user_id = validate(self.request.cookies.get("user_id"))

        if user_id:
            user = Users.get_by_id(int(user_id))

            # validate game_id to check for in progress, valid game state for user
            game_id = validate(self.request.cookies.get("game_id"))

            # get chips and deck from memcache if possible else from db
            chips = memcache.get("%s_chips" % user_id)
            deck = memcache.get("%s_deck" % user_id)
            # print deck
            if not deck:
                deck = [""]
            if not chips:
                chips = user.chips

            message = "Shuffling the deck!" if len(deck) < 20 else ""

            if chips < 5.0:
                chips += 500.0
                user.chips += 500.0
                user.chipresets += 1
                user.put()
                memcache.set("%s_chips" % user_id, chips, time=3600)
                message += "\nYou ran out of chips! You have been given 500 more!"

            maximum = chips if chips < 500.0 else 500
            if not game_id:  # create game if user does not already have one in progress
                game = BlackjackGames(
                    gameuser=user.username,
                    gameuserid=int(user_id),
                    playerhand=[""],
                    playerhand2=[""],
                    playerhand3=[""],
                    playerhand4=[""],
                    dealerhand=[""],
                    deck=[""],
                    playerbet=0,
                    playerbet2=0,
                    playerbet3=0,
                    playerbet4=0,
                )
                game = game.put()
                game_id = make_secure_val(str(game.id()))
                self.response.headers.add_header("Set-Cookie", "game_id=%s; Path=/" % str(game_id))

            else:  # continue if in the middle of a game
                game = BlackjackGames.get_by_id(int(game_id))

            self.render(
                "blackjack_newgame.html", username=user.username, chipcount=chips, message=message, maximum=maximum
            )

        # if can't validate user, render casino_front_out to prompt for signup/login
        else:
            user = None
            self.render("casino_front_out.html")
Example #2
0
 def get(self):
     # validate user to allow game to begin
     user_id = validate(self.request.cookies.get('user_id'))
     
     if user_id:
         user = Users.get_by_id(int(user_id))
         
         # validate game_id to check for in progress, valid game state for user          
         game_id = validate(self.request.cookies.get('game_id'))
         
         # get chips and deck from memcache if possible else from db
         chips = memcache.get('%s_chips' % user_id)
         deck = memcache.get('%s_deck' % user_id)
         #print deck
         if not deck: deck = ['']
         if not chips: chips = user.chips  
                   
         if not game_id: # create game if user does not already have one in progress
             game = BlackjackGames(gameuser = user.username,
                                   gameuserid = int(user_id),
                                   playerhand = [''],
                                   playerhand2 = [''],
                                   playerhand3 = [''],
                                   playerhand4 = [''],
                                   dealerhand = [''],
                                   deck = [''],
                                   playerbet = 0,
                                   playerbet2 = 0,
                                   playerbet3 = 0,
                                   playerbet4 = 0,
                                   handcount = 1)
             game = game.put()
             game_id = make_secure_val(str(game.id()))
             self.response.headers.add_header('Set-Cookie', 'game_id=%s; Path=/' % str(game_id))
             
         else:   # continue if in the middle of a game
             game = BlackjackGames.get_by_id(int(game_id))
         
         message = 'Shuffling the deck!' if len(deck) < 20 else ''
         if chips < 5:
             chips = 500
             user.chips = 500
             user.chipresets += 1
             user.put()
             memcache.set('%s_chips' % user_id, chips, time=3600)
             message += '\nYou ran out of chips! Chips reset to 500!'
             
         self.render('blackjack_newgame.html', username = user.username, chipcount = chips, message = message)
     
     # if can't validate user, render casino_front_out to prompt for signup/login
     else:
         user = None
         self.render('casino_front_out.html')