Untitled
unknown
python
3 years ago
2.4 kB
5
Indexable
import random from blackjack_logo import logo def deal_card(): cards = [11, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10] return random.choice(cards) def calculate_score(cards): if sum(cards) == 21 and len(cards) == 2: return 0 if 11 in cards and sum(cards) > 21: cards.remove(11) cards.append(1) return sum(cards) def compare(user_score, computer_score): if user_score > 21 and computer_score > 21: return "You went over, you lose!" if user_score == computer_score: return "It's a draw!" elif computer_score == 0: print("You lose! You oponent has Blackjack.") elif user_score == 0: print("You win with a Blackjack!") elif user_score > 21: print("You lose, you went over!") elif computer_score > 21: print("You win! Your oponent went over.") elif user_score > computer_score: print("You win!") else: print("You lose :(") def play_game(): print(logo) user_cards = [] computer_cards = [] is_game_over = False for _ in range(2): user_cards.append(deal_card()) computer_cards.append(deal_card()) while not is_game_over: user_score = calculate_score(user_cards) computer_score = calculate_score(computer_cards) print(f" Your cards: {user_cards}, your score is: {user_score}") print(f" Computer's first card is {computer_cards[0]}") if user_score == 0 or computer_score == 0 or user_score > 21: is_game_over = True else: user_should_deal = input("Type 'y' to get another card, type 'n' to pass: ") if user_should_deal == 'y': user_cards.append(deal_card()) else: is_game_over = True user_score = calculate_score(user_cards) computer_score = calculate_score(computer_cards) while computer_score != 0 and computer_score < 17: computer_cards.append(deal_card()) computer_score = calculate_score(computer_cards) print(f" Your final hand: {user_cards}, your final score: {user_score}\t") print(f" Computer's final hand: {computer_cards}, computer's final score: {computer_score}\t") print(compare(user_score, computer_score)) while input("Do you want to play a game of Blackjack? Type 'y' or 'n': ") == 'y': play_game()
Editor is loading...