def main(): if sys.version_info[0] < 3: print('bridgebot only works with python 3') return 1 deck = Deck() deck.shuffle() # Todo add in bid getting contract = Contracts.FIVE_CLUBS # get_input_enum(Contracts, "contract") doubled = Doubles.DOUBLE # get_input_enum(Doubles, "doubled status") declarer = Players.EAST # get_input_enum(Players, "declarer") vulnerability = Vulnerabilities.BOTH # get_input_enum(Vulnerabilities, "vulnerability") vulnerability = vulnerability.is_declarer_vulnerable(declarer) # Todo, link in bid history bid_history = None users = { Players.NORTH: RandomBotUser(), Players.SOUTH: RandomBotUser(), Players.WEST: RandomBotUser(), Players.EAST: RandomBotUser() } for i in range(0, NUMBER_OF_PLAYTHROUGHS): deal = deck.deal() trick_winners = cardplay.play(users, deal, contract, declarer, bid_history) score = get_score_from_result(contract, doubled, trick_winners, vulnerability) print("The declarer " + declarer.name + " has a score of " + str(score))
def test_shuffles_cards_in_random_order(self, mock_shuffle): deck = Deck() cards = [ Card(rank="Ace", suit="Spades"), Card(rank="8", suit="Diamonds") ] deck.add_cards(cards) deck.shuffle() mock_shuffle.assert_called_once_with(cards)