Пример #1
0
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))
Пример #2
0
    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)