diff --git a/src/pyjack/dealer.py b/src/pyjack/dealer.py new file mode 100644 index 0000000..e075313 --- /dev/null +++ b/src/pyjack/dealer.py @@ -0,0 +1,15 @@ +from pyjack.deck import Deck +from pyjack.player import Player + + +class Dealer(Player): + """The Dealer inherits all player functionality but has a specific, + automated turn behavior.""" + + def __init__(self, chips: int) -> None: + super().__init__(chips) + + def play(self, deck: Deck) -> None: + """Called only after the human player has finished their turn.""" + while self.hand.value < 17: + self.hit(deck) diff --git a/src/pyjack/player.py b/src/pyjack/player.py new file mode 100644 index 0000000..15ab853 --- /dev/null +++ b/src/pyjack/player.py @@ -0,0 +1,21 @@ +from pyjack.hand import Hand +from pyjack.deck import Deck + + +class Player: + """Sets up the player's name, starting chips, and a new Hand object.""" + + def __init__(self, chips: int) -> None: + self.hand = Hand() + self.chips = chips + + def hit(self, deck: Deck): + """Draws Card: Retrieves a card from the Deck and passes it to + the internal hand.""" + + self.hand.add_card(deck.deal_card()) + + def stand(self) -> None: + """Sets an internal state, signaling the end of the players + draw phase.""" + return