示例#1
0
    def _setup_game(initial_bets=[], force_hands=None, initial_balance=1000):
        gs = BjGameState()

        for i in range(len(initial_bets)):
            gs = gs.update(BjPlayerUpdate(BjPlayerActions.JOIN, bet_amt=1000))

        for i, p in enumerate(gs.players):
            gs = gs.update(
                BjPlayerUpdate(BjPlayerActions.BET,
                               player_id=p.id,
                               hand_idx=0,
                               bet_amt=initial_bets[i]))

        if force_hands is not None:
            gs.dealer.hands[0].cards = [Card(c) for c in force_hands.pop()]
            for i, cards in enumerate(force_hands):
                gs.players[i].hands[0].cards = [Card(c) for c in cards]

        return gs
示例#2
0
    def test_hand_score(self):
        self.assertEqual(21, BjHand([Card(k) for k in ('Jh', 'Ad')]).score())
        self.assertEqual(13,
                         BjHand([Card(k) for k in ('Jh', 'Ad', '2s')]).score())
        self.assertEqual(12,
                         BjHand([Card(k) for k in ('Jh', 'Ad', 'As')]).score())
        self.assertEqual(12, BjHand([Card(k) for k in ('Ad', 'As')]).score())
        self.assertEqual(20, BjHand([Card(k) for k in ('Kd', 'Qs')]).score())

        self.assertEqual(
            True,
            BjHand([Card(k) for k in ('Jh', 'Ad')]).is_blackjack())
        self.assertEqual(
            False,
            BjHand([Card(k) for k in ('Kd', 'Qs')]).is_blackjack())
示例#3
0
 def setUp(self):
     self.card = Card(1, "As")
示例#4
0
class cardTest(unittest.TestCase):
    def setUp(self):
        self.card = Card(1, "As")

    def testhide(self):
        self.assertEqual(self.card.__repr__(), "{'name': 'As', 'value': 1, 'description': None}")
        self.card.hide(True)
        self.assertEqual(self.card.__repr__(), "A Card")
        self.card.hide(False)
        self.assertEqual(self.card.__repr__(), "{'name': 'As', 'value': 1, 'description': None}")

    def testshow(self):
        self.assertEqual(self.card.get(), "{'name': 'As', 'value': 1, 'description': None}")
        self.card.hide(True)
        self.assertEqual(self.card.get(), "{'name': 'As', 'value': 1, 'description': None}")
        self.card.hide(False)
示例#5
0
 def __init__(self, num_decks=1):
     self.cards = [Card(f + s) for f in Card.CARD_FACES for s in Card.CARD_SUITS] * num_decks
     random.shuffle(self.cards)