def get_player_action(game, player): g = json.loads(cache.get(game)) if g['state'] == 'SCORE': next_action = 'SCORE' else: if g['pegging']['total'] == 31: return 'PLAY' card_values = [ g['cards'][card]['value'] for card in g['hands'][player] ] next_action = play_or_pass(card_values, g['pegging']['total']) cache.set(game, json.dumps(g)) return next_action
def test_must_play_when_multiple_cards(self): cards = ['4', '6', '9'] # four of hearts, six of clubs, nine of diamonds assert play_or_pass(cards, 27) == 'PLAY'
def test_all_cards_can_play_when_total_is_twentyone(self): for id, card in CARDS.items(): assert play_or_pass([card['value']], 21) == 'PLAY'
def test_play_or_pass_base_case(self): cards = ['1'] # ace of diamonds assert play_or_pass(cards, 30) == 'PLAY' cards = ['2'] # two of diamonds assert play_or_pass(cards, 30) == 'PASS'