예제 #1
0
파일: blackjack.py 프로젝트: heks/mp2
  def get(self,game_id=None):
    user = users.get_current_user()
    template = jinja_environment.get_template('game.html')
    if not game_id:
      self.response.write("You need to have a game_id")
      return

    try:
      game = Game.get_by_id(int(game_id))
      if not game:
        raise Exception("No table retrieved")

    except Exception as e:
      self.response.write("invalid table_id specified")
      return 

   # player = Player.query(ndb.AND(Player.game_id == int(game_id),Player.player_id == user.user_id()))
#    player = ndb.gql('SELECT * From Player')

    for player in game.players:
      if player.player_id == user.user_id():
        result = player


    values = {
      'game' : game,
      'curr_player' : result,
      'user_id' : user.user_id(),
    }

    self.response.out.write(
      template.render(values)
    )
예제 #2
0
파일: blackjack.py 프로젝트: heks/mp2
  def get(self,game_id=None):
    user = users.get_current_user()

    template = jinja_environment.get_template('player.html')

    game = Game.get_by_id(int(game_id))
    values = {
        'game' : game
    }

    for player in game.players:
      if player.player_id == user.user_id():
        self.redirect_to('table',game_id=game_id)

    self.response.out.write(
        template.render(values)
    )
예제 #3
0
파일: blackjack.py 프로젝트: heks/mp2
  def get(self,game_id=None):
    game = Game.get_by_id(int(game_id))
    user = users.get_current_user()
    player_array = []
    for player in game.players:
      if player.player_id == user.user_id():
        result = player
      else:
        player_array.append(player.player_id)
    if len(player_array) == 0:
      player_array.append(user.user_id())


    game.current_turn = random.choice(player_array)
    result.cards_visible = GameUpdater(game).deal_cards()
    game.common_cards_visible = []    
    GameUpdater(game).init_deck()
    result.put()
    game.put()
    self.redirect_to('table',game_id=game_id)
예제 #4
0
파일: blackjack.py 프로젝트: heks/mp2
  def post(self,game_id=None):
    user = users.get_current_user()
    game = Game.get_by_id(int(game_id))
    ## need to make a check to see if game exceeds max players
    game.players_current = game.players_current + 1
    player = Player(
            game_id = int(game_id),
            player_id = user.user_id(),
            name = self.request.get('player_name'),
            tokens = 1000,
            cards_not_visible = game.deck,
            )
    if not game.current_turn:
      game.current_turn = user.user_id()
      player.cards_visible = GameUpdater(game).deal_cards()

    player.put()
    game.players.append(player)

    game.put()
    self.redirect_to('table',game_id=game_id)
예제 #5
0
파일: blackjack.py 프로젝트: heks/mp2
  def post(self,game_id=None):
    # Query the data store and get the approriate playerid
    # Set that queried data store object and set the appropriate action
    # Based on that action do the appropriate thing
    # Play
    # Draw
    # Fold 
    template = jinja_environment.get_template('action.html')
    game = Game.get_by_id(int(game_id))
    action = self.request.get('Action')
    user = users.get_current_user()
    bet = int(self.request.get('bet_field'))
    for player in game.players:
      if player.player_id == user.user_id():
        result = player

    if action == 'Play':
      value = GameUpdater(game).play(result,bet)
    elif action == 'Draw':
      value = GameUpdater(game).draw(result)
      if value == 'Cards' :
        self.redirect_to('table',game_id=game_id)
        return
    elif action == 'Fold':
        self.redirect_to('clear',game_id=game_id)
        return

    values = {
      'player' : result,
      'game' : game,
      'value' : value 
    }

    self.response.out.write(
        template.render(values)
    )