コード例 #1
0
ファイル: Dealer.py プロジェクト: Zdussaq/Blackjack
    def end_hand(self):
        if len(self.cards) == 0:
            return
        self.hand_hidden = False
        message = ""

        #case for player bust:
        if Rulebook.check_bust(
                Rulebook.check_hand_value(self.player.get_cards())):
            message = "Player busts! Dealer wins."
        #case for dealer bust:
        elif Rulebook.check_bust(Rulebook.check_hand_value(self.cards)):
            message = "Dealer busts! Player wins."
        #case for player beating dealer:
        elif Rulebook.check_player_win(
                Rulebook.check_hand_value(self.cards),
                Rulebook.check_hand_value(self.player.get_cards())):
            message = "Player wins!"
        #case for dealer beating player:
        elif Rulebook.check_dealer_win(
                Rulebook.check_hand_value(self.cards),
                Rulebook.check_hand_value(self.player.get_cards())):
            message = "Dealer wins!"
        #case for tie
        else:
            message = "Tie!"

        self.update_view(message)

        #Reset cards
        self.cards = []
        self.player.collect_cards()
コード例 #2
0
ファイル: Dealer.py プロジェクト: Zdussaq/Blackjack
 def make_dealer_move(self):
     if len(self.cards) == 0:
         return
     if Rulebook.check_dealer_hit(Rulebook.check_hand_value(self.cards)):
         self.cards.append(self.deck.draw_card())
         if Rulebook.check_bust(Rulebook.check_hand_value(self.cards)):
             self.end_hand()
             return
         self.update_view()
         self.make_dealer_move()
コード例 #3
0
ファイル: Dealer.py プロジェクト: Zdussaq/Blackjack
 def get_player_move(self):
     print("Hit? [Y/N]")
     option = input()
     if option.upper() == "Y":
         self.player.add_card(self.deck.draw_card())
         if not Rulebook.check_bust(
                 Rulebook.check_hand_value(self.player.get_cards())):
             self.update_view()
             self.get_player_move()
         else:
             self.end_hand()
コード例 #4
0
ファイル: test_rulebook.py プロジェクト: Zdussaq/Blackjack
 def test_check_bust_true(self):
     score = "22"
     self.assertTrue(Rulebook.check_bust(score))
コード例 #5
0
ファイル: test_rulebook.py プロジェクト: Zdussaq/Blackjack
 def test_check_bust_false(self):
     score = "20"
     self.assertFalse(Rulebook.check_bust(score))
コード例 #6
0
ファイル: test_rulebook.py プロジェクト: Zdussaq/Blackjack
 def test_check_bust_ace_true(self):
     score = "25 or 35"
     self.assertTrue(Rulebook.check_bust(score))
コード例 #7
0
ファイル: test_rulebook.py プロジェクト: Zdussaq/Blackjack
 def test_check_bust_ace_false(self):
     score = "15 or 25"
     self.assertFalse(Rulebook.check_bust(score))
コード例 #8
0
ファイル: test_rulebook.py プロジェクト: Zdussaq/Blackjack
 def test_check_bust_zero(self):
     score = "0"
     self.assertFalse(Rulebook.check_bust(score))