Fixed passing 'players' list to other classes

This commit is contained in:
Evelyne 2023-04-25 14:10:18 +01:00
parent c467e7b98c
commit b0882de943

View File

@ -23,7 +23,7 @@ class Player:
# Then the dealer can take his cards # Then the dealer can take his cards
self.done = False self.done = False
def show_cards(self, players): def show_cards(self):
print(f"{self.name}'s cards:") print(f"{self.name}'s cards:")
for card in self.cards: for card in self.cards:
print(f"> {card.value} of {card.suit}") print(f"> {card.value} of {card.suit}")
@ -46,16 +46,15 @@ class Dealer(Player):
super().__init__(self) super().__init__(self)
self.name = "dealer" self.name = "dealer"
def show_cards(self, players): def show_cards(self, game):
print(f"{self.name}'s cards:") print(f"{self.name}'s cards:")
for player in players[1:]: if not game.players_are_done():
if player.done is False: print(f"> {self.cards[0].value} of {self.cards[0].suit}")
print(f"> {self.cards[0].value} of {self.cards[0].suit}") for card in self.cards[1:]:
for card in self.cards[1:]: print(f"> HIDDEN")
print(f"> HIDDEN") print(f"Total: UNKNOWN")
print(f"Total: UNKNOWN") print()
print() return
return
for card in self.cards: for card in self.cards:
print(f"> {card.value} of {card.suit}") print(f"> {card.value} of {card.suit}")
print(f"Total: {super().total(self)}") print(f"Total: {super().total(self)}")
@ -72,14 +71,23 @@ class Game:
def main_loop(self): def main_loop(self):
system("cls" if os_name == "nt" else "clear") system("cls" if os_name == "nt" else "clear")
for player in self.players: self.overview()
player.show_cards(self.players)
def deal_cards(self): def deal_cards(self):
for player in self.players: for player in self.players:
for _ in range(2): for _ in range(2):
player.cards.append(Card()) player.cards.append(Card())
def overview(self):
self.players[0].show_cards(self)
for player in self.players[1:]:
player.show_cards()
def players_are_done(self):
for player in self.players[1:]:
if not player.done:
return False
return True
if __name__ == "__main__": if __name__ == "__main__":
@ -87,7 +95,6 @@ if __name__ == "__main__":
game.main_loop() game.main_loop()
# TODO: # TODO:
# - Fix the dealer being passed the players attribute
# - Win checking # - Win checking
# - Player choice (hit, stand) # - Player choice (hit, stand)
# - Dealers turn # - Dealers turn